<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Oct 4, 2015 at 6:50 AM, Peter Fairbrother <span dir="ltr"><<a href="mailto:peter@m-o-o-t.org" target="_blank">peter@m-o-o-t.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On 03/10/15 00:15, Bill Cox wrote:<br>
[...]<span class=""><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
It turns out that anyone can trivially create "addition laws" to create<br>
new ways to add "group elements" together, forming an "Abelian group ".<br>
   Here's how:<br>
<br>
1) Pick _any_ one-to-one function, so that an inverse exists, even if it<br>
is hard to compute, Call this function F, and it's inverse Finv.<br>
2) Write out the function G(a, b) = Finv(F(a) + F(b)).  This is the<br>
"group addition law" that shows how to add elements of the group.<br>
</blockquote>
<br>
<br></span>
There is a bit more to it<br></blockquote><div><br></div><div>I left out some details, trying not to overwhelm the reader.  Yes, you need F(a) + F(b) to be in the range of F.  The identity element is simply Finv(0), so 0 has to be in the domain as well.  Given that, it's a group addition law.</div><div><br></div><div>By the way, I also just showed that the Y coordinate in the Edward's addition law is simply cn/dn from the ancient addition law.  This means I can simplify the ancient law as follows:<br></div><div><br></div><div>s3 = (s1(c2/d2) + s2)/(1 + ds1(c1/s1)s2(c2/d2)</div><div>c3/d3 = ((c1/d1)(c2/d2) - s1s2)/(1 - ds1(c1/d1)s2(c2/d2))</div><div><br></div><div>Bill<br></div></div></div></div>