:: Operations of Points on Elliptic Curve in Projective Coordinates
:: by Yuichi Futa , Hiroyuki Okazaki , Daichi Mizushima and Yasunari Shidama
::
:: Received November 3, 2011
:: Copyright (c) 2011-2026 Association of Mizar Users
:: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.
environ
vocabularies NUMBERS, CARD_1, FUNCT_1, RELAT_1, XBOOLE_0, ARYTM_3, NEWTON,
MCART_1, SUBSET_1, ARYTM_1, XXREAL_0, INT_2, NAT_1, ZFMISC_1, SUPINF_2,
MESFUNC1, INT_1, VECTSP_1, STRUCT_0, EC_PF_1, EC_PF_2, RECDEF_2, REAL_1,
RLVECT_1, ALGSTR_0, LATTICES, GROUP_1, BINOP_1, FUNCSDOM, VECTSP_2;
notations XBOOLE_0, ZFMISC_1, XTUPLE_0, SUBSET_1, FUNCT_1, ORDINAL1, MCART_1,
FUNCT_2, BINOP_1, DOMAIN_1, NUMBERS,
XREAL_0, XCMPLX_0, XXREAL_0, NAT_1, INT_1,
INT_2, STRUCT_0, ALGSTR_0, RLVECT_1, GROUP_1, VECTSP_1, VECTSP_2,
BINOM, EC_PF_1;
constructors NAT_D, PEPIN, EUCLID, REALSET1, RELSET_1, BINOM, EC_PF_1,
BINOP_2, DOMAIN_1, BINOP_1;
registrations STRUCT_0, XREAL_0, ORDINAL1, INT_1, RELAT_1, VECTSP_1, INT_3,
SUBSET_1, XTUPLE_0, MCART_1;
requirements REAL, NUMERALS, SUBSET, BOOLE, ARITHM;
equalities ALGSTR_0, BINOM;
theorems TARSKI, XBOOLE_0, FUNCT_2, VECTSP_1, RLVECT_1, NAT_1, INT_2, PEPIN,
GROUP_1, XXREAL_0, BINOP_1, ALGSTR_1, MCART_1, VECTSP_2, EC_PF_1, NAT_D,
BINOM, XTUPLE_0, INT_1;
schemes FUNCT_2, BINOP_1;
begin :: 1.Arithmetic in $\bf{GF}(p)$
reserve x for set;
reserve i,j for Integer;
reserve n,n1,n2,n3 for Nat;
reserve p for Prime;
reserve a,b,c,d for Element of GF(p);
reserve K for Ring;
reserve a1,a2,a3,a4,a5,a6 for Element of K;
theorem Th1:
for F being add-associative right_zeroed right_complementable
distributive unital non empty doubleLoopStr
for a being Element of F holds
a|^2 = (-a)|^2
proof
let F be add-associative right_zeroed right_complementable
distributive unital non empty doubleLoopStr;
let a be Element of F;
set a2 = -a;
thus a|^2 = a*a by GROUP_1:51
.= a2*a2 by VECTSP_1:10
.= a2|^2 by GROUP_1:51;
end;
theorem
for K being associative commutative well-unital almost_left_invertible
non degenerated doubleLoopStr holds
(1.K)" = 1.K
proof
let K be associative commutative well-unital almost_left_invertible
non degenerated doubleLoopStr;
1.K <> 0.K;
then (1.K)" * (1.K) = 1.K by VECTSP_1:def 10;
hence thesis;
end;
theorem Th3:
for K being Field, a1,a2,a3,a4 being Element of K holds
a2 <> 0.K & a4 <> 0.K & a1*a2" = a3*a4" implies a1*a4 = a2*a3
proof
let K be Field, a1,a2,a3,a4 be Element of K;
assume A1: a2 <> 0.K & a4 <> 0.K;
assume A2: a1*a2" = a3*a4";
a1*(a2"*a2) = a3*a4"*a2 by A2,GROUP_1:def 3;
then a1*(1.K) = a3*a4"*a2 by A1,VECTSP_1:def 10;
then a1 = a3*a2*a4" by GROUP_1:def 3;
then a1*a4 = a3*a2*(a4"*a4) by GROUP_1:def 3
.= a3*a2*(1.K) by A1,VECTSP_1:def 10
.= a3*a2;
hence thesis;
end;
theorem Th4:
for K being Field, a1,a2,a3,a4 being Element of K holds
a2 <> 0.K & a4 <> 0.K & a1*a4 = a2*a3 implies a1*a2" = a3*a4"
proof
let K be Field, a1,a2,a3,a4 be Element of K;
assume A1: a2 <> 0.K & a4 <> 0.K;
assume A2: a1*a4 = a2*a3;
a2*a3*a4" = a1*(a4"*a4) by A2,GROUP_1:def 3
.= a1*(1.K) by A1,VECTSP_1:def 10
.= a1;
then a1 = (a3*a4")*a2 by GROUP_1:def 3;
then a1*a2" = (a3*a4")*(a2"*a2) by GROUP_1:def 3
.= (a3*a4")*(1.K) by A1,VECTSP_1:def 10
.= a3*a4";
hence thesis;
end;
theorem Th5:
n >= 1 implies (0.K) |^ n = 0.K
proof
set a1 = 0.K;
assume A2: n >= 1;
n - 1 in NAT by A2,INT_1:5;
then consider n1 be Nat such that
A3: n1 = n - 1;
a1 |^n = a1 |^(n1+1) by A3
.= a1|^n1 * a1 by EC_PF_1:24;
hence a1 |^n = 0.K;
end;
theorem
for K being add-associative right_zeroed right_complementable
Abelian non empty addLoopStr, a1,a2 being Element of K holds
a1 = -a2 implies -a1 = a2
proof
let K be add-associative right_zeroed right_complementable Abelian
non empty addLoopStr, a1,a2 be Element of K;
assume a1 = -a2;
then a1 + a2 = 0.K by VECTSP_1:16;
hence thesis by VECTSP_1:16;
end;
theorem Th7:
for K being Abelian AddGroup, a1,a2,a3,a4 being Element of K holds
a1 + a2 + a3 + a4 = a4 + a2 + a3 + a1 &
a1 + a2 + a3 + a4 = a1 + a4 + a3 + a2
proof
let K be Abelian AddGroup, a1,a2,a3,a4 be Element of K;
thus a1 + a2 + a3 + a4 = (a2 + a3) + a1 + a4 by ALGSTR_1:7
.= a4 + (a2 + a3) + a1 by ALGSTR_1:8
.= a4 + a2 + a3 + a1 by ALGSTR_1:7;
thus a1 + a2 + a3 + a4 = a1 + a3 + a2 + a4 by ALGSTR_1:8
.= a1 + a3 + a4 + a2 by ALGSTR_1:8
.= a1 + a4 + a3 + a2 by ALGSTR_1:8;
end;
theorem Th8:
for K being Abelian AddGroup, a1,a2,a3,a4,a5 being Element of K holds
a1 + a2 + a3 + a4 = a1 + (a2 + a3 + a4) &
a1 + a2 + a3 + a4 + a5 = a1 + (a2 + a3 + a4 + a5)
proof
let K be Abelian AddGroup, a1,a2,a3,a4,a5 be Element of K;
thus a1 + a2 + a3 + a4 = a1 + a2 + (a3 + a4) by ALGSTR_1:7
.= a1 + (a2 + (a3 + a4)) by ALGSTR_1:7
.= a1 + (a2 + a3 + a4) by ALGSTR_1:7;
thus a1 + a2 + a3 + a4 + a5 = a1 + a2 + a3 + (a4 + a5) by ALGSTR_1:7
.= a1 + a2 + (a3 + (a4 + a5)) by ALGSTR_1:7
.= a1 + (a2 + (a3 + (a4 + a5))) by ALGSTR_1:7
.= a1 + (a2 + a3 + (a4 + a5)) by ALGSTR_1:7
.= a1 + (a2 + a3 + a4 + a5) by ALGSTR_1:7;
end;
theorem
for K being Abelian AddGroup, a1,a2,a3,a4,a5,a6 being Element of K holds
a1 + a2 + a3 + a4 + a5 + a6 = a1 + (a2 + a3 + a4 + a5 + a6)
proof
let K be Abelian AddGroup, a1,a2,a3,a4,a5,a6 be Element of K;
thus
a1 + a2 + a3 + a4 + a5 + a6 = a1 + a2 + a3 + a4 + (a5 + a6)
by ALGSTR_1:7
.= a1 + (a2 + a3 + a4 + (a5 + a6)) by Th8
.= a1 + (a2 + a3 + a4 + a5 + a6) by ALGSTR_1:7;
end;
theorem Th10:
for K being comRing, a1,a2,a3,a4 being Element of K holds
a1 * a2 * a3 * a4 = a4 * a2 * a3 * a1 &
a1 * a2 * a3 * a4 = a1 * a4 * a3 * a2
proof
let K be comRing, a1,a2,a3,a4 be Element of K;
thus a1 * a2 * a3 * a4 = (a2 * a3) * a1 * a4 by GROUP_1:def 3
.= a4 * (a2 * a3) * a1 by GROUP_1:def 3
.= a4 * a2 * a3 * a1 by GROUP_1:def 3;
thus a1 * a2 * a3 * a4 = a1 * a3 * a2 * a4 by GROUP_1:def 3
.= a1 * a3 * a4 * a2 by GROUP_1:def 3
.= a1 * a4 * a3 * a2 by GROUP_1:def 3;
end;
theorem Th11:
a1 * a2 * a3 * a4 = a1 * (a2 * a3 * a4) &
a1 * a2 * a3 * a4 * a5 = a1 * (a2 * a3 * a4 * a5)
proof
thus a1 * a2 * a3 * a4 = a1 * a2 * (a3 * a4) by GROUP_1:def 3
.= a1 * (a2 * (a3 * a4)) by GROUP_1:def 3
.= a1 * (a2 * a3 * a4) by GROUP_1:def 3;
thus a1 * a2 * a3 * a4 * a5 = a1 * a2 * a3 * (a4 * a5) by GROUP_1:def 3
.= a1 * a2 * (a3 * (a4 * a5)) by GROUP_1:def 3
.= a1 * (a2 * (a3 * (a4 * a5))) by GROUP_1:def 3
.= a1 * (a2 * a3 * (a4 * a5)) by GROUP_1:def 3
.= a1 * (a2 * a3 * a4 * a5) by GROUP_1:def 3;
end;
theorem Th12:
a1 * a2 * a3 * a4 * a5 * a6 = a1 * (a2 * a3 * a4 * a5 * a6) &
a1 * a2 * a3 * a4 * a5 * a6 = a1 * (a2 * a3 * a4) * a5 * a6
proof
thus
A1: a1 * a2 * a3 * a4 * a5 * a6 = a1 * a2 * a3 * a4 * (a5 * a6)
by GROUP_1:def 3
.= a1 * (a2 * a3 * a4 * (a5 * a6)) by Th11
.= a1 * (a2 * a3 * a4 * a5 * a6) by GROUP_1:def 3;
thus a1 * a2 * a3 * a4 * a5 * a6 = a1 * ((a2 * a3 * a4) * (a5 * a6))
by A1,GROUP_1:def 3
.= a1 * (a2 * a3 * a4) * (a5 * a6) by GROUP_1:def 3
.= a1 * (a2 * a3 * a4) * a5 * a6 by GROUP_1:def 3;
end;
theorem Th13:
K is commutative implies
(a1*a2*a3) |^n = (a1 |^n)*(a2 |^n)*(a3 |^n)
proof
assume
A1: K is commutative;
hence (a1*a2*a3) |^n = ((a1*a2) |^n)*(a3 |^n) by BINOM:9
.= (a1 |^n)*(a2 |^n)*(a3 |^n) by A1,BINOM:9;
end;
theorem Th14:
a1*(a2+a3+a4) = a1*a2+a1*a3+a1*a4
& a1*(a2+a3-a4) = a1*a2+a1*a3-a1*a4
& a1*(a2-a3+a4) = a1*a2-a1*a3+a1*a4
& a1*(a2-a3-a4) = a1*a2-a1*a3-a1*a4
& a1*(-a2+a3+a4) = -a1*a2+a1*a3+a1*a4
& a1*(-a2+a3-a4) = -a1*a2+a1*a3-a1*a4
& a1*(-a2-a3+a4) = -a1*a2-a1*a3+a1*a4
& a1*(-a2-a3-a4) = -a1*a2-a1*a3-a1*a4
proof
thus a1*(a2+a3+a4) = a1*(a2+a3)+a1*a4 by VECTSP_1:def 7
.= a1*a2+a1*a3+a1*a4 by VECTSP_1:def 7;
thus a1*(a2+a3-a4) = a1*(a2+a3)+a1*(-a4) by VECTSP_1:def 7
.= a1*a2+a1*a3+a1*(-a4) by VECTSP_1:def 7
.= a1*a2+a1*a3-a1*a4 by VECTSP_1:8;
thus a1*(a2-a3+a4) = a1*(a2+(-a3))+a1*a4 by VECTSP_1:def 7
.= (a1*a2+a1*(-a3))+a1*a4 by VECTSP_1:def 7
.= a1*a2-a1*a3+a1*a4 by VECTSP_1:8;
thus a1*(a2-a3-a4) = a1*(a2+(-a3))+a1*(-a4) by VECTSP_1:def 7
.= (a1*a2+a1*(-a3))+a1*(-a4) by VECTSP_1:def 7
.= a1*a2-a1*a3+a1*(-a4) by VECTSP_1:8
.= a1*a2-a1*a3-a1*a4 by VECTSP_1:8;
thus a1*(-a2+a3+a4) = a1*(-a2+a3)+a1*a4 by VECTSP_1:def 7
.= (a1*(-a2)+a1*a3)+a1*a4 by VECTSP_1:def 7
.= -a1*a2+a1*a3+a1*a4 by VECTSP_1:8;
thus a1*(-a2+a3-a4) = a1*(-a2+a3)+a1*(-a4) by VECTSP_1:def 7
.= (a1*(-a2)+a1*a3)+a1*(-a4) by VECTSP_1:def 7
.= -a1*a2+a1*a3+a1*(-a4) by VECTSP_1:8
.= -a1*a2+a1*a3-a1*a4 by VECTSP_1:8;
thus a1*(-a2-a3+a4) = a1*(-a2+(-a3))+a1*a4 by VECTSP_1:def 7
.= (a1*(-a2)+a1*(-a3))+a1*a4 by VECTSP_1:def 7
.= -a1*a2+a1*(-a3)+a1*a4 by VECTSP_1:8
.= -a1*a2-a1*a3+a1*a4 by VECTSP_1:8;
thus a1*(-a2-a3-a4) = a1*(-a2+(-a3))+a1*(-a4) by VECTSP_1:def 7
.= (a1*(-a2)+a1*(-a3))+a1*(-a4) by VECTSP_1:def 7
.= -a1*a2+a1*(-a3)+a1*(-a4) by VECTSP_1:8
.= -a1*a2-a1*a3+a1*(-a4) by VECTSP_1:8
.= -a1*a2-a1*a3-a1*a4 by VECTSP_1:8;
end;
theorem Th15:
for K being comRing, a1,a2 being Element of K holds
(a1 + a2)*(a1 - a2) = a1 |^2 - a2 |^2
proof
let K be comRing, a1,a2 be Element of K;
thus (a1 + a2)*(a1 - a2) = a1*(a1-a2)+a2*(a1-a2) by VECTSP_1:def 7
.= a1*a1-a1*a2+a2*(a1-a2) by VECTSP_1:11
.= a1 |^2 -a1*a2+a2*(a1-a2) by GROUP_1:51
.= a1 |^2 -a1*a2+(a2*a1-a2*a2) by VECTSP_1:11
.= a1 |^2 -a1*a2+(a1*a2-a2 |^2) by GROUP_1:51
.= a1 |^2 + (-a1*a2 +(a1*a2-a2 |^2)) by ALGSTR_1:7
.= a1 |^2 + ((-a1*a2+a1*a2)-a2 |^2) by ALGSTR_1:7
.= a1 |^2 + (0.K-a2 |^2) by VECTSP_1:19
.= a1 |^2 - a2 |^2 by VECTSP_1:18;
end;
theorem
for K being comRing, a1,a2 being Element of K holds
(a1 + a2)*(a1 |^2 - a1*a2 + a2 |^2) = a1 |^3 + a2 |^3
proof
let K be comRing, a1,a2 be Element of K;
thus (a1 + a2)*(a1 |^2 - a1*a2 + a2 |^2)
= a1*((a1 |^2 -a1*a2)+a2 |^2)+a2*((a1 |^2 -a1*a2)+a2 |^2) by VECTSP_1:def 7
.= a1*(a1 |^2 -a1*a2)+a1*(a2 |^2)+a2*((a1 |^2 -a1*a2)+a2 |^2) by
VECTSP_1:def 7
.= a1*(a1 |^2)-a1*(a1*a2)+a1*(a2 |^2)+a2*((a1 |^2 -a1*a2)+a2 |^2)
by VECTSP_1:11
.= (a1 |^2)*a1-(a1*a1)*a2+a1*(a2 |^2)+a2*((a1 |^2 -a1*a2)+a2 |^2)
by GROUP_1:def 3
.= (a1 |^2)*a1-(a1*a1)*a2+a1*(a2 |^2)+(a2*(a1 |^2 -a1*a2)+a2*(a2 |^2))
by VECTSP_1:def 7
.= (a1 |^(2+1))-(a1*a1)*a2+a1*(a2 |^2)+(a2*(a1 |^2 -a1*a2)+(a2 |^2)*a2)
by EC_PF_1:24
.= (a1 |^3)-(a1*a1)*a2+a1*(a2 |^2)+(a2*(a1 |^2)-a2*(a1*a2)+(a2 |^2)*a2)
by VECTSP_1:11
.= (a1 |^3)-(a1 |^2)*a2+a1*(a2 |^2)+(a2*(a1 |^2)-a2*(a1*a2)+(a2 |^2)*a2)
by GROUP_1:51
.= (a1 |^3)-(a1 |^2)*a2+a1*(a2 |^2)+((a1 |^2)*a2-(a1*a2)*a2+(a2 |^(2+1)))
by EC_PF_1:24
.= ((a1 |^3)-(a1 |^2)*a2+a1*(a2 |^2))+(((a1 |^2)*a2-a1*(a2*a2))+(a2 |^3))
by GROUP_1:def 3
.= ((a1 |^3)+(-(a1 |^2)*a2+a1*(a2 |^2)))+(((a1 |^2)*a2-a1*(a2*a2))
+(a2 |^3)) by ALGSTR_1:7
.= ((a1 |^3)+(-(a1 |^2)*a2+a1*(a2 |^2)))+(((a1 |^2)*a2-a1*(a2 |^2))
+(a2 |^3)) by GROUP_1:51
.= (((a1 |^3)+(a1*(a2 |^2)-(a1 |^2)*a2))+((a1 |^2)*a2-a1*(a2 |^2)))
+(a2 |^3) by ALGSTR_1:8
.= ((a1 |^3)+((a1*(a2 |^2)-(a1 |^2)*a2)+((a1 |^2)*a2-a1*(a2 |^2))))
+(a2 |^3) by ALGSTR_1:7
.= ((a1 |^3)+(((a1*(a2 |^2)-(a1 |^2)*a2)+(a1 |^2)*a2)-a1*(a2 |^2)))
+(a2 |^3) by ALGSTR_1:7
.= ((a1 |^3)+((a1*(a2 |^2)+(-(a1 |^2)*a2+(a1 |^2)*a2))-a1*(a2 |^2)))
+(a2 |^3) by ALGSTR_1:7
.= ((a1 |^3)+((a1*(a2 |^2)+0.K)-a1*(a2 |^2)))+(a2 |^3) by VECTSP_1:19
.= ((a1 |^3)+0.K)+(a2 |^3) by VECTSP_1:19,ALGSTR_1:7
.= (a1 |^3)+(a2 |^3) by ALGSTR_1:7;
end;
theorem Th17:
for K being comRing, a1,a2 being Element of K holds
(a1 - a2)*(a1 |^2 + a1*a2 + a2 |^2) = a1 |^3 - a2 |^3
proof
let K be comRing, a1,a2 be Element of K;
thus (a1 - a2)*(a1 |^2 + a1*a2 + a2 |^2)
= a1*(a1 |^2 +a1*a2+a2 |^2)-a2*(a1 |^2 +a1*a2+a2 |^2) by VECTSP_1:13
.= a1*(a1 |^2 +a1*a2)+a1*(a2 |^2)-a2*((a1 |^2 +a1*a2)+a2 |^2)
by VECTSP_1:def 7
.= a1*(a1 |^2)+a1*(a1*a2)+a1*(a2 |^2)-a2*((a1 |^2 +a1*a2)+a2 |^2)
by VECTSP_1:def 7
.= (a1 |^2)*a1+(a1*a1)*a2+a1*(a2 |^2)-a2*((a1 |^2 +a1*a2)+a2 |^2)
by GROUP_1:def 3
.= (a1 |^2)*a1+(a1*a1)*a2+a1*(a2 |^2)-(a2*(a1 |^2 +a1*a2)+a2*(a2 |^2))
by VECTSP_1:def 7
.= (a1 |^(2+1))+(a1*a1)*a2+a1*(a2 |^2)-(a2*(a1 |^2 +a1*a2)+(a2 |^2)*a2)
by EC_PF_1:24
.= (a1 |^3)+(a1*a1)*a2+a1*(a2 |^2)-(a2*(a1 |^2)+a2*(a1*a2)+(a2 |^2)*a2)
by VECTSP_1:def 7
.= (a1 |^3)+(a1 |^2)*a2+a1*(a2 |^2)-(a2*(a1 |^2)+a2*(a1*a2)+(a2 |^2)*a2)
by GROUP_1:51
.= (a1 |^3)+(a1 |^2)*a2+a1*(a2 |^2)-((a2*(a1 |^2)+a2*(a1*a2))+(a2 |^(2+1)))
by EC_PF_1:24
.= ((a1 |^3)+(a1 |^2)*a2+a1*(a2 |^2))-(a2*(a1 |^2)+a2*(a1*a2))-(a2 |^3)
by VECTSP_1:17
.= ((a1 |^3)+((a1 |^2)*a2+a1*(a2 |^2)))-(a2*(a1 |^2)+a2*(a1*a2))-(a2 |^3)
by ALGSTR_1:7
.= ((a1 |^3)+(((a1 |^2)*a2+a1*(a2 |^2))-(a2*(a1 |^2)+a2*(a1*a2))))-(a2 |^3)
by ALGSTR_1:7
.= ((a1 |^3)+(((a1 |^2)*a2+a1*(a2 |^2))+(-a2*(a1*a2)-a2*(a1 |^2))))
-(a2 |^3) by VECTSP_1:17
.= ((a1 |^3)+(((a1 |^2)*a2+a1*(a2 |^2))+(-a1*(a2*a2)-(a1 |^2)*a2)))
-(a2 |^3) by GROUP_1:def 3
.= ((a1 |^3)+(((a1 |^2)*a2+a1*(a2 |^2))+(-a1*(a2 |^2)-(a1 |^2)*a2)))
-(a2 |^3) by GROUP_1:51
.= ((a1 |^3)+((((a1 |^2)*a2+a1*(a2 |^2))-a1*(a2 |^2))-(a1 |^2)*a2))
-(a2 |^3) by ALGSTR_1:7
.= ((a1 |^3)+(((a1 |^2)*a2+(a1*(a2 |^2)-a1*(a2 |^2)))-(a1 |^2)*a2))
-(a2 |^3) by ALGSTR_1:7
.= ((a1 |^3)+(((a1 |^2)*a2+0.K)-(a1 |^2)*a2))-(a2 |^3) by VECTSP_1:19
.= ((a1 |^3)+0.K)-(a2 |^3) by VECTSP_1:19,ALGSTR_1:7
.= (a1 |^3)-(a2 |^3) by ALGSTR_1:7;
end;
definition
let n, p be Real;
attr p is n_or_greater means :Def1:
n <= p;
end;
registration
cluster 5_or_greater prime for Nat;
existence
proof
take 5;
thus thesis by PEPIN:59;
end;
end;
theorem Th18:
for gi, gj, gij, a be Element of GF(p) st
gi = i mod p & gj = j mod p & gij = (i+j) mod p holds
gi*a + gj*a = gij*a
proof
let gi, gj, gij, a be Element of GF(p) such that
A1: gi = i mod p & gj = j mod p & gij = (i+j) mod p;
(gi + gj) * a = gij*a by A1,EC_PF_1:15;
hence thesis by VECTSP_1:def 7;
end;
theorem Th19:
for gi, gj, a be Element of GF(p) st
gi = i mod p & gj = j mod p & j = i + 1 holds
gi*a + a = gj*a
proof
let gi, gj, a be Element of GF(p) such that
A1: gi = i mod p & gj = j mod p & j = i + 1;
reconsider g1 = 1 mod p as Element of GF(p) by EC_PF_1:14;
p > 1 by INT_2:def 4;
then g1 = 1 by NAT_D:63
.= 1.GF(p) by EC_PF_1:12;
then gi*a + (1.GF(p))*a = gj*a by A1,Th18;
hence thesis;
end;
theorem Th20:
for g2, a be Element of GF(p) st g2 = 2 mod p holds a + a = g2 * a
proof
let g2, a be Element of GF(p) such that
A1: g2 = 2 mod p;
reconsider g1 = 1 mod p as Element of GF(p) by EC_PF_1:14;
A2: g2 = (1+1) mod p by A1;
p > 1 by INT_2:def 4;
then g1 = 1 by NAT_D:63
.= 1.GF(p) by EC_PF_1:12;
then (1.GF(p))*a + (1.GF(p))*a = g2*a by A2,Th18;
hence thesis;
end;
theorem Th21:
for gi, gj, gij, a be Element of GF(p) st
gi = i mod p & gj = j mod p & gij = (i-j) mod p holds
gi*a - gj*a = gij*a
proof
let gi, gj, gij, a be Element of GF(p) such that
A1: gi = i mod p & gj = j mod p & gij = (i-j) mod p;
gj + gij = (j+(i-j)) mod p by A1,EC_PF_1:15
.= gi by A1;
then gj*a + gij*a - gj*a = gi*a - gj*a by VECTSP_1:def 7;
then gij*a + (gj*a + (-gj*a)) = gi*a - gj*a by ALGSTR_1:7;
then gij*a + 0.GF(p) = gi*a - gj*a by VECTSP_1:19;
hence thesis by ALGSTR_1:7;
end;
theorem Th22:
for gi, gj, a be Element of GF(p) st
gi = i mod p & gj = j mod p & i = j + 1 holds
gi*a - gj*a = a
proof
let gi, gj, a be Element of GF(p) such that
A1: gi = i mod p & gj = j mod p & i = j + 1;
reconsider g1 = 1 mod p as Element of GF(p) by EC_PF_1:14;
A2: g1 = (i-j) mod p by A1;
p > 1 by INT_2:def 4;
then g1 = 1 by NAT_D:63
.= 1.GF(p) by EC_PF_1:12;
then gi*a - gj*a = (1.GF(p))*a by A1,A2,Th21;
hence thesis;
end;
theorem Th23:
for gi, gj, a be Element of GF(p) st
gi = i mod p & gj = j mod p & i = j + 1 holds
gi*a - a = gj*a
proof
let gi, gj, a be Element of GF(p) such that
A1: gi = i mod p & gj = j mod p & i = j + 1;
reconsider g1 = 1 mod p as Element of GF(p) by EC_PF_1:14;
A2: gj = (i-1) mod p by A1;
p > 1 by INT_2:def 4;
then g1 = 1 by NAT_D:63
.= 1.GF(p) by EC_PF_1:12;
then gi*a - (1.GF(p))*a = gj*a by A1,A2,Th21;
hence thesis;
end;
theorem Th24:
for g2, a be Element of GF(p) st g2 = 2 mod p holds g2*a - a = a
proof
let g2, a be Element of GF(p) such that
A1: g2 = 2 mod p;
reconsider g1 = 1 mod p as Element of GF(p) by EC_PF_1:14;
A2: g1 = (2-1) mod p;
p > 1 by INT_2:def 4;
then g1 = 1 by NAT_D:63
.= 1.GF(p) by EC_PF_1:12;
then g2*a - (1.GF(p))*a = (1.GF(p))*a by A1,A2,Th21;
hence thesis;
end;
theorem Th25:
for g2, a, b be Element of GF(p) st g2 = 2 mod p
holds (a + b) |^2 = a |^2 + g2*a*b + b |^2
proof
let g2, a, b be Element of GF(p) such that
A1: g2 = 2 mod p;
thus (a + b) |^2 = (a + b)*(a + b) by EC_PF_1:22
.= a*(a+b)+b*(a+b) by VECTSP_1:def 7
.= a*a+a*b+b*(a+b) by VECTSP_1:def 7
.= a |^2 + a*b + b*(a+b) by EC_PF_1:22
.= a |^2 + a*b + (b*a+b*b) by VECTSP_1:def 7
.= a |^2 + a*b + (a*b+b |^2) by EC_PF_1:22
.= a |^2 + (a*b+(a*b+b |^2)) by ALGSTR_1:7
.= a |^2 + ((a*b+a*b)+b |^2) by ALGSTR_1:7
.= a |^2 + (g2*(a*b)+b |^2) by A1,Th20
.= a |^2 + g2*(a*b) + b|^2 by ALGSTR_1:7
.= a |^2 + g2*a*b + b |^2 by GROUP_1:def 3;
end;
theorem Th26:
for g2, a, b be Element of GF(p) st g2 = 2 mod p
holds (a - b) |^2 = a |^2 - g2*a*b + b |^2
proof
let g2, a, b be Element of GF(p) such that
A1: g2 = 2 mod p;
thus (a - b) |^2 = (a - b)*(a - b) by EC_PF_1:22
.= a*(a-b)-b*(a-b) by VECTSP_1:13
.= a*a-a*b-b*(a-b) by VECTSP_1:11
.= a |^2 - a*b - b*(a-b) by EC_PF_1:22
.= a |^2 - a*b - (b*a-b*b) by VECTSP_1:11
.= a |^2 - a*b - (a*b-b |^2) by EC_PF_1:22
.= a |^2 + (-a*b-(a*b-b |^2)) by ALGSTR_1:7
.= a |^2 + (-a*b+(-a*b+b |^2)) by VECTSP_1:17
.= a |^2 + ((-a*b-a*b)+b |^2) by ALGSTR_1:7
.= a |^2 + (g2*(-a*b)+b |^2) by A1,Th20
.= a |^2 + g2*(-a*b) + b|^2 by ALGSTR_1:7
.= a |^2 - g2*(a*b) + b |^2 by VECTSP_1:8
.= a |^2 - g2*a*b + b |^2 by GROUP_1:def 3;
end;
theorem Th27:
for g2, a, b, c, d be Element of GF(p) st g2 = 2 mod p holds
(a*c+b*d) |^2 = (a |^2)*(c |^2) + g2*a*b*c*d + (b |^2)*(d |^2)
proof
let g2, a, b, c, d be Element of GF(p) such that
A1: g2 = 2 mod p;
thus (a*c+b*d) |^2 = ((a*c) |^2)+g2*(a*c)*(b*d)+((b*d) |^2) by A1,Th25
.= (a |^2)*(c |^2)+g2*(a*c)*(b*d)+((b*d) |^2) by BINOM:9
.= (a |^2)*(c |^2)+g2*(a*c)*(b*d)+(b |^2)*(d |^2) by BINOM:9
.= (a |^2)*(c |^2)+g2*((a*c)*(b*d))+(b |^2)*(d |^2) by GROUP_1:def 3
.= (a |^2)*(c |^2)+g2*((a*c)*b*d)+(b |^2)*(d |^2) by GROUP_1:def 3
.= (a |^2)*(c |^2)+g2*(a*b*c*d)+(b |^2)*(d |^2) by GROUP_1:def 3
.= (a |^2)*(c |^2)+g2*a*b*c*d+(b |^2)*(d |^2) by Th11;
end;
theorem Th28:
for p be Prime, n be Nat, g2 be Element of GF(p) st p > 2 & g2 = 2 mod p
holds g2 <> 0.GF(p) & g2 |^n <> 0.GF(p)
proof
let p be Prime, n be Nat, g2 be Element of GF(p) such that
A1: p > 2 and
A2: g2 = 2 mod p;
A3: g2 <> 0 by A1,A2,NAT_D:63;
hence g2 <> 0.GF(p) by EC_PF_1:11;
g2 |^n <> 0 by A3,EC_PF_1:25;
hence g2 |^n <> 0.GF(p) by EC_PF_1:11;
end;
theorem
for p be Prime, n be Nat, g2, g3 be Element of GF(p) st p > 3 &
g3 = 3 mod p holds g3 <> 0.GF(p) & g3 |^n <> 0.GF(p)
proof
let p be Prime, n be Nat, g2, g3 be Element of GF(p) such that
A1: p > 3;
assume A2: g3 = 3 mod p;
A3: g3 <> 0 by A1,A2,NAT_D:63;
hence g3 <> 0.GF(p) by EC_PF_1:11;
g3 |^n <> 0 by A3,EC_PF_1:25;
hence g3 |^n <> 0.GF(p) by EC_PF_1:11;
end;
begin :: 2.Parameters of an elliptic curve
definition
let p be 5_or_greater Prime;
func EC_WParam p -> Subset of
[:the carrier of GF(p),the carrier of GF(p):] equals
{[a,b] where a,b is Element of GF(p) : Disc(a,b,p) <> 0.GF(p) };
correctness
proof
now let x be object;
assume x in {[a,b] where a,b is Element of GF(p) :
Disc(a,b,p) <> 0.GF(p) }; then
ex a,b be Element of GF(p)
st x = [a,b] & Disc(a,b,p) <> 0.GF(p);
hence x in [:the carrier of GF(p), the carrier of GF(p):];
end;
hence thesis by TARSKI:def 3;
end;
end;
registration
let p be 5_or_greater Prime;
cluster EC_WParam p -> non empty;
coherence
proof
ex a,b be Element of GF(p) st [a,b] in EC_WParam p
proof
set a = 1.GF(p);
set b = 0.GF(p);
reconsider g2 = 2 mod p as Element of GF(p) by EC_PF_1:14;
reconsider g4 = 4 mod p as Element of GF(p) by EC_PF_1:14;
reconsider g27 = 27 mod p as Element of GF(p) by EC_PF_1:14;
A1: g4 = (2*2) mod p
.= g2*g2 by EC_PF_1:18
.= g2|^2 by EC_PF_1:22;
p >= 4+1 by Def1;
then A2: p > 2 & p > 3 by XXREAL_0:2;
Disc(a, b, p) = g4*(a |^(2+1)) + g27*(b |^2) by EC_PF_1:def 7
.= g4*(a|^2 * a) + g27*(b |^2) by EC_PF_1:24
.= g4*(a|^2 * a) + g27*(b * b) by EC_PF_1:22
.= g4*((a * a)*1.GF(p)) + g27*(0.GF(p)*0.GF(p)) by EC_PF_1:22
.= g4*1.GF(p) by ALGSTR_1:7
.= g4;
then A3: Disc(a, b, p) <> 0.GF(p) by A1,A2,Th28;
take a, b;
thus thesis by A3;
end;
hence thesis;
end;
end;
definition
let p be 5_or_greater Prime;
let z be Element of EC_WParam p;
redefine func z`1 -> Element of GF(p); :: redefines `1 (XTUPLE_0, definition)
correctness
proof
thus z`1 is Element of GF(p);
end;
redefine func z`2 -> Element of GF(p); :: redefines `2 (XTUPLE_0, definition)
correctness
proof
thus z`2 is Element of GF(p);
end;
end;
theorem Th30:
for p be 5_or_greater Prime,
z be Element of EC_WParam p holds
p > 3 & Disc(z`1,z`2,p) <> 0.GF(p)
proof
let p be 5_or_greater Prime,
z be Element of EC_WParam p;
p >= 4+1 by Def1;
hence p > 3 by XXREAL_0:2;
z in {[a,b] where a,b is Element of GF(p) :
Disc(a,b,p) <> 0.GF(p) }; then
consider a,b be Element of GF(p) such that
A1: z = [a,b] & Disc(a,b,p) <> 0.GF(p);
thus Disc(z`1,z`2,p) <> 0.GF(p) by A1;
end;
reserve px,py,pz for object;
reserve Px,Py,Pz for Element of GF(p);
reserve P for Element of ProjCo(GF(p));
reserve O for Element of EC_SetProjCo(a,b,p);
definition
let p be Prime;
let a, b be Element of GF(p);
let P be Element of EC_SetProjCo(a,b,p);
func P`1_3 -> Element of GF(p) means
:Def3:
P = [px,py,pz] implies it = px;
existence
proof
P is Element of ProjCo(GF(p));
then consider Px, Py, Pz be object such that
A1: Px in the carrier of GF(p) & Py in the carrier of GF(p)
& Pz in the carrier of GF(p) and
A2: P = [Px, Py, Pz] by MCART_1:68;
take Px;
thus thesis by A1,A2,XTUPLE_0:3;
end;
uniqueness
proof
let y, z be Element of GF(p);
assume
A3: P = [px, py, pz] implies y = px;
assume
A4: P = [px, py, pz] implies z = px;
P is Element of ProjCo(GF(p));
then consider Px, Py, Pz be object such that
Px in the carrier of GF(p) & Py in the carrier of GF(p)
& Pz in the carrier of GF(p) and
A5: P = [Px, Py, Pz] by MCART_1:68;
y = Px by A3,A5;
hence thesis by A4,A5;
end;
func P`2_3 -> Element of GF(p) means
:Def4:
P = [px,py,pz] implies it = py;
existence
proof
P is Element of ProjCo(GF(p));
then consider Px, Py, Pz be object such that
A6: Px in the carrier of GF(p) & Py in the carrier of GF(p)
& Pz in the carrier of GF(p) and
A7: P = [Px, Py, Pz] by MCART_1:68;
take Py;
thus thesis by A6,A7,XTUPLE_0:3;
end;
uniqueness
proof
let y, z be Element of GF(p);
assume
A8: P = [px, py, pz] implies y = py;
assume
A9: P = [px, py, pz] implies z = py;
P is Element of ProjCo(GF(p));
then consider Px, Py, Pz be object such that
Px in the carrier of GF(p) & Py in the carrier of GF(p)
& Pz in the carrier of GF(p) and
A10: P = [Px, Py, Pz] by MCART_1:68;
y = Py by A8,A10;
hence thesis by A9,A10;
end;
func P`3_3 -> Element of GF(p) means
:Def5:
P = [px,py,pz] implies it = pz;
existence
proof
P is Element of ProjCo(GF(p));
then consider Px, Py, Pz be object such that
A11: Px in the carrier of GF(p) & Py in the carrier of GF(p)
& Pz in the carrier of GF(p) and
A12: P = [Px, Py, Pz] by MCART_1:68;
take Pz;
thus thesis by A11,A12,XTUPLE_0:3;
end;
uniqueness
proof
let y, z be Element of GF(p);
assume
A13: P = [px, py, pz] implies y = pz;
assume
A14: P = [px, py, pz] implies z = pz;
P is Element of ProjCo(GF(p));
then consider Px, Py, Pz be object such that
Px in the carrier of GF(p) & Py in the carrier of GF(p)
& Pz in the carrier of GF(p) and
A15: P = [Px, Py, Pz] by MCART_1:68;
y = Pz by A13,A15;
hence thesis by A14,A15;
end;
end;
theorem Th31:
for p be Prime, a, b be Element of GF(p),
P be Element of EC_SetProjCo(a,b,p)
holds P = [P`1_3,P`2_3,P`3_3]
proof
let p be Prime, a, b be Element of GF(p),
P be Element of EC_SetProjCo(a,b,p);
P is Element of ProjCo(GF(p));
then consider Px, Py, Pz be object such that
Px in the carrier of GF(p) & Py in the carrier of GF(p)
& Pz in the carrier of GF(p) and
A1: P = [Px, Py, Pz] by MCART_1:68;
thus P = [P`1_3, Py, Pz] by A1,Def3
.= [P`1_3, P`2_3, Pz] by A1,Def4
.= [P`1_3, P`2_3, P`3_3] by A1,Def5;
end;
AA:
for X1,X2,X3 being non empty set
for x being Element of [:X1,X2,
X3:] holds x = [x`1_3,x`2_3,x`3_3];
theorem Th32:
for p be Prime, a, b be Element of GF(p),
P be Element of EC_SetProjCo(a,b,p),
Q be Element of ProjCo(GF(p))
holds P = Q iff P`1_3 = Q`1_3 & P`2_3 = Q`2_3 & P`3_3 = Q`3_3
proof
let p be Prime, a, b be Element of GF(p),
P be Element of EC_SetProjCo(a,b,p),
Q be Element of ProjCo(GF(p));
A1: P = [P`1_3, P`2_3, P`3_3] by Th31;
A2: Q = [Q`1_3, Q`2_3, Q`3_3] by AA;
thus P = Q implies
P`1_3 = Q`1_3 & P`2_3 = Q`2_3 & P`3_3 = Q`3_3 by A1;
assume A3: P`1_3 = Q`1_3 & P`2_3 = Q`2_3 & P`3_3 = Q`3_3;
thus P = Q by A2,A3,Th31;
end;
theorem
for p be Prime, a, b, Px, Py, Pz be Element of GF(p),
P be Element of EC_SetProjCo(a,b,p) st P = [Px, Py, Pz]
holds P`1_3 = Px & P`2_3 = Py & P`3_3 = Pz by Def3,Def4,Def5;
definition
let p be Prime;
let P be Element of ProjCo(GF(p));
let CEQ be Function of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):], GF(p);
pred P is_on_curve CEQ means
CEQ.P = 0.GF(p);
correctness;
end;
theorem Th34:
P is_on_curve EC_WEqProjCo(a,b,p) iff P is Element of EC_SetProjCo(a,b,p)
proof
hereby assume P is_on_curve EC_WEqProjCo(a,b,p);
then P in {Q where Q is Element of ProjCo(GF(p)) :
EC_WEqProjCo(a,b,p).Q = 0.GF(p)};
hence P is Element of EC_SetProjCo(a,b,p) by EC_PF_1:def 9;
end;
assume P is Element of EC_SetProjCo(a,b,p);
then P in EC_SetProjCo(a,b,p);
then P in {Q where Q is Element of ProjCo(GF(p)) :
EC_WEqProjCo(a,b,p).Q = 0.GF(p)} by EC_PF_1:def 9;
then ex Q be Element of ProjCo(GF(p)) st P=Q &
EC_WEqProjCo(a,b,p).Q = 0.GF(p);
hence P is_on_curve EC_WEqProjCo(a,b,p);
end;
theorem Th35:
for p be Prime, a, b be Element of GF(p),
P be Element of EC_SetProjCo(a,b,p) holds
((P`2_3) |^2)*(P`3_3) - ((P`1_3) |^3 +
a*(P`1_3)*(P`3_3) |^2 + b*(P`3_3) |^3) = 0.GF(p)
proof
let p be Prime, a, b be Element of GF(p),
P be Element of EC_SetProjCo(a,b,p);
consider PP be Element of ProjCo(GF(p)) such that
A1: PP = P & PP in EC_SetProjCo(a,b,p);
A2: PP`1_3 = P`1_3 & PP`2_3 = P`2_3 & PP`3_3 = P`3_3 by A1,Th32;
P is_on_curve EC_WEqProjCo(a,b,p) by Th34;
hence thesis by A2,EC_PF_1:def 8,A1;
end;
definition
let p be Prime;
let P be Element of ProjCo(GF(p));
func rep_pt(P) -> Element of ProjCo(GF(p)) equals
:Def7:
[P`1_3*(P`3_3)",P`2_3*(P`3_3)",1] if P`3_3 <> 0,
[0, 1, 0] if P`3_3 = 0;
coherence
proof
per cases;
suppose A1: P`3_3 <> 0;
[P`1_3*(P`3_3)",P`2_3*(P`3_3)",1.GF(p)] <> [0.GF(p),0.GF(p),0.GF(p)]
by XTUPLE_0:3;
then not [P`1_3*(P`3_3)",P`2_3*(P`3_3)",1.GF(p)]
in {[0.GF(p),0.GF(p),0.GF(p)]} by TARSKI:def 1;
then [P`1_3*(P`3_3)",P`2_3*(P`3_3)",1.GF(p)] in [:the carrier of GF(p),
the carrier of GF(p), the carrier of GF(p):] \
{[0.GF(p),0.GF(p),0.GF(p)]} by XBOOLE_0:def 5;
then [P`1_3*(P`3_3)",P`2_3*(P`3_3)",1.GF(p)] in ProjCo(GF(p))
by EC_PF_1:def 6;
hence thesis by A1,EC_PF_1:12;
end;
suppose A2: P`3_3 = 0;
set Q = [0, 1, 0];
thus thesis by A2,EC_PF_1:42;
end;
end;
consistency;
end;
theorem Th36:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P be Element of EC_SetProjCo(z`1,z`2,p)
holds rep_pt(P) _EQ_ P & rep_pt(P) in EC_SetProjCo(z`1,z`2,p)
proof
let p be 5_or_greater Prime,
z be Element of EC_WParam p,
P be Element of EC_SetProjCo(z`1,z`2,p);
set a = z`1;
set b = z`2;
A1: p > 3 & Disc(a,b,p) <> 0.GF(p) by Th30;
consider PP be Element of ProjCo(GF(p)) such that
A2: PP = P & PP in EC_SetProjCo(a,b,p);
per cases;
suppose P`3_3 = 0;
then A3: PP`3_3 = 0 by A2,Th32;
consider Q be Element of ProjCo(GF(p))
such that A4: Q in EC_SetProjCo(a,b,p) & Q _EQ_ PP
and A5: Q`1_3 = 0 & Q`2_3= 1 & Q`3_3= 0 by A1,A2,A3,EC_PF_1:49;
rep_pt(PP) = [0,1,0] by A3,Def7;
hence thesis by A2,A4,A5,AA;
end;
suppose P`3_3 <> 0;
then A6: PP`3_3 <> 0 by A2,Th32;
consider Q be Element of ProjCo(GF(p))
such that A7: Q in EC_SetProjCo(a,b,p) & Q _EQ_ PP
and A8: Q`3_3 = 1 by A1,A2,A6,EC_PF_1:48;
consider d be Element of GF(p) such that d <> 0.GF(p) and
A9: Q`1_3 = d*(PP`1_3) & Q`2_3 = d*(PP`2_3) & Q`3_3 = d*(PP`3_3)
by A7,EC_PF_1:def 10;
A10: d*(PP`3_3) = 1.GF(p) by A8,A9,EC_PF_1:12;
PP`3_3 <> 0.GF(p) by A6,EC_PF_1:11;
then d = (PP`3_3)" by A10,VECTSP_1:def 10;
then Q = [(PP`1_3)*(PP`3_3)",(PP`2_3)*(PP`3_3)",1] by A8,A9,AA;
hence thesis by A2,A6,A7,Def7;
end;
end;
theorem Th37:
for p be Prime, a, b be Element of GF(p),
P be Element of ProjCo(GF(p))
holds (rep_pt(P))`3_3 = 0 implies rep_pt(P) = [0, 1, 0] & P`3_3 = 0
proof
let p be Prime, a, b be Element of GF(p),
P be Element of ProjCo(GF(p));
assume A1: (rep_pt(P))`3_3 = 0;
hereby
assume A2: rep_pt(P) <> [0, 1, 0];
rep_pt(P) = [(P`1_3)*(P`3_3)", (P`2_3)*(P`3_3)", 1] by A2,Def7;
hence contradiction by A1;
end;
assume A3: P`3_3 <> 0;
rep_pt(P) = [(P`1_3)*(P`3_3)", (P`2_3)*(P`3_3)", 1] by A3,Def7;
hence contradiction by A1;
end;
theorem Th38:
for p be Prime, a, b be Element of GF(p),
P be Element of ProjCo(GF(p))
holds (rep_pt(P))`3_3 <> 0 implies
rep_pt(P) = [(P`1_3)*(P`3_3)", (P`2_3)*(P`3_3)", 1] & P`3_3 <> 0
proof
let p be Prime, a, b be Element of GF(p),
P be Element of ProjCo(GF(p));
assume A1: (rep_pt(P))`3_3 <> 0;
hereby
assume A2: rep_pt(P) <> [(P`1_3)*(P`3_3)", (P`2_3)*(P`3_3)", 1];
rep_pt(P) = [0, 1, 0] by A2,Def7;
hence contradiction by A1;
end;
assume A3: P`3_3 = 0;
rep_pt(P) = [0, 1, 0] by A3,Def7;
hence contradiction by A1;
end;
theorem Th39:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p)
holds P _EQ_ Q iff rep_pt(P) = rep_pt(Q)
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p);
set a = z`1;
set b = z`2;
consider PP be Element of ProjCo(GF(p)) such that
A1: PP = P & PP in EC_SetProjCo(a,b,p);
consider QQ be Element of ProjCo(GF(p)) such that
A2: QQ = Q & QQ in EC_SetProjCo(a,b,p);
set RP = rep_pt(PP);
set RQ = rep_pt(QQ);
hereby
assume A3: P _EQ_ Q;
RP _EQ_ P by A1,Th36;
then A4: RP _EQ_ Q by A3,EC_PF_1:44;
RQ _EQ_ Q by A2,Th36;
then RP _EQ_ RQ by A4,EC_PF_1:44; then
consider a be Element of GF(p) such that
A5: a <> 0.GF(p) and
A6: RP`1_3 = a*(RQ`1_3) & RP`2_3 = a*(RQ`2_3) & RP`3_3 = a*(RQ`3_3)
by EC_PF_1:def 10;
per cases;
suppose A7: PP`3_3 = 0;
then RP = [0, 1, 0] by Def7;
then RP`3_3 = 0.GF(p) by EC_PF_1:11;
then RQ`3_3 = 0.GF(p) by A5,A6,VECTSP_1:12
.= 0 by EC_PF_1:11;
then RQ = [0, 1, 0] by Th37;
hence rep_pt(P) = rep_pt(Q) by A1,A2,A7,Def7;
end;
suppose PP`3_3 <> 0;
then RP = [(PP`1_3)*(PP`3_3)", (PP`2_3)*(PP`3_3)", 1] by Def7;
then A8: RP`3_3 = 1.GF(p) by EC_PF_1:12;
then RQ`3_3 <> 0.GF(p) by A6;
then RQ`3_3 <> 0 by EC_PF_1:11;
then RQ = [(QQ`1_3)*(QQ`3_3)", (QQ`2_3)*(QQ`3_3)", 1] by Th38;
then RQ`3_3 = 1.GF(p) by EC_PF_1:12;
then a = 1.GF(p) by A6,A8;
then RP`1_3 = RQ`1_3 & RP`2_3 = RQ`2_3 & RP`3_3 = RQ`3_3
by A6;
then RP = [RQ`1_3, RQ`2_3, RQ`3_3] by AA
.= RQ by AA;
hence rep_pt(P) = rep_pt(Q) by A1,A2;
end;
end;
assume A9: rep_pt(P) = rep_pt(Q);
A10: RQ _EQ_ P by A2,A9,Th36;
RQ _EQ_ Q by A2,Th36;
hence thesis by A10,EC_PF_1:44;
end;
begin :: 3.Operations of points on an elliptic curve over $\bf{GF}(p)$
Lm1:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P be Element of EC_SetProjCo(z`1,z`2,p) holds
[P`1_3,-P`2_3,P`3_3] is Element of EC_SetProjCo(z`1,z`2,p)
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P be Element of EC_SetProjCo(z`1,z`2,p);
set a = z`1;
set b = z`2;
set R = [P`1_3,-P`2_3,P`3_3];
P in ProjCo(GF(p));
then P in [:the carrier of GF(p), the carrier of GF(p),
the carrier of GF(p):] \ {[0.GF(p),0.GF(p),0.GF(p)]} by EC_PF_1:def 6;
then not P in {[0.GF(p),0.GF(p),0.GF(p)]} by XBOOLE_0:def 5;
then P <> [0.GF(p),0.GF(p),0.GF(p)] by TARSKI:def 1;
then not (P`1_3 = 0.GF(p) & P`2_3 = 0.GF(p) & P`3_3 = 0.GF(p))
by Th31;
then not (P`1_3 = 0.GF(p) & -P`2_3 = 0.GF(p) & P`3_3 = 0.GF(p))
by VECTSP_2:3;
then R <> [0.GF(p),0.GF(p),0.GF(p)] by XTUPLE_0:3;
then not R in {[0.GF(p),0.GF(p),0.GF(p)]} by TARSKI:def 1;
then
R in [:the carrier of GF(p),the carrier of GF(p), the carrier of GF(p):]
\ {[0.GF(p),0.GF(p),0.GF(p)]} by XBOOLE_0:def 5;
then reconsider R as Element of ProjCo(GF(p)) by EC_PF_1:def 6;
A1: R`2_3 |^2 = P`2_3 |^2 by Th1;
(R`2_3 |^2)*(R`3_3)-((R`1_3) |^3+a*(R`1_3)*(R`3_3) |^2+b*(R`3_3) |^3)
= 0.GF(p) by A1,Th35;
then R is_on_curve EC_WEqProjCo(a,b,p) by EC_PF_1:def 8;
hence thesis by Th34;
end;
definition
let p be 5_or_greater Prime;
let z be Element of EC_WParam p;
func compell_ProjCo(z,p) ->
Function of EC_SetProjCo(z`1,z`2,p), EC_SetProjCo(z`1,z`2,p) means
:Def8:
for P be Element of EC_SetProjCo(z`1,z`2,p)
holds it.P = [P`1_3,-P`2_3,P`3_3];
existence
proof
set a = z`1;
set b = z`2;
defpred P[Element of EC_SetProjCo(a,b,p),set] means
$2 = [$1`1_3,-$1`2_3,$1`3_3];
A1: for P being Element of EC_SetProjCo(a,b,p)
ex R being Element of EC_SetProjCo(z`1,z`2,p) st P[P, R]
proof
let P be Element of EC_SetProjCo(a,b,p);
set R = [P`1_3,-P`2_3,P`3_3];
[P`1_3,-P`2_3,P`3_3] is Element of EC_SetProjCo(z`1,z`2,p) by Lm1;
hence thesis;
end;
consider f being Function of EC_SetProjCo(a,b,p), EC_SetProjCo(a,b,p)
such that
A2: for P being Element of EC_SetProjCo(a,b,p)
holds P[P,f.P] from FUNCT_2:sch 3(A1);
take f;
thus thesis by A2;
end;
uniqueness
proof
set a = z`1;
set b = z`2;
deffunc F(Element of EC_SetProjCo(a,b,p)) = [$1`1_3,-$1`2_3,$1`3_3];
for f1, f2 being Function of EC_SetProjCo(a,b,p), EC_SetProjCo(a,b,p)
st (for x being Element of EC_SetProjCo(a,b,p) holds f1.x = F(x)) &
(for x being Element of EC_SetProjCo(a,b,p) holds f2.x = F(x))
holds f1 = f2
proof
let f1, f2 be Function of EC_SetProjCo(a,b,p), EC_SetProjCo(a,b,p)
such that
A3: for x being Element of EC_SetProjCo(a,b,p) holds f1.x = F(x) and
A4: for x being Element of EC_SetProjCo(a,b,p) holds f2.x = F(x);
now
let x be Element of EC_SetProjCo(a,b,p);
thus f1.x = F(x) by A3
.= f2.x by A4;
end;
hence thesis by FUNCT_2:63;
end;
hence thesis;
end;
end;
definition
let p be 5_or_greater Prime, z be Element of EC_WParam p;
let F be Function of EC_SetProjCo(z`1,z`2,p), EC_SetProjCo(z`1,z`2,p);
let P be Element of EC_SetProjCo(z`1,z`2,p);
redefine func F.P -> Element of EC_SetProjCo(z`1,z`2,p); :: redefines . (FUNCT_1, definition)
correctness
proof
F.P in EC_SetProjCo(z`1,z`2,p);
hence thesis;
end;
end;
theorem Th40:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
O be Element of EC_SetProjCo(z`1,z`2,p) st O = [0, 1, 0] holds
(compell_ProjCo(z,p)).O _EQ_ O
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
O be Element of EC_SetProjCo(z`1,z`2,p) such that
A1: O = [0, 1, 0];
set a = z`1;
set b = z`2;
A2: O`1_3 = 0 & O`2_3 = 1 & O`3_3 = 0 by A1,Def3,Def4,Def5;
consider OO be Element of ProjCo(GF(p)) such that
A3: OO = O & OO in EC_SetProjCo(a,b,p);
A4: OO`1_3 = 0 & OO`2_3 = 1 & OO`3_3 = 0 by A2,A3,Th32;
set CO = compell_ProjCo(z,p).O;
consider COO be Element of ProjCo(GF(p)) such that
A5: COO = CO & COO in EC_SetProjCo(a,b,p);
A6: COO`1_3 = CO`1_3 & COO`2_3 = CO`2_3 & COO`3_3 = CO`3_3 by A5,Th32;
CO = [O`1_3, -O`2_3, O`3_3] by Def8;
then COO`3_3 = 0 by A2,A6,Def5;
then A7: rep_pt(CO) = [0, 1, 0] by A5,Def7;
rep_pt(O) = [0, 1, 0] by A3,A4,Def7;
hence thesis by A7,Th39;
end;
theorem Th41:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P be Element of EC_SetProjCo(z`1,z`2,p)
holds compell_ProjCo(z,p).(compell_ProjCo(z,p).P) = P
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P be Element of EC_SetProjCo(z`1,z`2,p);
set Q = compell_ProjCo(z,p).P;
Q = [P`1_3, -P`2_3, P`3_3] by Def8;
then A1: Q`1_3 = P`1_3 & Q`2_3 = -P`2_3 & Q`3_3 = P`3_3 by Def3,Def4,Def5;
set R = compell_ProjCo(z,p).Q;
R = [Q`1_3, -Q`2_3, Q`3_3] by Def8;
then R`1_3 = P`1_3 & R`2_3 = -(-P`2_3) & R`3_3 = P`3_3
by A1,Def3,Def4,Def5;
then R`1_3 = P`1_3 & R`2_3 = P`2_3 & R`3_3 = P`3_3 by RLVECT_1:17;
then R = [P`1_3, P`2_3, P`3_3] by Th31;
hence thesis by Th31;
end;
theorem Th42:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P be Element of EC_SetProjCo(z`1,z`2,p) st P`3_3 <> 0
holds rep_pt(compell_ProjCo(z,p).P) = compell_ProjCo(z,p).(rep_pt(P))
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P be Element of EC_SetProjCo(z`1,z`2,p) such that
A1: P`3_3 <> 0;
set a = z`1;
set b = z`2;
consider PP be Element of ProjCo(GF(p)) such that
A2: PP = P & PP in EC_SetProjCo(a,b,p);
set CP = compell_ProjCo(z,p).P;
CP = [P`1_3, -P`2_3, P`3_3] by Def8;
then
A3: CP`1_3 = P`1_3 & CP`2_3 = -P`2_3 & CP`3_3 = P`3_3 by Def3,Def4,Def5;
set RP = rep_pt(PP);
reconsider RP as Element of EC_SetProjCo(a,b,p) by A2,Th36;
PP`3_3 <> 0 by A1,A2,Th32;
then RP = [(PP`1_3)*(PP`3_3)", (PP`2_3)*(PP`3_3)", 1] by Def7;
then RP`1_3 = (PP`1_3)*(PP`3_3)" & RP`2_3 = (PP`2_3)*(PP`3_3)" & RP`3_3 = 1
by Def3,Def4,Def5;
then RP`1_3 = (P`1_3)*(PP`3_3)" & RP`2_3 = (P`2_3)*(PP`3_3)" & RP`3_3 = 1
by A2,Th32;
then A4: RP`1_3 = (P`1_3)*(P`3_3)" & RP`2_3 = (P`2_3)*(P`3_3)" & RP`3_3 = 1
by A2,Th32;
consider CPP be Element of ProjCo(GF(p)) such that
A5: CPP = CP & CPP in EC_SetProjCo(a,b,p);
set RCP = rep_pt(CPP);
reconsider RCP as Element of EC_SetProjCo(a,b,p) by A5,Th36;
CPP`3_3 <> 0 by A1,A3,A5,Th32;
then RCP = [(CPP`1_3)*(CPP`3_3)", (CPP`2_3)*(CPP`3_3)", 1] by Def7;
then RCP`1_3 = (CPP`1_3)*(CPP`3_3)" & RCP`2_3
= (CPP`2_3)*(CPP`3_3)" & RCP`3_3 = 1
by Def3,Def4,Def5;
then RCP`1_3 = (CP`1_3)*(CPP`3_3)" & RCP`2_3
= (CP`2_3)*(CPP`3_3)" & RCP`3_3 = 1
by A5,Th32;
then RCP`1_3 = (CP`1_3)*(CP`3_3)" & RCP`2_3
= (CP`2_3)*(CP`3_3)" & RCP`3_3 = 1
by A5,Th32;
then A6: RCP = [(P`1_3)*(P`3_3)", (-P`2_3)*(P`3_3)", 1] by A3,Th31;
set CRP = compell_ProjCo(z,p).RP;
CRP = [(P`1_3)*(P`3_3)", -(P`2_3)*(P`3_3)", 1] by A4,Def8;
hence thesis by A2,A5,A6,VECTSP_1:9;
end;
theorem Th43:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p) holds
P = Q iff compell_ProjCo(z,p).P = compell_ProjCo(z,p).Q
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p);
thus P = Q implies
compell_ProjCo(z,p).P = compell_ProjCo(z,p).Q;
assume A1: compell_ProjCo(z,p).P = compell_ProjCo(z,p).Q;
thus P = compell_ProjCo(z,p).(compell_ProjCo(z,p).Q) by A1,Th41
.= Q by Th41;
end;
theorem Th44:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P be Element of EC_SetProjCo(z`1,z`2,p) st P`3_3 <> 0 holds
P _EQ_ compell_ProjCo(z,p).P iff P`2_3 = 0
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P be Element of EC_SetProjCo(z`1,z`2,p) such that
A1: P`3_3 <> 0;
set a = z`1;
set b = z`2;
consider PP be Element of ProjCo(GF(p)) such that
A2: PP = P & PP in EC_SetProjCo(a,b,p);
A3: PP`1_3 = P`1_3 & PP`2_3 = P`2_3 & PP`3_3 = P`3_3 by A2,Th32;
set CP = compell_ProjCo(z,p).P;
CP = [P`1_3, -P`2_3, P`3_3] by Def8;
then
A4: CP`1_3 = P`1_3 & CP`2_3 = -P`2_3 & CP`3_3 = P`3_3 by Def3,Def4,Def5;
set RP = rep_pt(PP);
reconsider RP as Element of EC_SetProjCo(a,b,p) by A2,Th36;
RP = [(P`1_3)*(P`3_3)", (P`2_3)*(P`3_3)", 1] by A1,A3,Def7;
then A5: RP`2_3 = (P`2_3)*(P`3_3)" by Def4;
consider CPP be Element of ProjCo(GF(p)) such that
A6: CPP = CP & CPP in EC_SetProjCo(a,b,p);
A7: CPP`1_3 = P`1_3 & CPP`2_3 = -P`2_3 & CPP`3_3 = P`3_3 by A4,A6,Th32;
set RCP = rep_pt(CPP);
reconsider RCP as Element of EC_SetProjCo(a,b,p) by A6,Th36;
A8: RCP = [(P`1_3)*(P`3_3)", (-P`2_3)*(P`3_3)", 1] by A1,A7,Def7;
hereby
assume A9: P _EQ_ compell_ProjCo(z,p).P;
P`3_3 <> 0.GF(p) by A1,EC_PF_1:11;
then A10: (P`3_3)" <> 0.GF(p) by VECTSP_1:25;
A11: p > 2 by Th30,XXREAL_0:2;
RP = [(P`1_3)*(P`3_3)", (-P`2_3)*(P`3_3)", 1]
by A2,A6,A8,A9,Th39;
then (P`2_3)*(P`3_3)" = (P`3_3)"*(-P`2_3) by A5,Def4;
then P`2_3 = -P`2_3 by A10,VECTSP_1:5;
then P`2_3 + P`2_3 = 0.GF(p) by VECTSP_1:19;
then P`2_3 = 0.GF(p) by A11,EC_PF_1:27;
hence P`2_3 = 0 by EC_PF_1:11;
end;
assume A12: P`2_3 = 0;
then P`2_3 = 0.GF(p) by EC_PF_1:11;
then -P`2_3 = 0.GF(p) by VECTSP_2:3;
then CPP`1_3 = P`1_3 & CPP`2_3 = 0 & CPP`3_3 = P`3_3 by A7,EC_PF_1:11;
hence P _EQ_ compell_ProjCo(z,p).P by A6,A12,Th32;
end;
theorem Th45:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p) st P`3_3 <> 0 holds
(P`1_3 = Q`1_3 & P`3_3 = Q`3_3) iff P = Q or P = compell_ProjCo(z,p).Q
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p) such that
A1: P`3_3 <> 0;
set a = z`1;
set b = z`2;
A2: P`3_3 <> 0.GF(p) by A1,EC_PF_1:11;
hereby
assume A3: P`1_3 = Q`1_3 & P`3_3 = Q`3_3;
A4: ((P`2_3) |^2)*(P`3_3)-((P`1_3) |^3 + a*(P`1_3)*(P`3_3) |^2
+ b*(P`3_3) |^3) = 0.GF(p) by Th35;
((Q`2_3) |^2)*(Q`3_3)-((Q`1_3) |^3 + a*(Q`1_3)*(Q`3_3) |^2
+ b*(Q`3_3) |^3) = 0.GF(p) by Th35;
then
A5: ((Q`2_3) |^2)*(Q`3_3)
= (P`1_3) |^3 + a*(P`1_3)*(Q`3_3) |^2 + b*(P`3_3) |^3
by A3,VECTSP_1:19
.= ((P`2_3) |^2)*(P`3_3) by A3,A4,VECTSP_1:19;
(P`2_3)*(P`2_3) = (P`2_3) |^2 by EC_PF_1:22
.= (Q`2_3) |^2 by A2,A3,A5,VECTSP_1:5
.= (Q`2_3)*(Q`2_3) by EC_PF_1:22;
then P`2_3 = Q`2_3 or P`2_3 = -Q`2_3 by EC_PF_1:26;
then P = [Q`1_3, Q`2_3, Q`3_3] or P = [Q`1_3, -Q`2_3, Q`3_3]
by A3,Th31;
hence P = Q or P = compell_ProjCo(z,p).Q by Th31,Def8;
end;
assume A6: P = Q or P = compell_ProjCo(z,p).Q;
P = [Q`1_3, Q`2_3, Q`3_3] or P = [Q`1_3, -Q`2_3, Q`3_3]
by A6,Th31,Def8;
hence P`1_3 = Q`1_3 & P`3_3 = Q`3_3 by Def3,Def5;
end;
theorem Th46:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p)
holds P _EQ_ Q iff compell_ProjCo(z,p).P _EQ_ compell_ProjCo(z,p).Q
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p);
set a = z`1;
set b = z`2;
consider PP be Element of ProjCo(GF(p)) such that
A1: PP = P & PP in EC_SetProjCo(a,b,p);
A2: PP`1_3 = P`1_3 & PP`2_3 = P`2_3 & PP`3_3 = P`3_3 by A1,Th32;
consider QQ be Element of ProjCo(GF(p)) such that
A3: QQ = Q & QQ in EC_SetProjCo(a,b,p);
A4: QQ`1_3 = Q`1_3 & QQ`2_3 = Q`2_3 & QQ`3_3 = Q`3_3 by A3,Th32;
set CP = compell_ProjCo(z,p).P;
consider CPP be Element of ProjCo(GF(p)) such that
A5: CPP = CP & CPP in EC_SetProjCo(a,b,p);
A6: CPP`1_3 = CP`1_3 & CPP`2_3 = CP`2_3 & CPP`3_3 = CP`3_3 by A5,Th32;
set CQ = compell_ProjCo(z,p).Q;
consider CQQ be Element of ProjCo(GF(p)) such that
A7: CQQ = CQ & CQQ in EC_SetProjCo(a,b,p);
A8: CQQ`1_3 = CQ`1_3 & CQQ`2_3 = CQ`2_3 & CQQ`3_3 = CQ`3_3 by A7,Th32;
hereby
assume A9: P _EQ_ Q;
A10: rep_pt(P) = rep_pt(Q) by A9,Th39;
per cases;
suppose A11: P`3_3 = 0;
PP`3_3 = 0 by A1,A11,Th32;
then rep_pt(QQ) = [0, 1, 0] by A1,A3,A10,Def7;
then (rep_pt(QQ))`3_3 = 0;
then A12: Q`3_3 = 0 by A4,Th37;
CP = [P`1_3, -P`2_3, 0] by A11,Def8;
then A13: CPP`3_3 = 0 by A6,Def5;
CQ = [Q`1_3, -Q`2_3, 0] by A12,Def8;
then CQQ`3_3 = 0 by A8,Def5;
then rep_pt(CQ) = [0, 1, 0] by A7,Def7
.= rep_pt(CP) by A5,A13,Def7;
hence compell_ProjCo(z,p).P _EQ_ compell_ProjCo(z,p).Q by Th39;
end;
suppose A14: P`3_3 <> 0;
rep_pt(QQ) = [(PP`1_3)*(PP`3_3)", (PP`2_3)*(PP`3_3)", 1]
by A1,A2,A3,A10,A14,Def7;
then A15: (rep_pt(QQ))`3_3 <> 0;
compell_ProjCo(z,p).(rep_pt(P)) = rep_pt(compell_ProjCo(z,p).Q)
by A4,A10,A15,Th38,Th42;
then rep_pt(compell_ProjCo(z,p).P) = rep_pt(compell_ProjCo(z,p).Q)
by A14,Th42;
hence compell_ProjCo(z,p).P _EQ_ compell_ProjCo(z,p).Q by Th39;
end;
end;
assume A16: compell_ProjCo(z,p).P _EQ_ compell_ProjCo(z,p).Q;
per cases;
suppose A17: P`3_3 = 0;
CP = [P`1_3, -P`2_3, 0] by A17,Def8;
then CPP`3_3 = 0 by A6,Def5;
then A18: rep_pt(CPP) = [0, 1, 0] by Def7;
rep_pt(CQQ) = [0, 1, 0] by A5,A7,A16,A18,Th39;
then (rep_pt(CQQ))`3_3 = 0;
then A19: CQ`3_3 = 0 by A8,Th37;
CQ = [Q`1_3, -Q`2_3, Q`3_3] by Def8;
then Q`3_3 = 0 by A19,Def5;
then A20: rep_pt(QQ) = [0, 1, 0] by A4,Def7;
rep_pt(PP) = [0, 1, 0] by A2,A17,Def7;
hence P _EQ_ Q by A1,A3,A20,Th39;
end;
suppose A21: P`3_3 <> 0;
CP = [P`1_3, -P`2_3, P`3_3] by Def8;
then A22: CPP`3_3 <> 0 by A6,A21,Def5;
set RP = rep_pt(P);
reconsider RP as Element of EC_SetProjCo(a,b,p) by Th36;
set RQ = rep_pt(Q);
reconsider RQ as Element of EC_SetProjCo(a,b,p) by Th36;
A23: rep_pt(CP) = rep_pt(CQ) by A16,Th39;
rep_pt(CPP) = [(CPP`1_3)*(CPP`3_3)", (CPP`2_3)*(CPP`3_3)", 1]
by A22,Def7;
then (rep_pt(CQQ))`3_3 <> 0 by A5,A7,A23;
then A24: CQ`3_3 <> 0 by A8,Th38;
CQ = [Q`1_3, -Q`2_3, Q`3_3] by Def8;
then A25: Q`3_3 <> 0 by A24,Def5;
A26: rep_pt(CP) = compell_ProjCo(z,p).RP by A21,Th42;
rep_pt(CQ) = compell_ProjCo(z,p).RQ by A25,Th42;
then RP = RQ by A23,A26,Th43;
hence P _EQ_ Q by Th39;
end;
end;
theorem Th47:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p)
holds P _EQ_ compell_ProjCo(z,p).Q iff compell_ProjCo(z,p).P _EQ_ Q
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p);
set a = z`1;
set b = z`2;
set CP = compell_ProjCo(z,p).P;
reconsider CP as Element of EC_SetProjCo(a,b,p);
set CQ = compell_ProjCo(z,p).Q;
reconsider CQ as Element of EC_SetProjCo(a,b,p);
hereby
assume A1: P _EQ_ compell_ProjCo(z,p).Q;
compell_ProjCo(z,p).P _EQ_ compell_ProjCo(z,p).CQ by A1,Th46;
hence compell_ProjCo(z,p).P _EQ_ Q by Th41;
end;
assume A2: compell_ProjCo(z,p).P _EQ_ Q;
compell_ProjCo(z,p).CP _EQ_ compell_ProjCo(z,p).Q by A2,Th46;
hence P _EQ_ compell_ProjCo(z,p).Q by Th41;
end;
theorem Th48:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p)
st P`3_3 <> 0 & Q`3_3 <> 0 holds
rep_pt(P) = compell_ProjCo(z,p).(rep_pt(Q)) iff
P _EQ_ compell_ProjCo(z,p).Q
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p) such that
A1: P`3_3 <> 0 & Q`3_3 <> 0;
set a = z`1;
set b = z`2;
set CQ = compell_ProjCo(z,p).Q;
reconsider CQ as Element of EC_SetProjCo(a,b,p);
hereby
assume A2: rep_pt(P) = compell_ProjCo(z,p).(rep_pt(Q));
rep_pt(P) = rep_pt(CQ) by A1,A2,Th42;
hence P _EQ_ compell_ProjCo(z,p).Q by Th39;
end;
assume P _EQ_ compell_ProjCo(z,p).Q;
hence rep_pt(P) = rep_pt(CQ) by Th39
.= compell_ProjCo(z,p).(rep_pt(Q)) by A1,Th42;
end;
theorem
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p) holds
P _EQ_ Q implies P`2_3*(Q`3_3) = Q`2_3*(P`3_3)
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p);
set a = z`1;
set b = z`2;
consider PP be Element of ProjCo(GF(p)) such that
A1: PP = P & PP in EC_SetProjCo(a,b,p);
A2: PP`1_3 = P`1_3 & PP`2_3 = P`2_3 & PP`3_3 = P`3_3 by A1,Th32;
consider QQ be Element of ProjCo(GF(p)) such that
A3: QQ = Q & QQ in EC_SetProjCo(a,b,p);
A4: QQ`1_3 = Q`1_3 & QQ`2_3 = Q`2_3 & QQ`3_3 = Q`3_3 by A3,Th32;
assume A5: P _EQ_ Q;
A6: rep_pt(PP) = rep_pt(QQ) by A1,A3,A5,Th39;
per cases;
suppose A7: PP`3_3 = 0;
then P`3_3 = 0.GF(p) by A2,EC_PF_1:11;
then A8: Q`2_3*(P`3_3) = 0.GF(p);
rep_pt(QQ) = [0, 1, 0] by A6,A7,Def7;
then (rep_pt(QQ))`3_3 = 0;
then Q`3_3 = 0 by A4,Th37
.= 0.GF(p) by EC_PF_1:11;
hence P`2_3*(Q`3_3) = Q`2_3*(P`3_3) by A8;
end;
suppose A9: PP`3_3 <> 0;
then A10: PP`3_3 <> 0.GF(p) by EC_PF_1:11;
A11: rep_pt(QQ) = [(PP`1_3)*(PP`3_3)", (PP`2_3)*(PP`3_3)", 1]
by A6,A9,Def7;
then A12: (rep_pt(QQ))`2_3 = (PP`2_3)*(PP`3_3)";
A13: (rep_pt(QQ))`3_3 <> 0 by A11;
then QQ`3_3 <> 0 by Th38;
then A14: QQ`3_3 <> 0.GF(p) by EC_PF_1:11;
rep_pt(QQ) = [(QQ`1_3)*(QQ`3_3)", (QQ`2_3)*(QQ`3_3)", 1]
by A13,Th38;
then PP`2_3*(PP`3_3)" = (QQ`2_3)*(QQ`3_3)" by A12;
hence P`2_3*(Q`3_3) = Q`2_3*(P`3_3) by A2,A4,A10,A14,Th3;
end;
end;
theorem Th50:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p)
st P`3_3 <> 0 & Q`3_3 <> 0 holds
P _EQ_ Q or P _EQ_ compell_ProjCo(z,p).Q iff P`1_3*(Q`3_3) = Q`1_3*(P`3_3)
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p) such that
A1: P`3_3 <> 0 & Q`3_3 <> 0;
A2: P`3_3 <> 0.GF(p) & Q`3_3 <> 0.GF(p) by A1,EC_PF_1:11;
set a = z`1;
set b = z`2;
consider PP be Element of ProjCo(GF(p)) such that
A3: PP = P & PP in EC_SetProjCo(a,b,p);
A4: PP`1_3 = P`1_3 & PP`2_3 = P`2_3 & PP`3_3 = P`3_3 by A3,Th32;
consider QQ be Element of ProjCo(GF(p)) such that
A5: QQ = Q & QQ in EC_SetProjCo(a,b,p);
A6: QQ`1_3 = Q`1_3 & QQ`2_3 = Q`2_3 & QQ`3_3 = Q`3_3 by A5,Th32;
A7: PP`3_3 <> 0 & QQ`3_3 <> 0 by A1,A3,A5,Th32;
set RP = rep_pt(PP);
reconsider RP as Element of EC_SetProjCo(a,b,p) by A3,Th36;
set RQ = rep_pt(QQ);
reconsider RQ as Element of EC_SetProjCo(a,b,p) by A5,Th36;
A8: RP = [PP`1_3*(PP`3_3)", PP`2_3*(PP`3_3)", 1] by A7,Def7;
RQ = [QQ`1_3*(QQ`3_3)", QQ`2_3*(QQ`3_3)", 1] by A7,Def7;
then A9: RQ`1_3 = QQ`1_3*(QQ`3_3)" & RQ`3_3 = 1 by Def3,Def5;
then A10: RP`3_3 = RQ`3_3 by A8,Def5;
A11: RP`3_3 <> 0 by A8,Def5;
then RP`1_3 = RQ`1_3 implies rep_pt(P) = rep_pt(Q) or
RP = compell_ProjCo(z,p).RQ by A3,A5,A10,Th45;
then A12:P`1_3*(PP`3_3)" = Q`1_3*(QQ`3_3)" implies P _EQ_ Q or
RP = compell_ProjCo(z,p).RQ by A4,A6,A8,A9,Def3,Th39;
RP = RQ or RP = compell_ProjCo(z,p).RQ implies
RP`1_3 = RQ`1_3 by A11,Th45;
then P _EQ_ Q or P _EQ_ compell_ProjCo(z,p).Q
implies P`1_3*(P`3_3)" = Q`1_3*(Q`3_3)"
by A1,A3,A4,A5,A6,A8,A9,Def3,Th39,Th48;
hence thesis by A2,A1,A3,A4,A5,A6,A12,Th3,Th4,Th48;
end;
theorem Th51:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p)
st P`3_3 <> 0 & Q`3_3 <> 0 & P`2_3 <> 0 holds
P _EQ_ compell_ProjCo(z,p).Q implies P`2_3*(Q`3_3) <> Q`2_3*(P`3_3)
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p) such that
A1: P`3_3 <> 0 & Q`3_3 <> 0 & P`2_3 <> 0;
A2: P`3_3 <> 0.GF(p) & Q`3_3 <> 0.GF(p) by A1,EC_PF_1:11;
set a = z`1;
set b = z`2;
consider PP be Element of ProjCo(GF(p)) such that
A3: PP = P & PP in EC_SetProjCo(a,b,p);
A4: PP`1_3 = P`1_3 & PP`2_3 = P`2_3 & PP`3_3 = P`3_3 by A3,Th32;
consider QQ be Element of ProjCo(GF(p)) such that
A5: QQ = Q & QQ in EC_SetProjCo(a,b,p);
A6: QQ`1_3 = Q`1_3 & QQ`2_3 = Q`2_3 & QQ`3_3 = Q`3_3 by A5,Th32;
assume A7: P _EQ_ compell_ProjCo(z,p).Q;
assume A8: P`2_3*(Q`3_3) = Q`2_3*(P`3_3);
P`1_3*(Q`3_3) = Q`1_3*(P`3_3) by A1,A7,Th50;
then A9: P`1_3*(P`3_3)" = Q`1_3*(Q`3_3)" by A2,Th4;
A10: P`2_3*(P`3_3)" = Q`2_3*(Q`3_3)" by A2,A8,Th4;
rep_pt(P) = [(PP`1_3)*(PP`3_3)", (PP`2_3)*(PP`3_3)", 1]
by A1,A3,A4,Def7
.= rep_pt(Q) by A1,A4,A5,A6,A9,A10,Def7;
then A11: P _EQ_ Q by Th39;
compell_ProjCo(z,p).P _EQ_ Q by A7,Th47;
then P _EQ_ compell_ProjCo(z,p).P by A11,EC_PF_1:44;
hence contradiction by A1,Th44;
end;
theorem Th52:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p) holds
(not P _EQ_ Q) & P _EQ_ compell_ProjCo(z,p).Q
implies P`2_3*(Q`3_3) <> Q`2_3*(P`3_3)
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
P, Q be Element of EC_SetProjCo(z`1,z`2,p);
set a = z`1;
set b = z`2;
A1: p > 3 & Disc(a,b,p) <> 0.GF(p) by Th30;
assume A2: not P _EQ_ Q;
assume A3: P _EQ_ compell_ProjCo(z,p).Q;
consider PP be Element of ProjCo(GF(p)) such that
A4: PP = P & PP in EC_SetProjCo(a,b,p);
A5: P`3_3 <> 0
proof
assume A6: P`3_3 = 0;
set CQ = compell_ProjCo(z,p).Q;
reconsider CQ as Element of EC_SetProjCo(a,b,p);
A7: PP`3_3 = 0 by A6,A4,Th32;
consider OO be Element of ProjCo(GF(p)) such that
A8: OO in EC_SetProjCo(a,b,p) and
A9: PP _EQ_ OO and
A10: OO`1_3 = 0 & OO`2_3 = 1 & OO`3_3 = 0 by A1,A4,A7,EC_PF_1:49;
consider O be Element of EC_SetProjCo(a,b,p) such that
A11: O = OO by A8;
A12: O`1_3 = 0 & O`2_3 = 1 & O`3_3 = 0 by A10,A11,Th32;
CQ _EQ_ O by A3,A4,A9,A11,EC_PF_1:44;
then compell_ProjCo(z,p).(CQ) _EQ_
compell_ProjCo(z,p).O by Th46;
then A13: Q _EQ_ compell_ProjCo(z,p).O by Th41;
compell_ProjCo(z,p).O _EQ_ O by A12,Th31,Th40;
then Q _EQ_ O by A13,EC_PF_1:44;
hence contradiction by A2,A4,A9,A11,EC_PF_1:44;
end;
A14: Q`3_3 <> 0
proof
assume A15: Q`3_3 = 0;
set CQ = compell_ProjCo(z,p).Q;
reconsider CQ as Element of ProjCo(GF(p));
CQ = [Q`1_3, -Q`2_3, Q`3_3] by Def8;
then A16: CQ`3_3 = 0 by A15;
consider OO be Element of ProjCo(GF(p)) such that
A17: OO in EC_SetProjCo(a,b,p) and
A18: CQ _EQ_ OO and
A19: OO`1_3 = 0 & OO`2_3 = 1 & OO`3_3 = 0 by A1,A16,EC_PF_1:49;
consider O be Element of EC_SetProjCo(a,b,p) such that
A20: O = OO by A17;
A21: O`1_3 = 0 & O`2_3 = 1 & O`3_3 = 0 by A19,A20,Th32;
P _EQ_ O by A3,A18,A20,EC_PF_1:44;
then A22: compell_ProjCo(z,p).P _EQ_
compell_ProjCo(z,p).O by Th46;
compell_ProjCo(z,p).O _EQ_ O by A21,Th31,Th40;
then compell_ProjCo(z,p).P _EQ_ O by A22,EC_PF_1:44;
then CQ _EQ_ compell_ProjCo(z,p).P by A18,A20,EC_PF_1:44;
hence contradiction by A2,Th46;
end;
P`2_3 <> 0
proof
assume A23: P`2_3 = 0;
P _EQ_ compell_ProjCo(z,p).P by A5,A23,Th44;
then compell_ProjCo(z,p).P _EQ_ compell_ProjCo(z,p).Q
by A3,EC_PF_1:44;
hence contradiction by A2,Th46;
end;
hence thesis by A3,A5,A14,Th51;
end;
theorem Th53:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
g3 be Element of GF(p), P be Element of EC_SetProjCo(z`1,z`2,p)
st g3 = 3 mod p & P`2_3 = 0 & P`3_3 <> 0 holds
(z`1)*(P`3_3 |^2) + g3*(P`1_3 |^2) <> 0
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
g3 be Element of GF(p), P be Element of EC_SetProjCo(z`1,z`2,p) such that
A1: g3 = 3 mod p and
A2: P`2_3 = 0 and
A3: P`3_3 <> 0;
set a = z`1;
set b = z`2;
A4: p > 3 & Disc(a,b,p) <> 0.GF(p) by Th30;
P`3_3 |^2 <> 0 by A3,EC_PF_1:25;
then A5: P`3_3 |^2 <> 0.GF(p) by EC_PF_1:11;
0 = 0.(GF p) by EC_PF_1:11;
then
A6: P`2_3 |^2 = 0.GF(p) by A2,Th5;
reconsider g2 = 2 mod p as Element of GF(p) by EC_PF_1:14;
reconsider g4 = 4 mod p as Element of GF(p) by EC_PF_1:14;
reconsider g9 = 9 mod p as Element of GF(p) by EC_PF_1:14;
reconsider g27 = 27 mod p as Element of GF(p) by EC_PF_1:14;
A7: 3 = 2 + 1;
A8: g2 |^2 = g2*g2 by EC_PF_1:22
.= (2*2) mod p by EC_PF_1:18
.= g4;
A9: g3 |^2 = g3*g3 by EC_PF_1:22
.= (3*3) mod p by A1,EC_PF_1:18
.= g9;
A10: g3 |^3 = g3 |^(2+1)
.= g9 * g3 by A9,EC_PF_1:24
.= (9*3) mod p by A1,EC_PF_1:18
.= g27;
assume A11: a*(P`3_3 |^2) + g3*(P`1_3 |^2) = 0;
((P`2_3) |^2)*(P`3_3) - ((P`1_3) |^3 + a*(P`1_3)*(P`3_3) |^2
+ b*(P`3_3) |^3)
= 0.GF(p) by Th35;
then ((P`2_3) |^2)*(P`3_3) = (P`1_3) |^3 + a*(P`1_3)*(P`3_3) |^2
+ b*(P`3_3) |^3
by VECTSP_1:19;
then g3*((P`1_3) |^3 + a*(P`1_3)*(P`3_3) |^2 + b*(P`3_3) |^3) = 0.GF(p)
by A6;
then g3*((P`1_3) |^3 + a*(P`1_3)*(P`3_3) |^2) + g3*(b*(P`3_3) |^3)
= 0.GF(p)
by VECTSP_1:def 7;
then g3*((P`1_3) |^3) + g3*(a*(P`1_3)*(P`3_3) |^2) + g3*(b*(P`3_3) |^3)
= 0.GF(p)
by VECTSP_1:def 7;
then g3*((P`1_3) |^(2+1)) + g3*(a*((P`1_3)*(P`3_3) |^2))
+ g3*(b*(P`3_3) |^3)
= 0.GF(p) by GROUP_1:def 3;
then g3*((P`1_3) |^(2+1)) + (g3*a)*((P`1_3)*((P`3_3) |^2))
+ g3*(b*(P`3_3) |^3)
= 0.GF(p) by GROUP_1:def 3;
then g3*((P`1_3) |^(2+1)) + g3*a*(P`1_3)*((P`3_3) |^2)
+ g3*(b*((P`3_3) |^3))
= 0.GF(p) by GROUP_1:def 3;
then g3*((P`1_3) |^(2+1)) + g3*a*(P`1_3)*((P`3_3) |^2) + g3*b*((P`3_3) |^3)
= 0.GF(p) by GROUP_1:def 3;
then g3*(((P`1_3) |^2)*(P`1_3)) + g3*a*(P`1_3)*(P`3_3) |^2
+ g3*b*(P`3_3) |^(2+1)
= 0.GF(p) by EC_PF_1:24;
then g3*(((P`1_3) |^2)*(P`1_3)) + g3*a*(P`1_3)*(P`3_3) |^2 +
g3*b*((P`3_3) |^2*(P`3_3)) = 0.GF(p) by EC_PF_1:24;
then (g3*(P`1_3) |^2)*(P`1_3) + g3*a*(P`1_3)*(P`3_3) |^2
+ g3*b*((P`3_3)* (P`3_3) |^2) = 0.GF(p) by GROUP_1:def 3;
then (g3*(P`1_3) |^2)*(P`1_3) + (g3*a*(P`1_3))*(P`3_3) |^2
+ (g3*b*(P`3_3))*(P`3_3) |^2 = 0.GF(p) by GROUP_1:def 3;
then (g3*(P`1_3) |^2)*(P`1_3) + (((P`3_3) |^2)*(g3*a*(P`1_3))
+ ((P`3_3) |^2)*(g3*b*(P`3_3))) = 0.GF(p) by ALGSTR_1:7;
then
A12: (g3*(P`1_3) |^2)*(P`1_3) + ((P`3_3) |^2)*(g3*a*(P`1_3)+g3*b*(P`3_3))
= 0.GF(p) by VECTSP_1:def 7;
A13: a*(P`3_3 |^2) + g3*(P`1_3 |^2) = 0.GF(p) by A11,EC_PF_1:11;
then (-a*(P`3_3 |^2))*(P`1_3) + ((P`3_3) |^2)*(g3*a*(P`1_3)+g3*b*(P`3_3))
= 0.GF(p) by A12,VECTSP_1:16;
then ((-a)*(P`3_3 |^2))*(P`1_3) + ((P`3_3) |^2)*(g3*a*(P`1_3)+g3*b*(P`3_3))
= 0.GF(p) by VECTSP_1:9;
then ((P`3_3) |^2)*((-a)*(P`1_3)) + ((P`3_3) |^2)*(g3*a*(P`1_3)
+g3*b*(P`3_3))
= 0.GF(p) by GROUP_1:def 3;
then ((P`3_3) |^2)*((-a)*(P`1_3) + (g3*a*(P`1_3) + g3*b*(P`3_3))) = 0.GF(p)
by VECTSP_1:def 7;
then (-a)*(P`1_3) + (g3*a*(P`1_3) + g3*b*(P`3_3)) = 0.GF(p)
by A5,VECTSP_1:12;
then (-a)*(P`1_3) + g3*a*(P`1_3) + g3*b*(P`3_3) = 0.GF(p) by ALGSTR_1:7;
then -a*(P`1_3) + g3*a*(P`1_3) + g3*b*(P`3_3) = 0.GF(p)
by VECTSP_1:9;
then g3*(a*(P`1_3)) - a*(P`1_3) + g3*b*(P`3_3) = 0.GF(p) by GROUP_1:def 3;
then g2*(a*(P`1_3)) + g3*b*(P`3_3) = 0.GF(p) by A1,A7,Th23;
then g2*(a*(P`1_3)) = -g3*b*(P`3_3) by VECTSP_1:16;
then (g2*(a*(P`1_3))) |^2 = (g3*b*(P`3_3)) |^2 by Th1;
then (g2 |^2)*((a*(P`1_3)) |^2) = (g3*b*(P`3_3)) |^2 by BINOM:9;
then (g2 |^2)*((a*(P`1_3)) |^2) = (g3*(b*(P`3_3))) |^2 by GROUP_1:def 3;
then (g2 |^2)*((a |^2)*((P`1_3) |^2)) = (g3*(b*(P`3_3))) |^2 by BINOM:9;
then (g2 |^2)*((a |^2)*((P`1_3) |^2)) = (g3 |^2)*((b*(P`3_3)) |^2)
by BINOM:9;
then (g2 |^2)*((a |^2)*((P`1_3) |^2)) = (g3 |^2)*((b |^2)*((P`3_3) |^2))
by BINOM:9;
then (g2 |^2)*(a |^2)*((P`1_3) |^2) = (g3 |^2)*((b |^2)*((P`3_3) |^2))
by GROUP_1:def 3;
then A14: (g2 |^2)*(a |^2)*((P`1_3) |^2) = (g3 |^2)*(b |^2)*((P`3_3) |^2)
by GROUP_1:def 3;
((g2 |^2)*(a |^2))*(a*(P`3_3 |^2) + g3*(P`1_3 |^2))
= 0.GF(p) by A13;
then ((g2 |^2)*(a|^2))*(a*(P`3_3 |^2)) + ((g2 |^2)*(a|^2))*(g3*(P`1_3 |^2))
= 0.GF(p) by VECTSP_1:def 7;
then (g2 |^2)*((a|^2)*(a*(P`3_3 |^2))) + ((g2 |^2)*(a|^2))*(g3*(P`1_3 |^2))
= 0.GF(p) by GROUP_1:def 3;
then (g2 |^2)*(((a|^2)*a)*(P`3_3 |^2)) + ((g2 |^2)*(a|^2))*(g3*(P`1_3 |^2))
= 0.GF(p) by GROUP_1:def 3;
then (g2 |^2)*((a|^(2+1))*(P`3_3 |^2)) + (g3*(P`1_3 |^2))*((g2 |^2)*(a|^2))
= 0.GF(p) by EC_PF_1:24;
then (g2 |^2)*((a|^3)*(P`3_3 |^2)) + g3*((P`1_3 |^2)*((g2 |^2)*(a|^2)))
= 0.GF(p) by GROUP_1:def 3;
then ((g2 |^2)*(a|^3))*(P`3_3 |^2) + g3*((g3 |^2)*(b |^2)*((P`3_3) |^2))
= 0.GF(p) by A14,GROUP_1:def 3;
then ((g2 |^2)*(a|^3))*(P`3_3 |^2) + g3*((g3 |^2)*((b |^2)*((P`3_3) |^2)))
= 0.GF(p) by GROUP_1:def 3;
then ((g2 |^2)*(a|^3))*(P`3_3 |^2) + (g3*(g3 |^2))*((b |^2)*((P`3_3) |^2))
= 0.GF(p) by GROUP_1:def 3;
then (P`3_3 |^2)* ((g2 |^2)*(a|^3)) + (g3 |^(2+1))*((b |^2)*((P`3_3) |^2))
= 0.GF(p) by EC_PF_1:24;
then (P`3_3 |^2)* ((g2 |^2)*(a|^3)) + ((g3 |^3)*(b |^2))*((P`3_3) |^2)
= 0.GF(p) by GROUP_1:def 3;
then (P`3_3 |^2)*((g2 |^2)*(a|^3) + (g3 |^3)*(b |^2)) = 0.GF(p)
by VECTSP_1:def 7;
then g4*(a|^3) + g27*(b|^2) = 0.GF(p) by A5,A8,A10,VECTSP_1:12;
hence contradiction by A4,EC_PF_1:def 7;
end;
theorem Th54:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, gf1, gf2, gf3 be Element of GF(p),
P, Q be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
st g2 = 2 mod p & gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3) &
gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3) &
gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3) - (gf2 |^3) - g2*(gf2 |^2)*(P`1_3)*(Q`3_3) &
R = [gf2*gf3, gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)
- (gf2 |^3)*(P`2_3)*(Q`3_3),
(gf2 |^3)*(P`3_3)*(Q`3_3)]
holds gf2*(P`3_3)*(R`2_3)
= - (gf1*(R`1_3*(P`3_3) - P`1_3*(R`3_3)) + gf2*(P`2_3)*(R`3_3))
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, gf1, gf2, gf3 be Element of GF(p),
P, Q be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
such that
g2 = 2 mod p and
gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3) & gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3) &
gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3) - (gf2 |^3) - g2*(gf2 |^2)*(P`1_3)*(Q`3_3)
and
A1: R = [gf2*gf3, gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)
- (gf2 |^3)*(P`2_3)*(Q`3_3),
(gf2 |^3)*(P`3_3)*(Q`3_3)];
R`1_3*(P`3_3)-P`1_3*(R`3_3) = (gf2*gf3)*(P`3_3)-P`1_3*(R`3_3)
by A1
.= (gf2*gf3)*(P`3_3)-P`1_3*((gf2 |^3)*(P`3_3)*(Q`3_3)) by A1
.= gf2*(P`3_3)*gf3-P`1_3*((gf2 |^(2+1))*(P`3_3)*(Q`3_3)) by GROUP_1:def 3
.= (gf2*(P`3_3))*gf3-P`1_3*(((gf2 |^2)*gf2)*(P`3_3)*(Q`3_3)) by EC_PF_1:24
.= (gf2*(P`3_3))*gf3
-((gf2 |^2)*gf2*(P`3_3))*(P`1_3)*(Q`3_3) by GROUP_1:def 3
.= (gf2*(P`3_3))*gf3-(gf2*(P`3_3)*(gf2 |^2))*(P`1_3)*(Q`3_3)
by GROUP_1:def 3
.= (gf2*(P`3_3))*gf3-(gf2*(P`3_3))*((gf2 |^2)*(P`1_3)*(Q`3_3)) by Th11
.= (gf2*(P`3_3))*(gf3-(gf2 |^2)*(P`1_3)*(Q`3_3)) by VECTSP_1:11
.= (gf2*(P`3_3))*(-((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)) by VECTSP_1:17
.= -(gf2*(P`3_3))*((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3) by VECTSP_1:8
.= (-gf2*(P`3_3))*((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3) by VECTSP_1:9;
then
A2: gf1*(R`1_3*(P`3_3)-P`1_3*(R`3_3))
= (-gf2*(P`3_3))*(gf1*((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)) by GROUP_1:def 3;
A3: gf2*(P`2_3)*(R`3_3) = gf2*(P`2_3)*((gf2 |^3)*(P`3_3)*(Q`3_3))
by A1
.= gf2*(P`2_3*((gf2 |^3)*(P`3_3)*(Q`3_3))) by GROUP_1:def 3
.= gf2*(P`3_3*(gf2 |^3)*(P`2_3)*(Q`3_3)) by GROUP_1:def 3
.= gf2*(P`3_3)*(gf2 |^3)*(P`2_3)*(Q`3_3) by Th11
.= (gf2*(P`3_3))*((gf2 |^3)*(P`2_3)*(Q`3_3)) by Th11
.= (-gf2*(P`3_3))*(-(gf2 |^3)*(P`2_3)*(Q`3_3)) by VECTSP_1:10;
thus -(gf1*(R`1_3*(P`3_3) - P`1_3*(R`3_3)) + gf2*(P`2_3)*(R`3_3))
= -((-gf2*(P`3_3))*(gf1*((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)
-(gf2 |^3)*(P`2_3)*(Q`3_3))) by A2,A3,VECTSP_1:def 7
.= -(-((gf2*(P`3_3))*(R`2_3))) by A1,VECTSP_1:9
.= gf2*(P`3_3)*(R`2_3) by RLVECT_1:17;
end;
theorem Th55:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, gf1, gf2, gf3 be Element of GF(p),
P, Q be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
st g2 = 2 mod p & gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3) &
gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3) &
gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3) - (gf2 |^3) - g2*(gf2 |^2)*(P`1_3)*(Q`3_3) &
R = [gf2*gf3, gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)
- (gf2 |^3)*(P`2_3)*(Q`3_3),
(gf2 |^3)*(P`3_3)*(Q`3_3)]
holds -(gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3)
+P`3_3*(Q`1_3)*(R`3_3)+P`1_3*(Q`3_3)*(R`3_3))
+ P`3_3*(Q`3_3)*(R`3_3)*(gf1 |^2) = 0.GF(p)
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, gf1, gf2, gf3 be Element of GF(p),
P, Q be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
such that
A1: g2 = 2 mod p and
A2: gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3) &
gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3) &
gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3) - (gf2 |^3) - g2*(gf2 |^2)*(P`1_3)*(Q`3_3)
and
A3: R = [gf2*gf3, gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)
- (gf2 |^3)*(P`2_3)*(Q`3_3),
(gf2 |^3)*(P`3_3)*(Q`3_3)];
A4: P`3_3*(Q`3_3)*(R`3_3)*(gf1 |^2)
= R`3_3*((P`3_3*(Q`3_3))*(gf1 |^2)) by GROUP_1:def 3
.= R`3_3*((gf1 |^2)*(P`3_3)*(Q`3_3)) by GROUP_1:def 3;
A5: P`3_3*(Q`1_3)*(R`3_3)+P`1_3*(Q`3_3)*(R`3_3)
= (P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)
by VECTSP_1:def 7
.= (P`3_3*(Q`1_3)+P`1_3*(Q`3_3)+0.GF(p))*(R`3_3) by ALGSTR_1:7
.= (P`3_3*(Q`1_3)+P`1_3*(Q`3_3)+(Q`3_3*(P`1_3)-Q`3_3*(P`1_3)))*(R`3_3)
by VECTSP_1:19
.= (P`3_3*(Q`1_3)+P`1_3*(Q`3_3)+Q`3_3*(P`1_3)-Q`3_3*(P`1_3))*(R`3_3)
by ALGSTR_1:7
.= (Q`3_3*(P`1_3)+P`1_3*(Q`3_3)+P`3_3*(Q`1_3)-Q`3_3*(P`1_3))*(R`3_3)
by ALGSTR_1:7
.= (g2*(Q`3_3*(P`1_3))+Q`1_3*(P`3_3)-P`1_3*(Q`3_3))*(R`3_3) by A1,Th20
.= R`3_3*(g2*(Q`3_3*(P`1_3))+gf2) by A2,ALGSTR_1:7;
A6: (gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3)) = (gf2 |^2)*(P`3_3*(Q`3_3)*(gf2*gf3))
by A3
.= (gf2 |^2)*(P`3_3)*(Q`3_3)*(gf2*gf3) by Th11
.= (gf2 |^2)*(P`3_3)*(Q`3_3)*gf2*gf3 by GROUP_1:def 3
.= gf2*(gf2 |^2)*(P`3_3)*(Q`3_3)*gf3 by Th11
.= (gf2 |^(2+1))*(P`3_3)*(Q`3_3)*gf3 by EC_PF_1:24
.= R`3_3*gf3 by A3;
A7: (gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3)
+P`3_3*(Q`1_3)*(R`3_3)+P`1_3*(Q`3_3)*(R`3_3))
= (gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3)+R`3_3*(g2*(Q`3_3*(P`1_3))+gf2))
by A5,ALGSTR_1:7
.= (gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3))
+(gf2 |^2)*(R`3_3*(g2*(Q`3_3*(P`1_3))+gf2))
by VECTSP_1:def 7
.= R`3_3*gf3+R`3_3*((gf2 |^2)*(g2*(Q`3_3*(P`1_3))+gf2)) by A6,GROUP_1:def 3
.= R`3_3*(gf3+(gf2 |^2)*(g2*(Q`3_3*(P`1_3))+gf2)) by VECTSP_1:def 7;
gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3)
-(g2*(gf2 |^2)*(P`1_3)*(Q`3_3)+(gf2 |^(2+1)))
by A2,VECTSP_1:17
.= (gf1 |^2)*(P`3_3)*(Q`3_3)-((gf2 |^2)*g2*(P`1_3)*(Q`3_3)+(gf2 |^2)*gf2)
by EC_PF_1:24
.= (gf1 |^2)*(P`3_3)*(Q`3_3)-((gf2 |^2)*g2*(P`1_3*(Q`3_3))+(gf2 |^2)*gf2)
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3)*(Q`3_3)-((gf2 |^2)*(g2*(P`1_3*(Q`3_3)))+(gf2 |^2)*gf2)
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3)*(Q`3_3)-(gf2 |^2)*(g2*(Q`3_3*(P`1_3))+gf2)
by VECTSP_1:def 7;
then (gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3)
+P`3_3*(Q`1_3)*(R`3_3)+P`1_3*(Q`3_3)*(R`3_3))
= R`3_3*((gf1 |^2)*(P`3_3)*(Q`3_3)+((-(gf2 |^2)*(g2*(Q`3_3*(P`1_3))+gf2))
+((gf2 |^2)*(g2*(Q`3_3*(P`1_3))+gf2)))) by A7,ALGSTR_1:7
.= R`3_3*((gf1 |^2)*(P`3_3)*(Q`3_3)+0.GF(p)) by VECTSP_1:19
.= R`3_3*((gf1 |^2)*(P`3_3)*(Q`3_3)) by ALGSTR_1:7;
hence -(gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3)+P`3_3*(Q`1_3)*(R`3_3)
+P`1_3*(Q`3_3)*(R`3_3))
+ P`3_3*(Q`3_3)*(R`3_3)*(gf1 |^2)
= 0.GF(p) by A4,RLVECT_1:5;
end;
theorem Th56:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, gf1, gf2, gf3 be Element of GF(p),
P, Q be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
st g2 = 2 mod p & gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3) &
gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3) &
gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3) - (gf2 |^3) - g2*(gf2 |^2)*(P`1_3)*(Q`3_3) &
R = [gf2*gf3,
gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3) - (gf2 |^3)*(P`2_3)*(Q`3_3),
(gf2 |^3)*(P`3_3)*(Q`3_3)]
holds z`2*(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(R`3_3)
= -(gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3)
+ ((gf2*(P`2_3) - gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3)
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, gf1, gf2, gf3 be Element of GF(p),
P, Q be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
such that
A1: g2 = 2 mod p and
A2: gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3) &
gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3) &
gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3) - (gf2 |^3) - g2*(gf2 |^2)*(P`1_3)*(Q`3_3)
and
A3: R = [gf2*gf3, gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)
- (gf2 |^3)*(P`2_3)*(Q`3_3),
(gf2 |^3)*(P`3_3)*(Q`3_3)];
set a = z`1;
set b = z`2;
A4: gf2*(P`2_3)-gf1*(P`1_3)
= ((Q`1_3*(P`3_3))*(P`2_3)-(P`1_3*(Q`3_3))*(P`2_3))
-(Q`2_3*(P`3_3)-P`2_3*(Q`3_3))*(P`1_3)
by A2,VECTSP_1:11
.= ((Q`1_3*(P`3_3))*(P`2_3)-(P`1_3*(Q`3_3))*(P`2_3))
-((Q`2_3*(P`3_3))*(P`1_3)-(P`2_3*(Q`3_3))*(P`1_3))
by VECTSP_1:11
.= ((Q`1_3*(P`3_3))*(P`2_3)-(P`1_3*(Q`3_3))*(P`2_3))
+((P`2_3*(Q`3_3))*(P`1_3)-(Q`2_3*(P`3_3))*(P`1_3))
by VECTSP_1:17
.= ((Q`1_3*(P`3_3))*(P`2_3)-P`1_3*(Q`3_3*(P`2_3)))
+((P`2_3*(Q`3_3))*(P`1_3)-(Q`2_3*(P`3_3))*(P`1_3))
by GROUP_1:def 3
.= (Q`1_3*(P`3_3))*(P`2_3)+(-P`1_3*(Q`3_3*(P`2_3))
+((P`2_3*(Q`3_3))*(P`1_3)-(Q`2_3*(P`3_3))*(P`1_3)))
by ALGSTR_1:7
.= (Q`1_3*(P`3_3))*(P`2_3)+((-P`1_3*(P`2_3*(Q`3_3))
+(P`2_3*(Q`3_3))*(P`1_3))-(Q`2_3*(P`3_3))*(P`1_3))
by ALGSTR_1:7
.= (Q`1_3*(P`3_3))*(P`2_3)+(0.GF(p)-(P`3_3*(Q`2_3))*(P`1_3)) by VECTSP_1:19
.= (P`3_3*(Q`1_3))*(P`2_3)-(P`3_3*(Q`2_3))*(P`1_3) by VECTSP_1:18
.= P`3_3*(Q`1_3*(P`2_3))-(P`3_3*(Q`2_3))*(P`1_3) by GROUP_1:def 3
.= P`3_3*(P`2_3*(Q`1_3))-P`3_3*(Q`2_3*(P`1_3)) by GROUP_1:def 3
.= P`3_3*(P`2_3*(Q`1_3)-Q`2_3*(P`1_3)) by VECTSP_1:11;
gf2*(Q`2_3)-gf1*(Q`1_3)
= ((Q`1_3*(P`3_3))*(Q`2_3)-(P`1_3*(Q`3_3))*(Q`2_3))
-(Q`2_3*(P`3_3)-P`2_3*(Q`3_3))*(Q`1_3)
by A2,VECTSP_1:11
.= ((Q`1_3*(P`3_3))*(Q`2_3)-(P`1_3*(Q`3_3))*(Q`2_3))
-((Q`2_3*(P`3_3))*(Q`1_3)-(P`2_3*(Q`3_3))*(Q`1_3))
by VECTSP_1:11
.= ((Q`1_3*(P`3_3))*(Q`2_3)-(P`1_3*(Q`3_3))*(Q`2_3))
+((P`2_3*(Q`3_3))*(Q`1_3)-(Q`2_3*(P`3_3))*(Q`1_3))
by VECTSP_1:17
.= (Q`1_3*(P`3_3))*(Q`2_3)-(P`1_3*(Q`3_3))*(Q`2_3)
+(P`2_3*(Q`3_3))*(Q`1_3)-(Q`2_3*(P`3_3))*(Q`1_3)
by ALGSTR_1:7
.= (Q`1_3*(P`3_3))*(Q`2_3)-(Q`2_3*(P`3_3))*(Q`1_3)
+(P`2_3*(Q`3_3))*(Q`1_3)-(P`1_3*(Q`3_3))*(Q`2_3)
by Th7
.= Q`1_3*(P`3_3*(Q`2_3))-Q`1_3*(P`3_3*(Q`2_3))
+(Q`3_3*(P`2_3))*(Q`1_3)-(Q`3_3*(P`1_3))*(Q`2_3)
by GROUP_1:def 3
.= 0.GF(p)+(Q`3_3*(P`2_3))*(Q`1_3)-(Q`3_3*(P`1_3))*(Q`2_3) by VECTSP_1:19
.= (Q`3_3*(P`2_3))*(Q`1_3)-(Q`3_3*(P`1_3))*(Q`2_3) by ALGSTR_1:7
.= Q`3_3*(P`2_3*(Q`1_3))-(Q`3_3*(P`1_3))*(Q`2_3) by GROUP_1:def 3
.= Q`3_3*(P`2_3*(Q`1_3))-Q`3_3*(P`1_3*(Q`2_3)) by GROUP_1:def 3
.= Q`3_3*(P`2_3*(Q`1_3)-P`1_3*(Q`2_3)) by VECTSP_1:11;
then
A5: (gf2*(Q`2_3)-gf1*(Q`1_3))*(P`3_3)
= (gf2*(P`2_3)-gf1*(P`1_3))*(Q`3_3) by A4,GROUP_1:def 3;
A6: -(gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3)
= -(gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*gf3*gf2 by GROUP_1:def 3,A3
.= -gf2*(gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*gf3 by Th12
.= -(gf2 |^(2+1))*(P`3_3)*(P`1_3)*(Q`1_3)*gf3 by EC_PF_1:24
.= -(gf2 |^3)*(P`3_3)*(P`1_3*(Q`1_3)*gf3) by Th11
.= (gf2 |^3)*(P`3_3)*(-P`1_3*(Q`1_3)*gf3) by VECTSP_1:8;
-gf1*(P`1_3*(Q`2_3)+Q`1_3*(P`2_3))
= -(Q`2_3*(P`3_3)*(P`1_3*(Q`2_3)+Q`1_3*(P`2_3))
-P`2_3*(Q`3_3)*(P`1_3*(Q`2_3)+Q`1_3*(P`2_3)))
by A2,VECTSP_1:13
.= -(Q`2_3*(P`3_3)*(P`1_3*(Q`2_3))
+Q`2_3*(P`3_3)*(Q`1_3*(P`2_3))
-P`2_3*(Q`3_3)*(P`1_3*(Q`2_3)+Q`1_3*(P`2_3)))
by VECTSP_1:def 7
.= -(Q`2_3*(P`3_3)*(P`1_3*(Q`2_3))+Q`2_3*(P`3_3)*(Q`1_3*(P`2_3))
-(P`2_3*(Q`3_3)*(P`1_3*(Q`2_3))+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))))
by VECTSP_1:def 7
.= (P`2_3*(Q`3_3)*(P`1_3*(Q`2_3))+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3)))
-(Q`2_3*(P`3_3)*(P`1_3*(Q`2_3))+Q`2_3*(P`3_3)*(Q`1_3*(P`2_3)))
by VECTSP_1:17
.= P`2_3*(Q`3_3)*(P`1_3*(Q`2_3))+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))
-Q`2_3*(P`3_3)*(Q`1_3*(P`2_3))-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3)) by VECTSP_1:17
.= P`2_3*(Q`3_3)*(P`1_3*(Q`2_3))-Q`2_3*(P`3_3)*(Q`1_3*(P`2_3))
+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3)) by ALGSTR_1:8
.= P`2_3*(Q`3_3)*(P`1_3*(Q`2_3))-P`3_3*(Q`1_3*(P`2_3))*(Q`2_3)
+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3))
by GROUP_1:def 3
.= (P`2_3*(Q`3_3)*(P`1_3))*(Q`2_3)-P`3_3*(Q`1_3*(P`2_3))*(Q`2_3)
+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3))
by GROUP_1:def 3
.= (P`1_3*(Q`3_3)*(P`2_3))*(Q`2_3)-P`3_3*(Q`1_3*(P`2_3))*(Q`2_3)
+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3))
by GROUP_1:def 3
.= (P`1_3*(Q`3_3)*(P`2_3))*(Q`2_3)-(P`3_3*(Q`1_3)*(P`2_3))*(Q`2_3)
+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3))
by GROUP_1:def 3
.= (P`1_3*(Q`3_3))*(P`2_3*(Q`2_3))-(P`3_3*(Q`1_3)*(P`2_3))*(Q`2_3)
+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3))
by GROUP_1:def 3
.= (P`1_3*(Q`3_3))*(P`2_3*(Q`2_3))-(P`3_3*(Q`1_3))*(P`2_3*(Q`2_3))
+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3))
by GROUP_1:def 3
.= (P`1_3*(Q`3_3)-P`3_3*(Q`1_3))*(P`2_3*(Q`2_3))
+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3)) by VECTSP_1:13
.= (-(P`1_3*(Q`3_3)-P`3_3*(Q`1_3)))*(-P`2_3*(Q`2_3))
+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3)) by VECTSP_1:10
.= (P`3_3*(Q`1_3)-P`1_3*(Q`3_3))*(-P`2_3*(Q`2_3))
+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3)) by VECTSP_1:17
.= -(Q`1_3*(P`3_3)-P`1_3*(Q`3_3))*(P`2_3*(Q`2_3))
+P`2_3*(Q`3_3)*(Q`1_3*(P`2_3))-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3)) by VECTSP_1:8
.= -gf2*(P`2_3*(Q`2_3))
+Q`3_3*(Q`1_3*(P`2_3))*(P`2_3)-Q`2_3*(P`3_3)*(P`1_3*(Q`2_3))
by A2,GROUP_1:def 3
.= -gf2*(P`2_3*(Q`2_3))
+Q`3_3*(Q`1_3*(P`2_3))*(P`2_3)-P`3_3*(P`1_3*(Q`2_3))*(Q`2_3)
by GROUP_1:def 3
.= -gf2*(P`2_3)*(Q`2_3)
+Q`3_3*(Q`1_3*(P`2_3))*(P`2_3)-P`3_3*(P`1_3*(Q`2_3))*(Q`2_3)
by GROUP_1:def 3
.= -gf2*(P`2_3)*(Q`2_3)
+Q`3_3*(Q`1_3)*(P`2_3)*(P`2_3)-P`3_3*(P`1_3*(Q`2_3))*(Q`2_3)
by GROUP_1:def 3
.= -gf2*(P`2_3)*(Q`2_3)
+Q`3_3*(Q`1_3)*(P`2_3*(P`2_3))-P`3_3*(P`1_3*(Q`2_3))*(Q`2_3)
by GROUP_1:def 3
.= -gf2*(P`2_3)*(Q`2_3)
+Q`3_3*(Q`1_3)*(P`2_3 |^2)-P`3_3*(P`1_3*(Q`2_3))*(Q`2_3) by EC_PF_1:22
.= -gf2*(P`2_3)*(Q`2_3)
+Q`3_3*(Q`1_3)*(P`2_3 |^2)-P`3_3*(P`1_3)*(Q`2_3)*(Q`2_3) by GROUP_1:def 3
.= -gf2*(P`2_3)*(Q`2_3)
+Q`3_3*(Q`1_3)*(P`2_3 |^2)-P`3_3*(P`1_3)*(Q`2_3*(Q`2_3)) by GROUP_1:def 3
.= -gf2*(P`2_3)*(Q`2_3)
+Q`3_3*(Q`1_3)*(P`2_3 |^2)-P`3_3*(P`1_3)*(Q`2_3 |^2) by EC_PF_1:22
.= -gf2*(P`2_3)*(Q`2_3)
+Q`1_3*(P`2_3 |^2)*(Q`3_3)-P`3_3*(P`1_3)*(Q`2_3 |^2) by GROUP_1:def 3
.= -gf2*(P`2_3)*(Q`2_3)
+Q`1_3*(P`2_3 |^2)*(Q`3_3)-P`1_3*(Q`2_3 |^2)*(P`3_3) by GROUP_1:def 3; then
A7: gf2*(P`2_3)*(Q`2_3)-gf1*(P`1_3*(Q`2_3)+Q`1_3*(P`2_3))
= gf2*(P`2_3)*(Q`2_3)-gf2*(P`2_3)*(Q`2_3)
+Q`1_3*(P`2_3 |^2)*(Q`3_3)-P`1_3*(Q`2_3 |^2)*(P`3_3) by Th8
.= 0.GF(p)+Q`1_3*(P`2_3 |^2)*(Q`3_3)-P`1_3*(Q`2_3 |^2)*(P`3_3)
by RLVECT_1:5
.= Q`1_3*(P`2_3 |^2)*(Q`3_3)-P`1_3*(Q`2_3 |^2)*(P`3_3) by RLVECT_1:4;
A8: ((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(Q`3_3)
= (gf2*(P`2_3)-gf1*(P`1_3))*(gf2*(P`2_3)-gf1*(P`1_3))*(Q`3_3) by EC_PF_1:22
.= (gf2*(P`2_3)-gf1*(P`1_3))*((gf2*(P`2_3)-gf1*(P`1_3))*(Q`3_3))
by GROUP_1:def 3
.= (gf2*(P`2_3)-gf1*(P`1_3))*(gf2*(Q`2_3)-gf1*(Q`1_3))*(P`3_3)
by A5,GROUP_1:def 3
.= (gf2*(P`2_3)*(gf2*(Q`2_3)-gf1*(Q`1_3))
-gf1*(P`1_3)*(gf2*(Q`2_3)-gf1*(Q`1_3)))*(P`3_3) by VECTSP_1:13
.= (gf2*(P`2_3)*(gf2*(Q`2_3))-gf2*(P`2_3)*(gf1*(Q`1_3))
-gf1*(P`1_3)*(gf2*(Q`2_3)-gf1*(Q`1_3)))*(P`3_3)
by VECTSP_1:11
.= (gf2*(gf2*(P`2_3)*(Q`2_3))-gf2*(P`2_3)*(gf1*(Q`1_3))
-gf1*(P`1_3)*(gf2*(Q`2_3)-gf1*(Q`1_3)))*(P`3_3)
by GROUP_1:def 3
.= (gf2*(gf2*(P`2_3)*(Q`2_3))-gf2*(gf1*(Q`1_3))*(P`2_3)
-gf1*(P`1_3)*(gf2*(Q`2_3)-gf1*(Q`1_3)))*(P`3_3)
by GROUP_1:def 3
.= (gf2*(gf2*(P`2_3)*(Q`2_3))-gf2*gf1*(Q`1_3)*(P`2_3)
-gf1*(P`1_3)*(gf2*(Q`2_3)-gf1*(Q`1_3)))*(P`3_3)
by GROUP_1:def 3
.= (gf2*(gf2*(P`2_3)*(Q`2_3))-gf2*gf1*(Q`1_3*(P`2_3))
-gf1*(P`1_3)*(gf2*(Q`2_3)-gf1*(Q`1_3)))*(P`3_3)
by GROUP_1:def 3
.= (gf2*(gf2*(P`2_3)*(Q`2_3))-gf2*gf1*(Q`1_3*(P`2_3))
-(gf1*(P`1_3)*(gf2*(Q`2_3))-gf1*(P`1_3)*(gf1*(Q`1_3))))*(P`3_3)
by VECTSP_1:11
.= (gf2*(gf2*(P`2_3)*(Q`2_3))-gf2*gf1*(Q`1_3*(P`2_3))
+(gf1*(P`1_3)*(gf1*(Q`1_3))-gf1*(P`1_3)*(gf2*(Q`2_3))))*(P`3_3)
by VECTSP_1:17
.= (gf2*(gf2*(P`2_3)*(Q`2_3))-gf2*gf1*(Q`1_3*(P`2_3))
+gf1*(P`1_3)*(gf1*(Q`1_3))-gf1*(P`1_3)*(gf2*(Q`2_3)))*(P`3_3) by ALGSTR_1:7
.= (gf2*(gf2*(P`2_3)*(Q`2_3))-gf2*gf1*(Q`1_3*(P`2_3))
-gf1*(P`1_3)*(gf2*(Q`2_3))+gf1*(P`1_3)*(gf1*(Q`1_3)))*(P`3_3) by ALGSTR_1:8
.= (gf2*(gf2*(P`2_3)*(Q`2_3))+(-gf2*gf1*(Q`1_3*(P`2_3))
-gf1*(P`1_3)*(gf2*(Q`2_3)))+gf1*(P`1_3)*(gf1*(Q`1_3)))*(P`3_3)
by ALGSTR_1:7
.= (gf2*(gf2*(P`2_3)*(Q`2_3))+(-gf2*gf1*(Q`1_3*(P`2_3))
-gf1*(P`1_3)*gf2*(Q`2_3))+gf1*(P`1_3)*(gf1*(Q`1_3)))*(P`3_3)
by GROUP_1:def 3
.= (gf2*(gf2*(P`2_3)*(Q`2_3))+(-gf2*gf1*(Q`1_3*(P`2_3))
-gf2*gf1*(P`1_3)*(Q`2_3))+gf1*(P`1_3)*(gf1*(Q`1_3)))*(P`3_3)
by GROUP_1:def 3
.= (gf2*(gf2*(P`2_3)*(Q`2_3))+(-gf2*gf1*(Q`1_3*(P`2_3))
-gf2*gf1*(P`1_3*(Q`2_3)))+gf1*(P`1_3)*(gf1*(Q`1_3)))*(P`3_3)
by GROUP_1:def 3
.= (gf2*(gf2*(P`2_3)*(Q`2_3))
-(gf2*gf1*(P`1_3*(Q`2_3))+gf2*gf1*(Q`1_3*(P`2_3)))
+gf1*(P`1_3)*(gf1*(Q`1_3)))*(P`3_3) by VECTSP_1:17
.= (gf2*(gf2*(P`2_3)*(Q`2_3))-gf2*gf1*(P`1_3*(Q`2_3)+Q`1_3*(P`2_3))
+gf1*(P`1_3)*(gf1*(Q`1_3)))*(P`3_3) by VECTSP_1:def 7
.= (gf2*(gf2*(P`2_3)*(Q`2_3))-gf2*(gf1*(P`1_3*(Q`2_3)+Q`1_3*(P`2_3)))
+gf1*(P`1_3)*(gf1*(Q`1_3)))*(P`3_3) by GROUP_1:def 3
.= (gf2*(gf2*(P`2_3)*(Q`2_3)-gf1*(P`1_3*(Q`2_3)+Q`1_3*(P`2_3)))
+gf1*(P`1_3)*(gf1*(Q`1_3)))*(P`3_3) by VECTSP_1:11
.= (gf2*(Q`1_3*(P`2_3 |^2)*(Q`3_3)-P`1_3*(Q`2_3 |^2)*(P`3_3))
+gf1*(P`1_3)*gf1*(Q`1_3))*(P`3_3)
by A7,GROUP_1:def 3
.= (gf2*(Q`1_3*(P`2_3 |^2)*(Q`3_3)-P`1_3*(Q`2_3 |^2)*(P`3_3))
+gf1*gf1*(P`1_3)*(Q`1_3))*(P`3_3)
by GROUP_1:def 3
.= (gf2*(Q`1_3*(P`2_3 |^2)*(Q`3_3)-P`1_3*(Q`2_3 |^2)*(P`3_3))
+(gf1 |^2)*(P`1_3)*(Q`1_3))*(P`3_3)
by EC_PF_1:22
.= gf2*(Q`1_3*(P`2_3 |^2)*(Q`3_3)-P`1_3*(Q`2_3 |^2)*(P`3_3))*(P`3_3)
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3) by VECTSP_1:def 7
.= gf2*((Q`1_3*(P`2_3 |^2)*(Q`3_3)-P`1_3*(Q`2_3 |^2)*(P`3_3))*(P`3_3))
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3) by GROUP_1:def 3
.= gf2*(Q`1_3*(P`2_3 |^2)*(Q`3_3)*(P`3_3)
-P`1_3*(Q`2_3 |^2)*(P`3_3)*(P`3_3))
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3) by VECTSP_1:13
.= gf2*(Q`1_3*(P`2_3 |^2)*(Q`3_3)*(P`3_3)
-P`1_3*(Q`2_3 |^2)*(P`3_3*(P`3_3)))
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3) by GROUP_1:def 3
.= gf2*(Q`1_3*(P`2_3 |^2)*(Q`3_3)*(P`3_3)-P`1_3*(Q`2_3 |^2)*(P`3_3 |^2))
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3) by EC_PF_1:22
.= gf2*(Q`1_3*(P`2_3 |^2)*(P`3_3)*(Q`3_3)-P`1_3*(Q`2_3 |^2)*(P`3_3 |^2))
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3) by GROUP_1:def 3
.= gf2*(Q`1_3*(P`2_3 |^2)*(P`3_3)*(Q`3_3)-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2))
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3) by GROUP_1:def 3;
A9: (gf2 |^3)*(P`3_3)*(-P`1_3*(Q`1_3)*gf3)
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3)*(R`3_3)
= (gf2 |^3)*(P`3_3)*(P`1_3*(Q`1_3)*(-gf3))
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3)*(R`3_3)
by VECTSP_1:8
.= (gf2 |^3)*(P`3_3)*(P`1_3*(Q`1_3))*(-gf3)
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3)*(R`3_3)
by GROUP_1:def 3
.= (gf2 |^3)*(P`1_3*(Q`1_3))*(P`3_3)*(-gf3)
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3)*(R`3_3)
by GROUP_1:def 3
.= ((gf2 |^3)*(P`1_3)*(Q`1_3))*(P`3_3)*(-gf3)
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3)*(R`3_3) by GROUP_1:def 3
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))*(-gf3)
+(gf1 |^2)*(P`1_3*(Q`1_3)*(P`3_3))*((gf2 |^3)*(P`3_3)*(Q`3_3)) by Th11,A3
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))*(-gf3)
+(gf1 |^2)*(P`1_3*(Q`1_3)*(P`3_3))*(gf2 |^3)*(P`3_3)*(Q`3_3) by Th11
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))*(-gf3)
+((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))*(gf1 |^2)*(P`3_3)*(Q`3_3) by Th11
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))*(-gf3)
+((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)) by Th11
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))*(-gf3+(gf1 |^2)*(P`3_3)*(Q`3_3))
by VECTSP_1:def 7
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*(-((gf1 |^2)*(P`3_3)*(Q`3_3)+(-(gf2 |^3)
-g2*(gf2 |^2)*(P`1_3)*(Q`3_3)))+(gf1 |^2)*(P`3_3)*(Q`3_3))
by A2,ALGSTR_1:7
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*(-(-(gf2 |^3)-g2*(gf2 |^2)*(P`1_3)*(Q`3_3))
-(gf1 |^2)*(P`3_3)*(Q`3_3)+(gf1 |^2)*(P`3_3)*(Q`3_3))
by VECTSP_1:17
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*(-(-(gf2 |^3)-g2*(gf2 |^2)*(P`1_3)*(Q`3_3))
+(-(gf1 |^2)*(P`3_3)*(Q`3_3)+(gf1 |^2)*(P`3_3)*(Q`3_3))) by ALGSTR_1:7
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*(-(-(gf2 |^3)-g2*(gf2 |^2)*(P`1_3)*(Q`3_3))+0.GF(p)) by RLVECT_1:5
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*(-(-(gf2 |^3)-g2*(gf2 |^2)*(P`1_3)*(Q`3_3))) by RLVECT_1:4
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*(g2*(gf2 |^2)*(P`1_3)*(Q`3_3)+(gf2 |^(2+1))) by VECTSP_1:17
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*(g2*(gf2 |^2)*(P`1_3)*(Q`3_3)+(gf2 |^2)*gf2) by EC_PF_1:24
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*((gf2 |^2)*(g2*(P`1_3)*(Q`3_3))+(gf2 |^2)*gf2) by Th11
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*((gf2 |^2)*(g2*(P`1_3)*(Q`3_3)+gf2)) by VECTSP_1:def 7
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*((gf2 |^2)*(Q`1_3*(P`3_3)-P`1_3*(Q`3_3)+g2*(P`1_3*(Q`3_3))))
by A2,GROUP_1:def 3
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*((gf2 |^2)*(Q`1_3*(P`3_3)-P`1_3*(Q`3_3)
+(P`1_3*(Q`3_3)+P`1_3*(Q`3_3)))) by A1,Th20
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*((gf2 |^2)*(Q`1_3*(P`3_3)-P`1_3*(Q`3_3)
+P`1_3*(Q`3_3)+P`1_3*(Q`3_3))) by ALGSTR_1:7
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*((gf2 |^2)*(Q`1_3*(P`3_3)+(-P`1_3*(Q`3_3)
+P`1_3*(Q`3_3))+P`1_3*(Q`3_3))) by ALGSTR_1:7
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*((gf2 |^2)*(Q`1_3*(P`3_3)+0.GF(p)+P`1_3*(Q`3_3))) by RLVECT_1:5
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*((gf2*gf2)*(Q`1_3*(P`3_3)+0.GF(p)+P`1_3*(Q`3_3))) by EC_PF_1:22
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*(gf2*(Q`1_3*(P`3_3)-P`1_3*(Q`3_3))*(Q`1_3*(P`3_3)+P`1_3*(Q`3_3)))
by A2,RLVECT_1:4
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*(gf2*((Q`1_3*(P`3_3)-P`1_3*(Q`3_3))*(Q`1_3*(P`3_3)
+P`1_3*(Q`3_3)))) by GROUP_1:def 3
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*(gf2*(((Q`1_3*(P`3_3)) |^2)-((P`1_3*(Q`3_3)) |^2))) by Th15
.= ((gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3))
*gf2*(((Q`1_3*(P`3_3)) |^2)-((P`1_3*(Q`3_3)) |^2)) by GROUP_1:def 3
.= gf2*(gf2 |^3)*(P`1_3)*(Q`1_3)*(P`3_3)
*(((Q`1_3*(P`3_3)) |^2)-((P`1_3*(Q`3_3)) |^2)) by Th11
.= (gf2 |^(3+1))*(P`1_3)*(Q`1_3)*(P`3_3)
*(((Q`1_3*(P`3_3)) |^2)-((P`1_3*(Q`3_3)) |^2)) by EC_PF_1:24
.= (gf2 |^4)*(P`1_3*(Q`1_3))*(P`3_3)
*(((Q`1_3*(P`3_3)) |^2)-((P`1_3*(Q`3_3)) |^2)) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*(P`1_3*(Q`1_3))
*(((Q`1_3*(P`3_3)) |^2)-((P`1_3*(Q`3_3)) |^2)) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*((P`1_3*(Q`1_3))
*(((Q`1_3*(P`3_3)) |^2)-((P`1_3*(Q`3_3)) |^2))) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*
(P`1_3*(Q`1_3)*((Q`1_3*(P`3_3)) |^2)-P`1_3*(Q`1_3)*((P`1_3*(Q`3_3)) |^2))
by VECTSP_1:11
.= (gf2 |^4)*(P`3_3)*
(P`1_3*(Q`1_3)*((Q`1_3 |^2)*(P`3_3 |^2))
-P`1_3*(Q`1_3)*((P`1_3*(Q`3_3)) |^2))
by BINOM:9
.= (gf2 |^4)*(P`3_3)*
(P`1_3*(Q`1_3)*(Q`1_3 |^2)*(P`3_3 |^2)-P`1_3*(Q`1_3)*((P`1_3*(Q`3_3)) |^2))
by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*
(P`1_3*(P`3_3 |^2)*(Q`1_3 |^2)*(Q`1_3)-P`1_3*(Q`1_3)*((P`1_3*(Q`3_3)) |^2))
by Th10
.= (gf2 |^4)*(P`3_3)*
(P`1_3*(P`3_3 |^2)*((Q`1_3 |^2)*(Q`1_3))
-P`1_3*(Q`1_3)*((P`1_3*(Q`3_3)) |^2))
by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*
(P`1_3*(P`3_3 |^2)*(Q`1_3 |^(2+1))-P`1_3*(Q`1_3)*((P`1_3*(Q`3_3)) |^2))
by EC_PF_1:24
.= (gf2 |^4)*(P`3_3)*
(P`1_3*(P`3_3 |^2)*(Q`1_3 |^3)-P`1_3*(Q`1_3)*((P`1_3 |^2)*(Q`3_3 |^2)))
by BINOM:9
.= (gf2 |^4)*(P`3_3)*
(P`1_3*(P`3_3 |^2)*(Q`1_3 |^3)-P`1_3*(Q`1_3)*(P`1_3 |^2)*(Q`3_3 |^2))
by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*
(P`1_3*(P`3_3 |^2)*(Q`1_3 |^3)-(Q`3_3 |^2)*(Q`1_3)*(P`1_3 |^2)*(P`1_3))
by Th10
.= (gf2 |^4)*(P`3_3)*
(P`1_3*(P`3_3 |^2)*(Q`1_3 |^3)-(Q`3_3 |^2)*(Q`1_3)*((P`1_3 |^2)*(P`1_3)))
by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*
(P`1_3*(P`3_3 |^2)*(Q`1_3 |^3)-Q`1_3*(Q`3_3 |^2)*(P`1_3 |^(2+1)))
by EC_PF_1:24
.= (gf2 |^4)*(P`3_3)*
(P`1_3*(P`3_3 |^2)*(Q`1_3 |^3)-Q`1_3*(Q`3_3 |^2)*(P`1_3 |^3));
A10: gf2*(Q`1_3*(P`2_3 |^2)*(P`3_3)*(Q`3_3)
-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2))*(R`3_3)
= gf2*(Q`1_3*(P`2_3 |^2)*(P`3_3)*(Q`3_3)
-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2))*((gf2 |^3)*(P`3_3))*(Q`3_3)
by A3,GROUP_1:def 3
.= gf2*((gf2 |^3)*(P`3_3))*(Q`1_3*(P`2_3 |^2)*(P`3_3)*(Q`3_3)
-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2))*(Q`3_3)
by GROUP_1:def 3
.= (gf2*(gf2 |^3)*(P`3_3))*(Q`1_3*(P`2_3 |^2)*(P`3_3)*(Q`3_3)
-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2))*(Q`3_3)
by GROUP_1:def 3
.= ((gf2 |^(3+1))*(P`3_3))*(Q`1_3*(P`2_3 |^2)*(P`3_3)*(Q`3_3)
-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2))*(Q`3_3)
by EC_PF_1:24
.= (gf2 |^4)*(P`3_3)*((Q`1_3*(P`2_3 |^2)*(P`3_3)*(Q`3_3)
-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2))*(Q`3_3))
by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(P`2_3 |^2)*(P`3_3)*(Q`3_3)*(Q`3_3)
-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2)*(Q`3_3))
by VECTSP_1:13
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(P`2_3 |^2)*(P`3_3)*(Q`3_3*(Q`3_3))
-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2)*(Q`3_3))
by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(P`2_3 |^2)*(P`3_3)*(Q`3_3 |^2)
-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2)*(Q`3_3))
by EC_PF_1:22
.= (gf2 |^4)*(P`3_3)*(Q`1_3*((P`2_3 |^2)*(P`3_3))*(Q`3_3 |^2)
-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2)*(Q`3_3)) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*((P`2_3 |^2)*(P`3_3))
-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2)*(Q`3_3)) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*((P`2_3 |^2)*(P`3_3))
-P`1_3*(P`3_3 |^2)*((Q`2_3 |^2)*(Q`3_3))) by GROUP_1:def 3;
0.GF(p) = ((P`2_3) |^2)*(P`3_3) -
((P`1_3) |^3 + a*(P`1_3)*(P`3_3) |^2 + b*(P`3_3) |^3)
by Th35
.= (P`2_3 |^2)*(P`3_3)-((P`1_3 |^3)+(a*(P`1_3)*(P`3_3 |^2)+b*(P`3_3 |^3)))
by ALGSTR_1:7
.= (P`2_3 |^2)*(P`3_3)-(P`1_3 |^3)-(a*(P`1_3)*(P`3_3 |^2)+b*(P`3_3 |^3))
by VECTSP_1:17;
then
A11: (P`2_3 |^2)*(P`3_3)-(P`1_3 |^3) = a*(P`1_3)*(P`3_3 |^2)+b*(P`3_3 |^3)
by VECTSP_1:19;
A12: 0.GF(p) = ((Q`2_3) |^2)*(Q`3_3)
- ((Q`1_3) |^3 + a*(Q`1_3)*(Q`3_3) |^2 + b*(Q`3_3) |^3) by Th35
.= (Q`2_3 |^2)*(Q`3_3)-((Q`1_3 |^3)
+(a*(Q`1_3)*(Q`3_3 |^2)+b*(Q`3_3 |^3))) by ALGSTR_1:7
.= (Q`2_3 |^2)*(Q`3_3)-(Q`1_3 |^3)
-(a*(Q`1_3)*(Q`3_3 |^2)+b*(Q`3_3 |^3)) by VECTSP_1:17;
thus -(gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3)
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3)
= (gf2 |^3)*(P`3_3)*(-P`1_3*(Q`1_3)*gf3)
+(gf2*(Q`1_3*(P`2_3 |^2)*(P`3_3)*(Q`3_3)
-P`1_3*(P`3_3 |^2)*(Q`2_3 |^2))*(R`3_3)
+(gf1 |^2)*(P`1_3)*(Q`1_3)*(P`3_3)*(R`3_3))
by A6,A8,VECTSP_1:def 7
.= (gf2 |^4)*(P`3_3)*(P`1_3*(P`3_3 |^2)*(Q`1_3 |^3)
-Q`1_3*(Q`3_3 |^2)*(P`1_3 |^3))
+(gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*((P`2_3 |^2)*(P`3_3))
-P`1_3*(P`3_3 |^2)*((Q`2_3 |^2)*(Q`3_3))) by A9,A10,ALGSTR_1:7
.= (gf2 |^4)*(P`3_3)*(P`1_3*(P`3_3 |^2)*(Q`1_3 |^3)
-Q`1_3*(Q`3_3 |^2)*(P`1_3 |^3)
+(Q`1_3*(Q`3_3 |^2)*((P`2_3 |^2)*(P`3_3))
-P`1_3*(P`3_3 |^2)*((Q`2_3 |^2)*(Q`3_3))))
by VECTSP_1:def 7
.= (gf2 |^4)*(P`3_3)*(P`1_3*(P`3_3 |^2)*(Q`1_3 |^3)
+(-Q`1_3*(Q`3_3 |^2)*(P`1_3 |^3))
+Q`1_3*(Q`3_3 |^2)*((P`2_3 |^2)*(P`3_3))
-P`1_3*(P`3_3 |^2)*((Q`2_3 |^2)*(Q`3_3)))
by ALGSTR_1:7
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*((P`2_3 |^2)*(P`3_3))
-Q`1_3*(Q`3_3 |^2)*(P`1_3 |^3)
+P`1_3*(P`3_3 |^2)*(Q`1_3 |^3)
-P`1_3*(P`3_3 |^2)*((Q`2_3 |^2)*(Q`3_3))) by ALGSTR_1:8
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*((P`2_3 |^2)*(P`3_3)-(P`1_3 |^3))
+P`1_3*(P`3_3 |^2)*(Q`1_3 |^3)-P`1_3*(P`3_3 |^2)*((Q`2_3 |^2)*(Q`3_3)))
by VECTSP_1:11
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*((P`2_3 |^2)*(P`3_3)-(P`1_3 |^3))
+(P`1_3*(P`3_3 |^2)*(Q`1_3 |^3)-P`1_3*(P`3_3 |^2)*((Q`2_3 |^2)*(Q`3_3))))
by ALGSTR_1:7
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*((P`2_3 |^2)*(P`3_3)-(P`1_3 |^3))
+P`1_3*(P`3_3 |^2)*((Q`1_3 |^3)-(Q`2_3 |^2)*(Q`3_3))) by VECTSP_1:11
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*((P`2_3 |^2)*(P`3_3)-(P`1_3 |^3))
-(-P`1_3*(P`3_3 |^2)*((Q`1_3 |^3)-(Q`2_3 |^2)*(Q`3_3)))) by RLVECT_1:17
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*((P`2_3 |^2)*(P`3_3)-(P`1_3 |^3))
-P`1_3*(P`3_3 |^2)*(-((Q`1_3 |^3)-(Q`2_3 |^2)*(Q`3_3)))) by VECTSP_1:8
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*((P`2_3 |^2)*(P`3_3)-(P`1_3 |^3))
-P`1_3*(P`3_3 |^2)*((Q`2_3 |^2)*(Q`3_3)-(Q`1_3 |^3))) by VECTSP_1:17
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*(a*(P`1_3)*(P`3_3 |^2)
+b*(P`3_3 |^3))
-P`1_3*(P`3_3 |^2)*(a*(Q`1_3)*(Q`3_3 |^2)+b*(Q`3_3 |^3)))
by A11,A12,VECTSP_1:19
.= (gf2 |^4)*(P`3_3)*
(Q`1_3*(Q`3_3 |^2)*(a*(P`1_3)*(P`3_3 |^2))
+Q`1_3*(Q`3_3 |^2)*(b*(P`3_3 |^3))
-P`1_3*(P`3_3 |^2)*(a*(Q`1_3)*(Q`3_3 |^2)+b*(Q`3_3 |^3))) by VECTSP_1:def 7
.= (gf2 |^4)*(P`3_3)*
(Q`1_3*(Q`3_3 |^2)*(a*(P`1_3)*(P`3_3 |^2))
+Q`1_3*(Q`3_3 |^2)*(b*(P`3_3 |^3))
-(P`1_3*(P`3_3 |^2)*(a*(Q`1_3)*(Q`3_3 |^2))
+P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))))
by VECTSP_1:def 7
.= (gf2 |^4)*(P`3_3)*
(Q`1_3*(Q`3_3 |^2)*(a*(P`1_3)*(P`3_3 |^2))
+Q`1_3*(Q`3_3 |^2)*(b*(P`3_3 |^3))
-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))
-P`1_3*(P`3_3 |^2)*(a*(Q`1_3)*(Q`3_3 |^2)))
by VECTSP_1:17
.= (gf2 |^4)*(P`3_3)*
(Q`1_3*(Q`3_3 |^2)*(a*(P`1_3)*(P`3_3 |^2))
-P`1_3*(P`3_3 |^2)*(a*(Q`1_3)*(Q`3_3 |^2))
-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))
+Q`1_3*(Q`3_3 |^2)*(b*(P`3_3 |^3))) by Th7
.= (gf2 |^4)*(P`3_3)*
(((a*(P`1_3)*(P`3_3 |^2))*(Q`1_3)*(Q`3_3 |^2)
-P`1_3*(P`3_3 |^2)*(a*(Q`1_3)*(Q`3_3 |^2)))
-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))
+Q`1_3*(Q`3_3 |^2)*(b*(P`3_3 |^3))) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*
((a*(P`1_3)*(P`3_3 |^2)*(Q`1_3)*(Q`3_3 |^2)
-P`1_3*(P`3_3 |^2)*(a*(Q`1_3*(Q`3_3 |^2))))
-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))
+Q`1_3*(Q`3_3 |^2)*(b*(P`3_3 |^3))) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*
((a*(P`1_3)*(P`3_3 |^2)*(Q`1_3)*(Q`3_3 |^2)
-P`1_3*(P`3_3 |^2)*a*(Q`1_3*(Q`3_3 |^2)))
-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))
+Q`1_3*(Q`3_3 |^2)*(b*(P`3_3 |^3))) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*
((a*(P`1_3)*(P`3_3 |^2)*(Q`1_3)*(Q`3_3 |^2)
-a*(P`1_3)*(P`3_3 |^2)*(Q`1_3*(Q`3_3 |^2)))
-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))+Q`1_3*(Q`3_3 |^2)*(b*(P`3_3 |^3)))
by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*
((a*(P`1_3)*(P`3_3 |^2)*(Q`1_3)*(Q`3_3 |^2)
-a*(P`1_3)*(P`3_3 |^2)*(Q`1_3)*(Q`3_3 |^2))
-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))+Q`1_3*(Q`3_3 |^2)*(b*(P`3_3 |^3)))
by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*
(0.GF(p)-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))
+Q`1_3*(Q`3_3 |^2)*(b*(P`3_3 |^3)))
by RLVECT_1:5
.= (gf2 |^4)*(P`3_3)*(-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))
+Q`1_3*(Q`3_3 |^2)*(b*(P`3_3 |^3)))
by RLVECT_1:4
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*b*(P`3_3 |^(2+1))
-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*b*((P`3_3 |^2)*(P`3_3))
-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))) by EC_PF_1:24
.= (gf2 |^4)*(P`3_3)*(Q`1_3*(Q`3_3 |^2)*b*(P`3_3 |^2)*(P`3_3)
-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*((P`3_3 |^2)*(Q`3_3 |^2)*b*(Q`1_3)*(P`3_3)
-P`1_3*(P`3_3 |^2)*(b*(Q`3_3 |^3))) by Th10
.= (gf2 |^4)*(P`3_3)*((P`3_3 |^2)*(Q`3_3 |^2)*b*(Q`1_3)*(P`3_3)
-P`1_3*(P`3_3 |^2)*b*(Q`3_3 |^(2+1))) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*((P`3_3 |^2)*(Q`3_3 |^2)*b*(Q`1_3)*(P`3_3)
-P`1_3*(P`3_3 |^2)*b*((Q`3_3 |^2)*(Q`3_3))) by EC_PF_1:24
.= (gf2 |^4)*(P`3_3)*((P`3_3 |^2)*(Q`3_3 |^2)*b*(Q`1_3)*(P`3_3)
-P`1_3*(P`3_3 |^2)*b*(Q`3_3 |^2)*(Q`3_3)) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*((P`3_3 |^2)*(Q`3_3 |^2)*b*(Q`1_3)*(P`3_3)
-(Q`3_3 |^2)*(P`3_3 |^2)*b*(P`1_3)*(Q`3_3)) by Th10
.= (gf2 |^4)*(P`3_3)*((P`3_3 |^2)*(Q`3_3 |^2)*b*(Q`1_3*(P`3_3))
-(P`3_3 |^2)*(Q`3_3 |^2)*b*(P`1_3)*(Q`3_3)) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*((P`3_3 |^2)*(Q`3_3 |^2)*b*(Q`1_3*(P`3_3))
-(P`3_3 |^2)*(Q`3_3 |^2)*b*(P`1_3*(Q`3_3))) by GROUP_1:def 3
.= (gf2 |^4)*(P`3_3)*((P`3_3 |^2)*(Q`3_3 |^2)*b*(Q`1_3*(P`3_3)
-P`1_3*(Q`3_3)))
by VECTSP_1:11
.= (gf2 |^4)*(P`3_3)*(Q`3_3 |^2)*(P`3_3 |^2)*b*gf2 by A2,Th11
.= (gf2 |^4)*(P`3_3)*(Q`3_3*(Q`3_3))*(P`3_3 |^2)*b*gf2 by EC_PF_1:22
.= ((gf2 |^(3+1))*(P`3_3)*(Q`3_3))*(Q`3_3)*(P`3_3 |^2)*b*gf2
by GROUP_1:def 3
.= (((gf2 |^3)*gf2)*(P`3_3)*(Q`3_3))*(Q`3_3)*(P`3_3 |^2)*b*gf2
by EC_PF_1:24
.= (gf2*((gf2 |^3)*(P`3_3)*(Q`3_3)))*(Q`3_3)*(P`3_3 |^2)*b*gf2 by Th11
.= gf2*(gf2*(R`3_3*(Q`3_3)*(P`3_3 |^2)*b)) by Th12,A3
.= gf2*gf2*(R`3_3*(Q`3_3)*(P`3_3 |^2)*b) by GROUP_1:def 3
.= (gf2 |^2)*(R`3_3*(Q`3_3)*(P`3_3 |^2)*b) by EC_PF_1:22
.= (gf2 |^2)*(b*(Q`3_3)*(P`3_3 |^2)*(R`3_3)) by Th10
.= (gf2 |^2)*b*(Q`3_3)*(P`3_3 |^2)*(R`3_3) by Th11
.= b*(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(R`3_3) by GROUP_1:def 3;
end;
theorem Th57:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, gf1, gf2, gf3 be Element of GF(p),
P, Q be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
st g2 = 2 mod p & gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3) &
gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3) &
gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3) - (gf2 |^3) - g2*(gf2 |^2)*(P`1_3)*(Q`3_3) &
R = [gf2*gf3,
gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3) - (gf2 |^3)*(P`2_3)*(Q`3_3),
(gf2 |^3)*(P`3_3)*(Q`3_3)]
holds z`1*(gf2 |^2)*(P`3_3)*(Q`3_3)*(R`3_3) =
(gf2 |^2)*(P`1_3*(Q`1_3)*(R`3_3)+P`3_3*(Q`1_3)*(R`1_3)+P`1_3*(Q`3_3)*(R`1_3))
+ g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3) - gf1*(P`1_3))
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, gf1, gf2, gf3 be Element of GF(p),
P, Q be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
such that
A1: g2 = 2 mod p and
A2: gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3) &
gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3) &
gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3)
- (gf2 |^3) - g2*(gf2 |^2)*(P`1_3)*(Q`3_3) and
A3: R = [gf2*gf3, gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)
- (gf2 |^3)*(P`2_3)*(Q`3_3),
(gf2 |^3)*(P`3_3)*(Q`3_3)];
set a = z`1;
set b = z`2;
A4: gf2*(P`2_3)-gf1*(P`1_3)
= ((Q`1_3*(P`3_3))*(P`2_3)-(P`1_3*(Q`3_3))*(P`2_3))
-(Q`2_3*(P`3_3)-P`2_3*(Q`3_3))*(P`1_3) by A2,VECTSP_1:11
.= ((Q`1_3*(P`3_3))*(P`2_3)-(P`1_3*(Q`3_3))*(P`2_3))
-((Q`2_3*(P`3_3))*(P`1_3)-(P`2_3*(Q`3_3))*(P`1_3))
by VECTSP_1:11
.= ((Q`1_3*(P`3_3))*(P`2_3)-(P`1_3*(Q`3_3))*(P`2_3))
+((P`2_3*(Q`3_3))*(P`1_3)-(Q`2_3*(P`3_3))*(P`1_3))
by VECTSP_1:17
.= ((Q`1_3*(P`3_3))*(P`2_3)-P`1_3*(Q`3_3*(P`2_3)))
+((P`2_3*(Q`3_3))*(P`1_3)-(Q`2_3*(P`3_3))*(P`1_3))
by GROUP_1:def 3
.= (Q`1_3*(P`3_3))*(P`2_3)+(-P`1_3*(Q`3_3*(P`2_3))
+((P`2_3*(Q`3_3))*(P`1_3)-(Q`2_3*(P`3_3))*(P`1_3)))
by ALGSTR_1:7
.= (Q`1_3*(P`3_3))*(P`2_3)+((-P`1_3*(P`2_3*(Q`3_3))
+(P`2_3*(Q`3_3))*(P`1_3))-(Q`2_3*(P`3_3))*(P`1_3))
by ALGSTR_1:7
.= (Q`1_3*(P`3_3))*(P`2_3)+(0.GF(p)-(P`3_3*(Q`2_3))*(P`1_3)) by VECTSP_1:19
.= (P`3_3*(Q`1_3))*(P`2_3)-(P`3_3*(Q`2_3))*(P`1_3) by VECTSP_1:18
.= P`3_3*(Q`1_3*(P`2_3))-(P`3_3*(Q`2_3))*(P`1_3) by GROUP_1:def 3
.= P`3_3*(P`2_3*(Q`1_3))-P`3_3*(Q`2_3*(P`1_3)) by GROUP_1:def 3
.= P`3_3*(P`2_3*(Q`1_3)-Q`2_3*(P`1_3)) by VECTSP_1:11;
gf2*(Q`2_3)-gf1*(Q`1_3)
= ((Q`1_3*(P`3_3))*(Q`2_3)-(P`1_3*(Q`3_3))*(Q`2_3))
-(Q`2_3*(P`3_3)-P`2_3*(Q`3_3))*(Q`1_3) by A2,VECTSP_1:11
.= ((Q`1_3*(P`3_3))*(Q`2_3)-(P`1_3*(Q`3_3))*(Q`2_3))
-((Q`2_3*(P`3_3))*(Q`1_3)-(P`2_3*(Q`3_3))*(Q`1_3))
by VECTSP_1:11
.= ((Q`1_3*(P`3_3))*(Q`2_3)-(P`1_3*(Q`3_3))*(Q`2_3))
+((P`2_3*(Q`3_3))*(Q`1_3)-(Q`2_3*(P`3_3))*(Q`1_3))
by VECTSP_1:17
.= (Q`1_3*(P`3_3))*(Q`2_3)-(P`1_3*(Q`3_3))*(Q`2_3)
+(P`2_3*(Q`3_3))*(Q`1_3)-(Q`2_3*(P`3_3))*(Q`1_3)
by ALGSTR_1:7
.= (Q`1_3*(P`3_3))*(Q`2_3)-(Q`2_3*(P`3_3))*(Q`1_3)
+(P`2_3*(Q`3_3))*(Q`1_3)-(P`1_3*(Q`3_3))*(Q`2_3)
by Th7
.= Q`1_3*(P`3_3*(Q`2_3))-Q`1_3*(P`3_3*(Q`2_3))
+(Q`3_3*(P`2_3))*(Q`1_3)-(Q`3_3*(P`1_3))*(Q`2_3)
by GROUP_1:def 3
.= 0.GF(p)+(Q`3_3*(P`2_3))*(Q`1_3)-(Q`3_3*(P`1_3))*(Q`2_3) by VECTSP_1:19
.= (Q`3_3*(P`2_3))*(Q`1_3)-(Q`3_3*(P`1_3))*(Q`2_3) by ALGSTR_1:7
.= Q`3_3*(P`2_3*(Q`1_3))-(Q`3_3*(P`1_3))*(Q`2_3) by GROUP_1:def 3
.= Q`3_3*(P`2_3*(Q`1_3))-Q`3_3*(P`1_3*(Q`2_3)) by GROUP_1:def 3
.= Q`3_3*(P`2_3*(Q`1_3)-P`1_3*(Q`2_3)) by VECTSP_1:11; then
A5: (gf2*(Q`2_3)-gf1*(Q`1_3))*(P`3_3)
= (gf2*(P`2_3)-gf1*(P`1_3))*(Q`3_3) by A4,GROUP_1:def 3;
A6: P`1_3*(Q`1_3)*(R`3_3)+P`3_3*(Q`1_3)*(R`1_3)+P`1_3*(Q`3_3)*(R`1_3)
= P`1_3*(Q`1_3)*(R`3_3)+(P`3_3*(Q`1_3)*(R`1_3)+P`1_3*(Q`3_3)*(R`1_3))
by ALGSTR_1:7
.= P`1_3*(Q`1_3)*(R`3_3)+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`1_3)
by VECTSP_1:def 7
.= P`1_3*(Q`1_3)*((gf2 |^3)*(P`3_3*(Q`3_3)))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(gf2*gf3) by GROUP_1:def 3,A3
.= ((P`1_3*(Q`1_3))*(gf2 |^(2+1)))*(P`3_3*(Q`3_3))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(gf2*gf3) by GROUP_1:def 3
.= ((P`1_3*(Q`1_3))*((gf2 |^2)*gf2))*(P`3_3*(Q`3_3))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(gf2*gf3) by EC_PF_1:24
.= ((P`1_3*(Q`1_3))*((gf2 |^2)*gf2))*(P`3_3*(Q`3_3))
+((P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*gf2)*gf3 by GROUP_1:def 3
.= (((P`1_3*(Q`1_3))*(gf2 |^2))*gf2)*(P`3_3*(Q`3_3))
+(gf2*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3)))*gf3 by GROUP_1:def 3
.= (gf2*((P`1_3*(Q`1_3))*(gf2 |^2)))*(P`3_3*(Q`3_3))
+gf2*((P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*gf3) by GROUP_1:def 3
.= gf2*(((P`1_3*(Q`1_3))*(gf2 |^2))*(P`3_3*(Q`3_3)))
+gf2*((P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*gf3) by GROUP_1:def 3
.= gf2*(((P`1_3*(Q`1_3))*(gf2 |^2))*(P`3_3*(Q`3_3))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*gf3) by VECTSP_1:def 7;
A7: gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3)-(gf2 |^(2+1))-g2*(gf2 |^2)*(P`1_3)*(Q`3_3)
by A2
.= (gf1 |^2)*(P`3_3)*(Q`3_3)-(gf2 |^2)*gf2-g2*(gf2 |^2)*(P`1_3)*(Q`3_3)
by EC_PF_1:24
.= (gf1 |^2)*(P`3_3)*(Q`3_3)+(-(gf2 |^2)*gf2-g2*(gf2 |^2)*(P`1_3)*(Q`3_3))
by ALGSTR_1:7
.= (gf1 |^2)*(P`3_3)*(Q`3_3)+(-(gf2 |^2)*gf2
-(g2*(gf2 |^2))*(P`1_3*(Q`3_3)))
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3)*(Q`3_3)
+(-(gf2 |^2)*gf2-(gf2 |^2)*(g2*(P`1_3*(Q`3_3))))
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3)*(Q`3_3)+((-(gf2 |^2))*gf2-(gf2 |^2)
*(g2*(P`1_3*(Q`3_3)))) by VECTSP_1:9
.= (gf1 |^2)*(P`3_3)*(Q`3_3)+((-(gf2 |^2))*gf2+(-(gf2 |^2))
*(g2*(P`1_3*(Q`3_3)))) by VECTSP_1:9
.= (gf1 |^2)*(P`3_3)*(Q`3_3)+(-(gf2 |^2))*((Q`1_3*(P`3_3)-P`1_3*(Q`3_3))
+g2*(P`1_3*(Q`3_3))) by A2,VECTSP_1:def 7
.= (gf1 |^2)*(P`3_3)*(Q`3_3)-(gf2 |^2)*((Q`1_3*(P`3_3)
-P`1_3*(Q`3_3))+g2*(P`1_3*(Q`3_3)))
by VECTSP_1:9
.= (gf1 |^2)*(P`3_3)*(Q`3_3)-(gf2 |^2)*(Q`1_3*(P`3_3)
+(-P`1_3*(Q`3_3)+g2*(P`1_3*(Q`3_3))))
by ALGSTR_1:7
.= (gf1 |^2)*(P`3_3)*(Q`3_3)-(gf2 |^2)*(Q`1_3*(P`3_3)
+(g2*(P`1_3*(Q`3_3))-P`1_3*(Q`3_3)))
.= (gf1 |^2)*(P`3_3)*(Q`3_3)-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))
by A1,Th24;
((P`1_3*(Q`1_3))*(gf2 |^2))*(P`3_3*(Q`3_3))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*gf3
= (gf2 |^2)*((P`1_3*(Q`1_3))*(P`3_3*(Q`3_3)))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*gf3
by GROUP_1:def 3
.= (gf2 |^2)*(P`3_3*(Q`3_3*(P`1_3*(Q`1_3))))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*gf3
by GROUP_1:def 3
.= (gf2 |^2)*(P`3_3*((Q`3_3*(P`1_3))*(Q`1_3)))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*gf3
by GROUP_1:def 3
.= (gf2 |^2)*((P`3_3*(Q`1_3))*(P`1_3*(Q`3_3)))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*gf3
by GROUP_1:def 3
.= (-(gf2 |^2))*(-(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3)))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))) by A7,VECTSP_1:10
.= (-(gf2 |^2))*(-(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3)))
+((P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3))
-(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))))
by VECTSP_1:11
.= (-(gf2 |^2))*(-(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3)))
+(-(gf2 |^2)*((P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3)))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)))
by GROUP_1:def 3
.= (-(gf2 |^2))*(-(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3)))
+(-(gf2 |^2)*((P`3_3*(Q`1_3)+P`1_3*(Q`3_3)) |^2)
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3))) by EC_PF_1:22
.= (-(gf2 |^2))*(-(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3)))
+((-(gf2 |^2))*((P`3_3*(Q`1_3)+P`1_3*(Q`3_3)) |^2)
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3))) by VECTSP_1:9
.= ((-(gf2 |^2))*(-(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3)))
+(-(gf2 |^2))*((P`3_3*(Q`1_3)+P`1_3*(Q`3_3)) |^2))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)) by ALGSTR_1:7
.= (-(gf2 |^2))*((-(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3)))
+((P`3_3*(Q`1_3)+P`1_3*(Q`3_3)) |^2))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)) by
VECTSP_1:def 7
.= (-(gf2 |^2))*((((P`3_3*(Q`1_3)) |^2 +g2*(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3))
+(P`1_3*(Q`3_3)) |^2)) -(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3)))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)) by A1,Th25
.= (-(gf2 |^2))*(((P`3_3*(Q`1_3)) |^2)+g2*(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3))
-(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3))+((P`1_3*(Q`3_3)) |^2))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)) by ALGSTR_1:8
.= (-(gf2 |^2))*(((P`3_3*(Q`1_3)) |^2)+g2*((P`3_3*(Q`1_3))*(P`1_3*(Q`3_3)))
-(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3))+((P`1_3*(Q`3_3)) |^2))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)) by GROUP_1:def 3
.= (-(gf2 |^2))*(((P`3_3*(Q`1_3)) |^2)
+(g2*((P`3_3*(Q`1_3))*(P`1_3*(Q`3_3)))
-(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3)))+((P`1_3*(Q`3_3)) |^2))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)) by ALGSTR_1:7
.= (-(gf2 |^2))*(((P`3_3*(Q`1_3)) |^2)+(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3))
+((P`1_3*(Q`3_3)) |^2))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)) by A1,Th24
.= (-gf2*gf2)*(((P`3_3*(Q`1_3)) |^2)+(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3))
+((P`1_3*(Q`3_3)) |^2))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)) by EC_PF_1:22
.= ((-gf2)*gf2)*(((P`3_3*(Q`1_3)) |^2)+(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3))
+((P`1_3*(Q`3_3)) |^2))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)) by VECTSP_1:9
.= (-gf2)*((Q`1_3*(P`3_3)-P`1_3*(Q`3_3))*
(((P`3_3*(Q`1_3)) |^2)+(P`3_3*(Q`1_3))*(P`1_3*(Q`3_3))
+((P`1_3*(Q`3_3)) |^2)))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3))
by A2,GROUP_1:def 3
.= (-gf2)*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)) by Th17; then
A8: (gf2 |^2)*(P`1_3*(Q`1_3)*(R`3_3)
+P`3_3*(Q`1_3)*(R`1_3)+P`1_3*(Q`3_3)*(R`1_3))
= ((gf2 |^2)*gf2)*((-gf2)*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)))
by A6,GROUP_1:def 3
.= (gf2 |^(2+1))*((-gf2)*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3))) by EC_PF_1:24
.= (gf2 |^3)*((-gf2)*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)));
((P`2_3) |^2)*(P`3_3) - ((P`1_3) |^3 +
a*(P`1_3)*(P`3_3) |^2 + b*(P`3_3) |^3)
= 0.GF(p) by Th35; then
(Q`3_3 |^3)*((P`2_3 |^2)*(P`3_3))
= (Q`3_3 |^3)*((P`1_3 |^3)+a*(P`1_3)*(P`3_3 |^2)+b*(P`3_3 |^3))
by VECTSP_1:19
.= (Q`3_3 |^3)*((P`1_3 |^3)+a*(P`1_3)*(P`3_3 |^2))
+(Q`3_3 |^3)*(b*(P`3_3 |^3)) by VECTSP_1:def 7
.= (Q`3_3 |^3)*(P`1_3 |^3)+(Q`3_3 |^3)*(a*(P`1_3)*(P`3_3 |^2))
+(Q`3_3 |^3)*(b*(P`3_3 |^3)) by VECTSP_1:def 7
.= ((Q`3_3*(P`1_3)) |^3)+(a*(P`1_3)*(P`3_3 |^2))*(Q`3_3 |^(2+1))
+(b*(P`3_3 |^3))*(Q`3_3 |^3) by BINOM:9
.= ((P`1_3*(Q`3_3)) |^3)+(a*(P`1_3)*(P`3_3 |^2))*((Q`3_3 |^2)*(Q`3_3))
+b*(P`3_3 |^3)*(Q`3_3 |^3) by EC_PF_1:24
.= ((P`1_3*(Q`3_3)) |^3)+(a*(P`1_3))*((P`3_3 |^2)*((Q`3_3 |^2)*(Q`3_3)))
+b*(P`3_3 |^3)*(Q`3_3 |^3) by GROUP_1:def 3
.= ((P`1_3*(Q`3_3)) |^3)+(a*(P`1_3))*(((P`3_3 |^2)*(Q`3_3 |^2))*(Q`3_3))
+b*(P`3_3 |^3)*(Q`3_3 |^3) by GROUP_1:def 3
.= ((P`1_3*(Q`3_3)) |^3)+(a*(P`1_3))*(((P`3_3*(Q`3_3)) |^2)*(Q`3_3))
+b*(P`3_3 |^3)*(Q`3_3 |^3) by BINOM:9
.= ((P`1_3*(Q`3_3)) |^3)+a*(P`1_3*(((P`3_3*(Q`3_3)) |^2)*(Q`3_3)))
+b*(P`3_3 |^3)*(Q`3_3 |^3) by GROUP_1:def 3
.= ((P`1_3*(Q`3_3)) |^3)+a*(((P`3_3*(Q`3_3)) |^2)*(Q`3_3*(P`1_3)))
+b*(P`3_3 |^3)*(Q`3_3 |^3) by GROUP_1:def 3
.= ((P`1_3*(Q`3_3)) |^3)+(a*((P`3_3*(Q`3_3)) |^2))*(P`1_3*(Q`3_3))
+b*(P`3_3 |^3)*(Q`3_3 |^3) by GROUP_1:def 3; then
A9: -(Q`3_3 |^3)*((P`2_3 |^2)*(P`3_3))
= -b*(P`3_3 |^3)*(Q`3_3 |^3)-(((P`1_3*(Q`3_3)) |^3)
+(a*((P`3_3*(Q`3_3)) |^2))*(P`1_3*(Q`3_3))) by VECTSP_1:17
.= -b*(P`3_3 |^3)*(Q`3_3 |^3)+(-(a*((P`3_3*(Q`3_3)) |^2))*(P`1_3*(Q`3_3))
-((P`1_3*(Q`3_3)) |^3)) by VECTSP_1:17;
((Q`2_3) |^2)*(Q`3_3) - ((Q`1_3) |^3
+ a*(Q`1_3)*(Q`3_3) |^2 + b*(Q`3_3) |^3)
= 0.GF(p) by Th35; then
A10: (P`3_3 |^3)*(((Q`2_3) |^2)*(Q`3_3))
= (P`3_3 |^3)*((Q`1_3 |^3)+a*(Q`1_3)*(Q`3_3 |^2)+b*(Q`3_3 |^3))
by VECTSP_1:19
.= (P`3_3 |^3)*((Q`1_3 |^3)+a*(Q`1_3)*(Q`3_3 |^2))
+(P`3_3 |^3)*(b*(Q`3_3 |^3)) by VECTSP_1:def 7
.= (P`3_3 |^3)*(Q`1_3 |^3)+(P`3_3 |^3)*(a*(Q`1_3)*(Q`3_3 |^2))
+(P`3_3 |^3)*(b*(Q`3_3 |^3)) by VECTSP_1:def 7
.= ((P`3_3*(Q`1_3)) |^3)+(a*(Q`1_3)*(Q`3_3 |^2))*(P`3_3 |^(2+1))
+(b*(Q`3_3 |^3))*(P`3_3 |^3) by BINOM:9
.= ((P`3_3*(Q`1_3)) |^3)+(a*(Q`1_3)*(Q`3_3 |^2))*((P`3_3 |^2)*(P`3_3))
+(b*((Q`3_3 |^3))*(P`3_3 |^3)) by EC_PF_1:24
.= ((P`3_3*(Q`1_3)) |^3)+(a*(Q`1_3)*(Q`3_3 |^2))*((P`3_3 |^2)*(P`3_3))
+b*((Q`3_3 |^3)*(P`3_3 |^3)) by GROUP_1:def 3
.= ((P`3_3*(Q`1_3)) |^3)+(a*(Q`1_3))*((Q`3_3 |^2)*((P`3_3 |^2)*(P`3_3)))
+b*((P`3_3 |^3)*(Q`3_3 |^3)) by GROUP_1:def 3
.= ((P`3_3*(Q`1_3)) |^3)+(a*(Q`1_3))*(((Q`3_3 |^2)*(P`3_3 |^2))*(P`3_3))
+b*((P`3_3 |^3)*(Q`3_3 |^3)) by GROUP_1:def 3
.= ((P`3_3*(Q`1_3)) |^3)+(a*(Q`1_3))*(((Q`3_3*(P`3_3)) |^2)*(P`3_3))
+b*((P`3_3 |^3)*(Q`3_3 |^3)) by BINOM:9
.= ((P`3_3*(Q`1_3)) |^3)+(a*(Q`1_3))*(((P`3_3*(Q`3_3)) |^2)*(P`3_3))
+b*(P`3_3 |^3)*(Q`3_3 |^3) by GROUP_1:def 3
.= ((P`3_3*(Q`1_3)) |^3)+a*(Q`1_3*(((P`3_3*(Q`3_3)) |^2)*(P`3_3)))
+b*(P`3_3 |^3)*(Q`3_3 |^3) by GROUP_1:def 3
.= ((P`3_3*(Q`1_3)) |^3)+a*(((P`3_3*(Q`3_3)) |^2)*(P`3_3*(Q`1_3)))
+b*(P`3_3 |^3)*(Q`3_3 |^3) by GROUP_1:def 3
.= ((P`3_3*(Q`1_3)) |^3)+(a*((P`3_3*(Q`3_3)) |^2))*(Q`1_3*(P`3_3))
+b*(P`3_3 |^3)*(Q`3_3 |^3) by GROUP_1:def 3;
A11: (gf1*(P`3_3*(Q`3_3)))*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3))
= (P`3_3*(Q`3_3))*((Q`2_3*(P`3_3)
-P`2_3*(Q`3_3))*(Q`2_3*(P`3_3)+P`2_3*(Q`3_3)))
by A2,GROUP_1:def 3
.= (P`3_3*(Q`3_3))*(((Q`2_3*(P`3_3)) |^2)-((P`2_3*(Q`3_3)) |^2)) by Th15
.= (P`3_3*(Q`3_3))*((Q`2_3 |^2)*(P`3_3 |^2)-((P`2_3*(Q`3_3)) |^2))
by BINOM:9
.= (P`3_3*(Q`3_3))*((Q`2_3 |^2)*(P`3_3 |^2)-(P`2_3 |^2)*(Q`3_3 |^2))
by BINOM:9
.= (P`3_3*(Q`3_3))*((Q`2_3 |^2)*(P`3_3 |^2))
-(P`3_3*(Q`3_3))*((P`2_3 |^2)*(Q`3_3 |^2)) by VECTSP_1:11
.= P`3_3*(Q`3_3*((Q`2_3 |^2)*(P`3_3 |^2)))
-(P`3_3*(Q`3_3))*((Q`3_3 |^2)*(P`2_3 |^2)) by GROUP_1:def 3
.= P`3_3*((Q`3_3*(Q`2_3 |^2))*(P`3_3 |^2))
-(P`3_3*(Q`3_3))*((Q`3_3 |^2)*(P`2_3 |^2)) by GROUP_1:def 3
.= P`3_3*((P`3_3 |^2)*(Q`3_3*(Q`2_3 |^2)))
-P`3_3*(Q`3_3*((Q`3_3 |^2)*(P`2_3 |^2))) by GROUP_1:def 3
.= P`3_3*((P`3_3 |^2)*((Q`2_3 |^2)*(Q`3_3)))
-P`3_3*((Q`3_3*(Q`3_3 |^2))*(P`2_3 |^2)) by GROUP_1:def 3
.= (P`3_3*(P`3_3 |^2))*((Q`2_3 |^2)*(Q`3_3))
-P`3_3*(((Q`3_3 |^2)*(Q`3_3))*(P`2_3 |^2)) by GROUP_1:def 3
.= ((P`3_3 |^2)*(P`3_3))*((Q`2_3 |^2)*(Q`3_3))
-P`3_3*((P`2_3 |^2)*(Q`3_3 |^(2+1))) by EC_PF_1:24
.= (P`3_3 |^(2+1))*((Q`2_3 |^2)*(Q`3_3))
-P`3_3*((P`2_3 |^2)*(Q`3_3 |^3)) by EC_PF_1:24
.= ((P`3_3*(Q`1_3)) |^3)+(a*((P`3_3*(Q`3_3)) |^2))*(Q`1_3*(P`3_3))
+b*(P`3_3 |^3)*(Q`3_3 |^3)-(Q`3_3 |^3)*(P`3_3*(P`2_3 |^2))
by A10,GROUP_1:def 3
.= (((P`3_3*(Q`1_3)) |^3)+(a*((P`3_3*(Q`3_3)) |^2))*(Q`1_3*(P`3_3)))
+(b*(P`3_3 |^3)*(Q`3_3 |^3)+((-b*(P`3_3 |^3)*(Q`3_3 |^3))+
(-(a*((P`3_3*(Q`3_3)) |^2))*(P`1_3*(Q`3_3))-((P`1_3*(Q`3_3)) |^3))))
by A9,ALGSTR_1:7
.= (((P`3_3*(Q`1_3)) |^3)+(a*((P`3_3*(Q`3_3)) |^2))*(Q`1_3*(P`3_3)))
+((b*(P`3_3 |^3)*(Q`3_3 |^3)-b*(P`3_3 |^3)*(Q`3_3 |^3))+
((-(a*((P`3_3*(Q`3_3)) |^2))*(P`1_3*(Q`3_3))-((P`1_3*(Q`3_3)) |^3))))
by ALGSTR_1:7
.= (((P`3_3*(Q`1_3)) |^3)+(a*((P`3_3*(Q`3_3)) |^2))*(Q`1_3*(P`3_3)))
+(0.GF(p)+
(-(a*((P`3_3*(Q`3_3)) |^2))*(P`1_3*(Q`3_3))-((P`1_3*(Q`3_3)) |^3)))
by VECTSP_1:19
.= (((P`3_3*(Q`1_3)) |^3)+(a*((P`3_3*(Q`3_3)) |^2))*(Q`1_3*(P`3_3)))
+(-(a*((P`3_3*(Q`3_3)) |^2))*(P`1_3*(Q`3_3))-((P`1_3*(Q`3_3)) |^3))
by ALGSTR_1:7
.= ((P`3_3*(Q`1_3)) |^3)+((a*((P`3_3*(Q`3_3)) |^2))*(Q`1_3*(P`3_3))
+(-(a*((P`3_3*(Q`3_3)) |^2))*(P`1_3*(Q`3_3))-((P`1_3*(Q`3_3)) |^3)))
by ALGSTR_1:7
.= ((P`3_3*(Q`1_3)) |^3)+(((a*((P`3_3*(Q`3_3)) |^2))*(Q`1_3*(P`3_3))
-(a*((P`3_3*(Q`3_3)) |^2))*(P`1_3*(Q`3_3)))-((P`1_3*(Q`3_3)) |^3))
by ALGSTR_1:7
.= ((P`3_3*(Q`1_3)) |^3)+(-((P`1_3*(Q`3_3)) |^3)
+((a*((P`3_3*(Q`3_3)) |^2))*(Q`1_3*(P`3_3)-P`1_3*(Q`3_3)))) by VECTSP_1:11
.= (((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+ (a*((P`3_3*(Q`3_3)) |^2))*gf2 by A2,ALGSTR_1:7
.= (((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+ (a*gf2)*((P`3_3*(Q`3_3)) |^2) by GROUP_1:def 3;
A12: g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))
= (((g2*(Q`3_3))*gf1)*(R`3_3))*(gf2*(P`2_3)-gf1*(P`1_3)) by GROUP_1:def 3
.= ((g2*(Q`3_3))*(gf1*(R`3_3)))*(gf2*(P`2_3)-gf1*(P`1_3)) by GROUP_1:def 3
.= (gf1*(R`3_3))*((g2*(Q`3_3))*(gf2*(P`2_3)-gf1*(P`1_3))) by GROUP_1:def 3
.= (gf1*(R`3_3))*(g2*(Q`3_3*(gf2*(P`2_3)-gf1*(P`1_3)))) by GROUP_1:def 3
.= (gf1*(R`3_3))*(Q`3_3*(gf2*(P`2_3)-gf1*(P`1_3))+
Q`3_3*(gf2*(P`2_3)-gf1*(P`1_3))) by A1,Th20
.= (gf1*(R`3_3))*(Q`3_3*(gf2*(P`2_3))-Q`3_3*(gf1*(P`1_3))+
(gf2*(Q`2_3)-gf1*(Q`1_3))*(P`3_3)) by A5,VECTSP_1:11
.= (gf1*(R`3_3))*((gf2*(P`2_3))*(Q`3_3)-(gf1*(P`1_3))*(Q`3_3)+
((gf2*(Q`2_3))*(P`3_3)-(gf1*(Q`1_3))*(P`3_3))) by VECTSP_1:13
.= (gf1*(R`3_3))*((gf2*(P`2_3*(Q`3_3))-(gf1*(P`1_3))*(Q`3_3))+
((gf2*(Q`2_3))*(P`3_3)-(gf1*(Q`1_3))*(P`3_3))) by GROUP_1:def 3
.= (gf1*(R`3_3))*(((gf2*(P`2_3*(Q`3_3))-(gf1*(P`1_3))*(Q`3_3))
+(gf2*(Q`2_3))*(P`3_3))-(gf1*(Q`1_3))*(P`3_3)) by ALGSTR_1:7
.= (gf1*(R`3_3))*(((gf2*(P`2_3*(Q`3_3))-gf1*(P`1_3*(Q`3_3)))
+(gf2*(Q`2_3))*(P`3_3))-(gf1*(Q`1_3))*(P`3_3)) by GROUP_1:def 3
.= (gf1*(R`3_3))*((gf2*(P`2_3*(Q`3_3))
-gf1*(P`1_3*(Q`3_3))+gf2*(Q`2_3*(P`3_3)))
-(gf1*(Q`1_3))*(P`3_3)) by GROUP_1:def 3
.= (gf1*(R`3_3))*((gf2*(P`2_3*(Q`3_3))
+gf2*(Q`2_3*(P`3_3))-gf1*(P`1_3*(Q`3_3)))
-(gf1*(Q`1_3))*(P`3_3)) by ALGSTR_1:8
.= (gf1*(R`3_3))*((gf2*(P`2_3*(Q`3_3))
+gf2*(Q`2_3*(P`3_3))-gf1*(P`1_3*(Q`3_3)))
-gf1*(Q`1_3*(P`3_3))) by GROUP_1:def 3
.= (gf1*(R`3_3))*((gf2*(P`2_3*(Q`3_3))+gf2*(Q`2_3*(P`3_3)))+(
-gf1*(P`1_3*(Q`3_3))-gf1*(Q`1_3*(P`3_3)))) by ALGSTR_1:7
.= (gf1*(R`3_3))*(gf2*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3))+(
(-gf1*(P`1_3*(Q`3_3)))+(-gf1*(Q`1_3*(P`3_3))))) by VECTSP_1:def 7
.= (gf1*(R`3_3))*(gf2*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3))+(
(-gf1)*(P`1_3*(Q`3_3))+(-gf1*(Q`1_3*(P`3_3))))) by VECTSP_1:9
.= (gf1*(R`3_3))*(gf2*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3))+(
(-gf1)*(P`1_3*(Q`3_3))+(-gf1)*(Q`1_3*(P`3_3)))) by VECTSP_1:9
.= (gf1*(R`3_3))*(gf2*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3))+
(-gf1)*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3))) by VECTSP_1:def 7
.= (gf1*((gf2 |^3)*(P`3_3*(Q`3_3))))*(gf2*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3))+
(-gf1)*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3))) by GROUP_1:def 3,A3
.= ((gf1*(gf2 |^3))*(P`3_3*(Q`3_3)))*(gf2*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3))+
(-gf1)*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3))) by GROUP_1:def 3
.= (((gf2 |^3)*gf1)*(P`3_3*(Q`3_3)))*(gf2*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3))
-gf1*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3))) by VECTSP_1:9
.= ((gf2 |^3)*(gf1*(P`3_3*(Q`3_3))))*(gf2*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3))
-gf1*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3))) by GROUP_1:def 3
.= (gf2 |^3)*((gf1*(P`3_3*(Q`3_3)))*(gf2*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3))
-gf1*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3)))) by GROUP_1:def 3
.= (gf2 |^3)*((gf1*(P`3_3*(Q`3_3)))*(gf2*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3)))
-(gf1*(P`3_3*(Q`3_3)))*(gf1*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3)))) by VECTSP_1:11
.= (gf2 |^3)*(((gf1*(P`3_3*(Q`3_3)))*gf2)*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3))
-(gf1*(P`3_3*(Q`3_3)))*(gf1*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3))))
by GROUP_1:def 3
.= (gf2 |^3)*((gf2*(gf1*(P`3_3*(Q`3_3))))*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3))
-((gf1*(P`3_3*(Q`3_3)))*gf1)*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3)))
by GROUP_1:def 3
.= (gf2 |^3)*(gf2*((gf1*(P`3_3*(Q`3_3)))*(P`2_3*(Q`3_3)+Q`2_3*(P`3_3)))
-(gf1*(gf1*(P`3_3*(Q`3_3))))*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3)))
by GROUP_1:def 3
.= (gf2 |^3)*(gf2*((((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(a*gf2)*((P`3_3*(Q`3_3)) |^2))
-((gf1*gf1)*(P`3_3*(Q`3_3)))*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3)))
by A11,GROUP_1:def 3
.= (gf2 |^3)*(gf2*(((((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3)))
+(a*gf2)*((P`3_3*(Q`3_3)) |^2))
-((gf1 |^2)*(P`3_3*(Q`3_3)))*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3))) by EC_PF_1:22
.= (gf2 |^3)*(-((gf1 |^2)*(P`3_3*(Q`3_3)))*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3))
+(gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+gf2*((a*gf2)*((P`3_3*(Q`3_3)) |^2)))) by VECTSP_1:def 7
.= (gf2 |^3)*(-((gf1 |^2)*(P`3_3)*(Q`3_3))*(P`1_3*(Q`3_3)+Q`1_3*(P`3_3))
+(gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+gf2*((a*gf2)*((P`3_3*(Q`3_3)) |^2)))) by GROUP_1:def 3
.= (gf2 |^3)*(-(P`1_3*(Q`3_3)+Q`1_3*(P`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3))
+(gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(gf2*(a*gf2))*((P`3_3*(Q`3_3)) |^2))) by GROUP_1:def 3
.= (gf2 |^3)*(-(P`1_3*(Q`3_3)+Q`1_3*(P`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3))
+(gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(a*(gf2*gf2))*((P`3_3*(Q`3_3)) |^2))) by GROUP_1:def 3
.= (gf2 |^3)*(-(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3))
+(gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(a*(gf2 |^2))*((P`3_3*(Q`3_3)) |^2))) by EC_PF_1:22;
thus (gf2 |^2)*(P`1_3*(Q`1_3)*(R`3_3)+P`3_3*(Q`1_3)*(R`1_3)
+P`1_3*(Q`3_3)*(R`1_3))
+ g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3) - gf1*(P`1_3))
= (gf2 |^3)*(((-gf2)*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)))
+(-(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3))
+(gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(a*(gf2 |^2))*((P`3_3*(Q`3_3)) |^2)))) by A8,A12,VECTSP_1:def 7
.= (gf2 |^3)*((((-gf2)*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)))
-(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3)))
+(gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(a*(gf2 |^2))*((P`3_3*(Q`3_3)) |^2))) by ALGSTR_1:7
.= (gf2 |^3)*(((-gf2)*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+((P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3))
-(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((gf1 |^2)*(P`3_3)*(Q`3_3))))
+(gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(a*(gf2 |^2))*((P`3_3*(Q`3_3)) |^2))) by ALGSTR_1:7
.= (gf2 |^3)*(((-gf2)*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+0.GF(p))
+(gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(a*(gf2 |^2))*((P`3_3*(Q`3_3)) |^2))) by VECTSP_1:19
.= (gf2 |^3)*((-gf2)*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+(a*(gf2 |^2))*((P`3_3*(Q`3_3)) |^2))) by ALGSTR_1:7
.= (gf2 |^3)*(((-gf2)*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3)))
+(a*(gf2 |^2))*((P`3_3*(Q`3_3)) |^2)) by ALGSTR_1:7
.= (gf2 |^3)*((-gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3))
+gf2*(((P`3_3*(Q`1_3)) |^3)-((P`1_3*(Q`3_3)) |^3)))
+(a*(gf2 |^2))*((P`3_3*(Q`3_3)) |^2)) by VECTSP_1:9
.= (gf2 |^3)*(0.GF(p)+(a*(gf2 |^2))*((P`3_3*(Q`3_3)) |^2)) by RLVECT_1:5
.= (gf2 |^3)*((a*(gf2 |^2))*((P`3_3*(Q`3_3)) |^2)) by ALGSTR_1:7
.= ((gf2 |^3)*(a*(gf2 |^2))*((P`3_3*(Q`3_3)) |^2)) by GROUP_1:def 3
.= ((a*(gf2 |^2))*(gf2 |^3))*((P`3_3*(Q`3_3))*(P`3_3*(Q`3_3)))
by EC_PF_1:22
.= (a*(gf2 |^2))*((gf2 |^3)*((P`3_3*(Q`3_3))*(P`3_3*(Q`3_3))))
by GROUP_1:def 3
.= (a*(gf2 |^2))*(((gf2 |^3)*(P`3_3*(Q`3_3)))*(P`3_3*(Q`3_3)))
by GROUP_1:def 3
.= (a*(gf2 |^2))*(((gf2 |^3)*(P`3_3)*(Q`3_3))*(P`3_3*(Q`3_3)))
by GROUP_1:def 3
.= a*(gf2 |^2)*(P`3_3*(Q`3_3*(R`3_3))) by GROUP_1:def 3,A3
.= a*(gf2 |^2)*(P`3_3)*(Q`3_3*(R`3_3)) by GROUP_1:def 3
.= a*(gf2 |^2)*(P`3_3)*(Q`3_3)*(R`3_3) by GROUP_1:def 3;
end;
theorem Th58:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, gf1, gf2, gf3 be Element of GF(p),
P, Q be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
st g2 = 2 mod p & gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3) &
gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3) &
gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3) - (gf2 |^3) - g2*(gf2 |^2)*(P`1_3)*(Q`3_3) &
R = [gf2*gf3,
gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3) - (gf2 |^3)*(P`2_3)*(Q`3_3),
(gf2 |^3)*(P`3_3)*(Q`3_3)]
holds (gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*
((R`2_3 |^2)*(R`3_3) - ((R`1_3 |^3)
+ z`1*(R`1_3)*(R`3_3 |^2) + z`2*(R`3_3 |^3))) = 0.GF(p)
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, gf1, gf2, gf3 be Element of GF(p),
P, Q be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
such that
A1: g2 = 2 mod p and
A2: gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3) &
gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3) &
gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3)
- (gf2 |^3) - g2*(gf2 |^2)*(P`1_3)*(Q`3_3) and
A3: R = [gf2*gf3, gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)
- (gf2 |^3)*(P`2_3)*(Q`3_3),
(gf2 |^3)*(P`3_3)*(Q`3_3)];
set a = z`1;
set b = z`2;
A4: ((gf2 |^2)*(P`3_3 |^2)*(Q`3_3))*((R`2_3 |^2)*(R`3_3))
= ((gf2 |^2)*(P`3_3 |^2)*(Q`3_3))*(R`2_3 |^2)*(R`3_3) by GROUP_1:def 3
.= (gf2 |^2)*(P`3_3 |^2)*(R`2_3 |^2)*(Q`3_3)*(R`3_3) by GROUP_1:def 3
.= ((gf2*(P`3_3)*(R`2_3)) |^2)*(Q`3_3)*(R`3_3) by Th13
.= ((-(gf1*(R`1_3*(P`3_3)-P`1_3*(R`3_3))
+gf2*(P`2_3)*(R`3_3))) |^2)*(Q`3_3)*(R`3_3)
by A1,A2,A3,Th54
.= ((gf1*(R`1_3*(P`3_3)-P`1_3*(R`3_3))
+gf2*(P`2_3)*(R`3_3)) |^2)*(Q`3_3)*(R`3_3)
by Th1
.= ((gf1*(R`1_3*(P`3_3))-gf1*(P`1_3*(R`3_3))
+gf2*(P`2_3)*(R`3_3)) |^2)*(Q`3_3)*(R`3_3)
by VECTSP_1:11
.= ((gf1*(P`3_3)*(R`1_3)-gf1*(P`1_3*(R`3_3))
+gf2*(P`2_3)*(R`3_3)) |^2)*(Q`3_3)*(R`3_3)
by GROUP_1:def 3
.= ((gf1*(P`3_3)*(R`1_3)-gf1*(P`1_3)*(R`3_3)
+gf2*(P`2_3)*(R`3_3)) |^2)*(Q`3_3)*(R`3_3)
by GROUP_1:def 3
.= ((gf1*(P`3_3)*(R`1_3)+gf2*(P`2_3)*(R`3_3)
-gf1*(P`1_3)*(R`3_3)) |^2)*(Q`3_3)*(R`3_3)
by ALGSTR_1:8
.= ((gf1*(P`3_3)*(R`1_3)+(gf2*(P`2_3)*(R`3_3)
-gf1*(P`1_3)*(R`3_3))) |^2)*(Q`3_3)*(R`3_3)
by ALGSTR_1:7
.= ((gf1*(P`3_3)*(R`1_3)+(gf2*(P`2_3)
-gf1*(P`1_3))*(R`3_3)) |^2)*(Q`3_3)*(R`3_3)
by VECTSP_1:13
.= (((gf1*(P`3_3)) |^2)*(R`1_3 |^2)
+g2*(gf1*(P`3_3))*(gf2*(P`2_3)-gf1*(P`1_3))
*(R`1_3)*(R`3_3)
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2))*(Q`3_3)*(R`3_3)
by A1,Th27
.= (((gf1*(P`3_3)) |^2)*(R`1_3 |^2)
+g2*(gf1*(P`3_3))*(gf2*(P`2_3)-gf1*(P`1_3))
*(R`1_3)*(R`3_3)+((gf2*(P`2_3)
-gf1*(P`1_3)) |^2)*(R`3_3 |^2))*(Q`3_3*(R`3_3))
by GROUP_1:def 3
.= ((gf1*(P`3_3)) |^2)*(R`1_3 |^2)*(Q`3_3*(R`3_3))
+g2*(gf1*(P`3_3))*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3)*(R`3_3)*(Q`3_3*(R`3_3))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3*(R`3_3)) by Th14
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3*(R`3_3))
+g2*(gf1*(P`3_3))*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3)*(R`3_3)*(Q`3_3*(R`3_3))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3*(R`3_3)) by BINOM:9
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*(gf1*(P`3_3))*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3)*(R`3_3)*(Q`3_3*(R`3_3))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3*(R`3_3))
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(P`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3)*(R`3_3)*(Q`3_3*(R`3_3))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3*(R`3_3))
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(P`3_3*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3)*(R`3_3)*(Q`3_3*(R`3_3)))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3*(R`3_3)) by Th12
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*((Q`3_3*(R`3_3))*(R`1_3)*(R`3_3)*(P`3_3*(gf2*(P`2_3)-gf1*(P`1_3))))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3*(R`3_3)) by Th10
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3*(R`3_3))*(R`1_3)*(R`3_3)*(P`3_3*(gf2*(P`2_3)-gf1*(P`1_3)))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3*(R`3_3)) by Th11
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*(R`1_3)*(R`3_3)*(P`3_3*(gf2*(P`2_3)-gf1*(P`1_3)))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3*(R`3_3))
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*(R`1_3*(R`3_3)*(P`3_3*(gf2*(P`2_3)-gf1*(P`1_3))))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3*(R`3_3)) by Th11
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*((gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(R`3_3)*(P`3_3)))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3*(R`3_3))
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(R`3_3)*(P`3_3))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3*(R`3_3))
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3*(R`3_3))
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(R`3_3 |^2)*(Q`3_3)*(R`3_3)
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3 |^2)*(R`3_3)
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(Q`3_3)*((R`3_3 |^2)*(R`3_3))
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
+((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3 |^(2+1)) by EC_PF_1:24;
A5: -((gf2 |^2)*(P`3_3 |^2)*(Q`3_3))*(a*(R`1_3)*(R`3_3 |^2))
= -((gf2 |^2)*(P`3_3*(P`3_3))*(Q`3_3))*(a*(R`1_3)*(R`3_3 |^2))
by EC_PF_1:22
.= -((gf2 |^2)*(P`3_3)*(P`3_3)*(Q`3_3))*(a*(R`1_3)*(R`3_3 |^2))
by GROUP_1:def 3
.= -((gf2 |^2)*(P`3_3)*(Q`3_3)*(P`3_3))*(a*(R`1_3)*(R`3_3 |^2))
by GROUP_1:def 3
.= -((gf2 |^2)*(P`3_3)*(Q`3_3)*(P`3_3))*(a*(R`1_3)*(R`3_3*(R`3_3)))
by EC_PF_1:22
.= -((gf2 |^2)*(P`3_3)*(Q`3_3)*(P`3_3))*(a*(R`1_3)*(R`3_3)*(R`3_3))
by GROUP_1:def 3
.= -((gf2 |^2)*(P`3_3)*(Q`3_3)*(P`3_3))*(a*(R`3_3)*(R`1_3)*(R`3_3))
by GROUP_1:def 3
.= -((gf2 |^2)*(P`3_3)*(Q`3_3))*(P`3_3*(a*(R`3_3)*(R`1_3)*(R`3_3)))
by GROUP_1:def 3
.= -((gf2 |^2)*(P`3_3)*(Q`3_3))*(P`3_3*(a*(R`3_3))*(R`1_3)*(R`3_3))
by Th11
.= -((gf2 |^2)*(P`3_3)*(Q`3_3))*((a*(R`3_3))*(P`3_3*(R`1_3)*(R`3_3)))
by Th11
.= -((gf2 |^2)*(P`3_3)*(Q`3_3)*(a*(R`3_3)))*(P`3_3*(R`1_3)*(R`3_3))
by GROUP_1:def 3
.= -((gf2 |^2)*(P`3_3)*(Q`3_3)*a*(R`3_3))*(R`1_3*(P`3_3)*(R`3_3))
by GROUP_1:def 3
.= -((gf2 |^2)*(P`3_3*(Q`3_3)*a*(R`3_3)))*(P`3_3*(R`1_3)*(R`3_3))
by Th11
.= -((gf2 |^2)*(a*(P`3_3)*(Q`3_3)*(R`3_3)))*(P`3_3*(R`1_3)*(R`3_3))
by GROUP_1:def 3
.= -((gf2 |^2)*a*(P`3_3)*(Q`3_3)*(R`3_3))*(P`3_3*(R`1_3)*(R`3_3))
by Th11
.= -((gf2 |^2)*(P`1_3*(Q`1_3)*(R`3_3)
+P`3_3*(Q`1_3)*(R`1_3)+P`1_3*(Q`3_3)*(R`1_3))
+ g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
- gf1*(P`1_3)))*(P`3_3*(R`1_3)*(R`3_3))
by A1,A2,A3,Th57
.= -((gf2 |^2)*(P`1_3*(Q`1_3)*(R`3_3)
+P`3_3*(Q`1_3)*(R`1_3)+P`1_3*(Q`3_3)*(R`1_3))
*(P`3_3*(R`1_3)*(R`3_3))+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(P`3_3*(R`1_3)*(R`3_3)))
by VECTSP_1:def 7
.= -((gf2 |^2)*(P`1_3*(Q`1_3)*(R`3_3)
+(P`3_3*(Q`1_3)*(R`1_3)+P`1_3*(Q`3_3)*(R`1_3)))
*(P`3_3*(R`1_3)*(R`3_3))+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(P`3_3*(R`1_3)*(R`3_3)))
by ALGSTR_1:7
.= -((gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*(P`1_3*(Q`1_3)*(R`3_3)
+(P`3_3*(Q`1_3)*(R`1_3)+
P`1_3*(Q`3_3)*(R`1_3)))+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3)))
by GROUP_1:def 3
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-(gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*(P`1_3*(Q`1_3)*(R`3_3)
+(P`3_3*(Q`1_3)*(R`1_3)+P`1_3*(Q`3_3)*(R`1_3)))
by VECTSP_1:17
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*(P`1_3*(Q`1_3)*(R`3_3))
+(gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*
(P`3_3*(Q`1_3)*(R`1_3)+P`1_3*(Q`3_3)*(R`1_3))) by VECTSP_1:def 7
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*(P`1_3*(Q`1_3)*(R`3_3))
+(gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*
((P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`1_3))) by VECTSP_1:def 7
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*(P`1_3*(Q`1_3)*(R`3_3))
+(gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`1_3)) by GROUP_1:def 3
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*(P`1_3*(Q`1_3)*(R`3_3))
+(gf2 |^2)*(P`3_3)*(R`1_3)*(R`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`1_3)) by Th12
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*(P`1_3*(Q`1_3)*(R`3_3))
+(gf2 |^2)*(P`3_3)*(R`1_3*(R`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3)))*(R`1_3)) by Th11
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*(P`1_3*(Q`1_3)*(R`3_3))
+(gf2 |^2)*(P`3_3)*(
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`1_3)*(R`3_3))*(R`1_3)) by GROUP_1:def 3
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*(P`1_3*(Q`1_3)*(R`3_3))
+(gf2 |^2)*(P`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`1_3)*(R`3_3)*(R`1_3)) by Th11
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*
(P`1_3*(Q`1_3)*(R`3_3))+(gf2 |^2)*(P`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`1_3*(R`3_3)*(R`1_3))) by Th11
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*(P`1_3*(Q`1_3)*(R`3_3))
+(gf2 |^2)*(P`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`1_3*(R`1_3)*(R`3_3))) by GROUP_1:def 3
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3*(R`1_3)*(R`3_3))*(P`1_3*(Q`1_3)*(R`3_3))
+(gf2 |^2)*(P`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((R`1_3 |^2)*(R`3_3))) by EC_PF_1:22
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*(R`1_3)*(R`3_3)*(P`1_3*(Q`1_3)*(R`3_3))
+(gf2 |^2)*(P`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((R`1_3 |^2)*(R`3_3))) by Th11
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*(R`1_3*(R`3_3)*(P`1_3*(Q`1_3)*(R`3_3)))
+(gf2 |^2)*(P`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((R`1_3 |^2)*(R`3_3))) by Th11
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*((P`1_3*(Q`1_3))*(R`3_3*(R`1_3*(R`3_3))))
+(gf2 |^2)*(P`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((R`1_3 |^2)*(R`3_3))) by GROUP_1:def 3
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*(P`1_3*(Q`1_3)*(R`1_3*(R`3_3*(R`3_3))))
+(gf2 |^2)*(P`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((R`1_3 |^2)*(R`3_3))) by GROUP_1:def 3
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*(P`1_3*(Q`1_3)*(R`1_3*(R`3_3 |^2)))+(gf2 |^2)*(P`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((R`1_3 |^2)*(R`3_3))) by EC_PF_1:22
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*(P`1_3*(Q`1_3)*(R`1_3)*(R`3_3 |^2))+(gf2 |^2)*(P`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((R`1_3 |^2)*(R`3_3))) by GROUP_1:def 3
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3)*(R`3_3 |^2)+(gf2 |^2)*(P`3_3)*
(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((R`1_3 |^2)*(R`3_3))) by Th11
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-(gf2 |^2)*(P`3_3)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*((R`1_3 |^2)*(R`3_3))
by VECTSP_1:17
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(P`3_3)*((R`1_3 |^2)*(R`3_3))
by GROUP_1:def 3
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(P`3_3*((R`1_3 |^2)*(R`3_3)))
by GROUP_1:def 3
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3*((R`1_3 |^2)*(P`3_3)))
by GROUP_1:def 3
.= -g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
by GROUP_1:def 3;
A6: -((gf2 |^2)*(P`3_3 |^2)*(Q`3_3))*(b*(R`3_3 |^3))
= -(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*b*(R`3_3 |^(2+1)) by GROUP_1:def 3
.= -(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*b*((R`3_3 |^2)*(R`3_3)) by EC_PF_1:24
.= -b*((gf2 |^2)*(P`3_3 |^2)*(Q`3_3))*(R`3_3)*(R`3_3 |^2) by GROUP_1:def 3
.= -b*(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(R`3_3)*(R`3_3 |^2) by Th12
.= -(-(gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3)
+((gf2*(P`2_3) - gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3))
*(R`3_3 |^2) by A1,A2,A3,Th56
.= (-(-(gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3)
+((gf2*(P`2_3) - gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3)))
*(R`3_3 |^2) by VECTSP_1:9
.= (-((gf2*(P`2_3) - gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3)
+(gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))
*(R`3_3 |^2) by VECTSP_1:33
.= (-((gf2*(P`2_3) - gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3))*(R`3_3 |^2)
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2) by VECTSP_1:def 7
.= -((gf2*(P`2_3) - gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3)*(R`3_3 |^2)
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2) by VECTSP_1:9
.= -((gf2*(P`2_3) - gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3*(R`3_3 |^2))
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2) by GROUP_1:def 3
.=-((gf2*(P`2_3) - gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3 |^(2+1))
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2) by EC_PF_1:24;
A7: ((gf2 |^2)*(P`3_3 |^2)*(Q`3_3))*((R`2_3 |^2)*(R`3_3))
-((gf2 |^2)*(P`3_3 |^2)*(Q`3_3))*(b*(R`3_3 |^3))
= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
+(((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3 |^3)
+(-((gf2*(P`2_3) - gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3 |^3)
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)))
by A4,A6,ALGSTR_1:7
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
+(((gf2*(P`2_3)-gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3 |^3)
-((gf2*(P`2_3) - gf1*(P`1_3)) |^2)*(Q`3_3)*(R`3_3 |^3)
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)) by ALGSTR_1:7
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)
-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))+(0.GF(p)
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)) by VECTSP_1:19
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2) by RLVECT_1:4
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
+g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
by ALGSTR_1:8;
A8: ((gf2 |^2)*(P`3_3 |^2)*(Q`3_3))*((R`2_3 |^2)*(R`3_3))
-((gf2 |^2)*(P`3_3 |^2)*(Q`3_3))*(b*(R`3_3 |^3))
-((gf2 |^2)*(P`3_3 |^2)*(Q`3_3))*(a*(R`1_3)*(R`3_3 |^2))
= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
+(g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
+(-g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))))
by A5,A7,ALGSTR_1:7
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
+(g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
+(-g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
+(-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3)))))
by ALGSTR_1:7
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
+((g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3))
-g2*gf1*(Q`3_3)*(R`3_3)*(gf2*(P`2_3)-gf1*(P`1_3))*(R`1_3*(P`3_3)*(R`3_3)))
+(-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))))
by ALGSTR_1:7
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
+(0.GF(p)+(-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))))
by VECTSP_1:19
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
+(-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3)))
by RLVECT_1:4
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+(((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
+(-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))))
by ALGSTR_1:7
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+(((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-((gf2 |^2)*(P`3_3)*(P`1_3)*(Q`1_3)*(R`1_3))*(R`3_3 |^2)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3)))
by ALGSTR_1:7
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
+(0.GF(p)-(gf2 |^2)*(P`3_3*(Q`1_3)
+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3)))
by VECTSP_1:19
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
by RLVECT_1:14
.= (gf1 |^2)*(P`3_3*(P`3_3))*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
by EC_PF_1:22
.= (gf1 |^2)*(P`3_3)*(P`3_3)*(R`1_3 |^2)*(Q`3_3)*(R`3_3)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3)*(P`3_3*(R`1_3 |^2)*(Q`3_3)*(R`3_3))
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
by Th11
.= (gf1 |^2)*(P`3_3)*(P`3_3*(R`1_3 |^2)*(Q`3_3*(R`3_3)))
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3)*(Q`3_3*(R`3_3))*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
by GROUP_1:def 3;
thus (gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*
((R`2_3 |^2)*(R`3_3) -
((R`1_3 |^3) + z`1*(R`1_3)*(R`3_3 |^2) + z`2*(R`3_3 |^3)))
= (gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*((R`2_3 |^2)*(R`3_3))
-(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*((R`1_3 |^3)
+ a*(R`1_3)*(R`3_3 |^2) + b*(R`3_3 |^3))
by VECTSP_1:11
.= (gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*((R`2_3 |^2)*(R`3_3))
-((gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(R`1_3 |^3)
+(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(a*(R`1_3)*(R`3_3 |^2))
+(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(b*(R`3_3 |^3))) by Th14
.= (gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*((R`2_3 |^2)*(R`3_3))
-((gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(R`1_3 |^3)
+((gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(a*(R`1_3)*(R`3_3 |^2))
+(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(b*(R`3_3 |^3)))) by ALGSTR_1:7
.= ((gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*((R`2_3 |^2)*(R`3_3))
-((gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(a*(R`1_3)*(R`3_3 |^2))
+(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(b*(R`3_3 |^3)))
-(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(R`1_3 |^3)) by VECTSP_1:17
.= ((gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*((R`2_3 |^2)*(R`3_3))
-(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(b*(R`3_3 |^3))
-(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(a*(R`1_3)*(R`3_3 |^2)))
-(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*(R`1_3 |^3) by VECTSP_1:17
.= (gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3*(P`3_3))*(Q`3_3)*(R`1_3 |^3) by A8,EC_PF_1:22
.= (gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3)*(P`3_3)*(Q`3_3)*(R`1_3 |^3) by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3)*(Q`3_3)*(P`3_3)*(R`1_3 |^3) by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3)*(Q`3_3)*(R`1_3 |^(2+1))*(P`3_3) by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3)*(Q`3_3)*((R`1_3 |^2)*(R`1_3))*(P`3_3) by EC_PF_1:24
.= (gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3)*(Q`3_3)*(((R`1_3 |^2)*(R`1_3))*(P`3_3)) by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3)*(Q`3_3)*(R`1_3*((R`1_3 |^2)*(P`3_3))) by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)*((R`1_3 |^2)*(P`3_3))
-(gf2 |^2)*(P`3_3)*(Q`3_3)*(R`1_3)*((R`1_3 |^2)*(P`3_3)) by GROUP_1:def 3
.= ((gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)
-(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)
-(gf2 |^2)*(P`3_3)*(Q`3_3)*(R`1_3))*((R`1_3 |^2)*(P`3_3)) by Th14
.= ((gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)-((gf2 |^2)*(P`3_3)*(Q`3_3)*(R`1_3)
+(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)))*((R`1_3 |^2)*(P`3_3))
by VECTSP_1:17
.= ((gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)-((gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3))
+(gf2 |^2)*(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)))*((R`1_3 |^2)*(P`3_3))
by Th11
.= ((gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)-((gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3))
+(gf2 |^2)*((P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3))))*((R`1_3 |^2)*(P`3_3))
by GROUP_1:def 3
.= ((gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3)-(gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3)
+(P`3_3*(Q`1_3)+P`1_3*(Q`3_3))*(R`3_3)))*((R`1_3 |^2)*(P`3_3))
by VECTSP_1:def 7
.= (-(gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3)
+(P`3_3*(Q`1_3)*(R`3_3)+P`1_3*(Q`3_3)*(R`3_3)))
+(gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3))*((R`1_3 |^2)*(P`3_3)) by VECTSP_1:def 7
.= (-(gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3)
+P`3_3*(Q`1_3)*(R`3_3)+P`1_3*(Q`3_3)*(R`3_3))
+(gf1 |^2)*(P`3_3)*(Q`3_3)*(R`3_3))*((R`1_3 |^2)*(P`3_3)) by ALGSTR_1:7
.= (-(gf2 |^2)*(P`3_3*(Q`3_3)*(R`1_3)
+P`3_3*(Q`1_3)*(R`3_3)+P`1_3*(Q`3_3)*(R`3_3))
+(gf1 |^2)*(P`3_3*(Q`3_3)*(R`3_3)))*((R`1_3 |^2)*(P`3_3)) by Th11
.= 0.GF(p)*((R`1_3 |^2)*(P`3_3)) by A1,A2,A3,Th55
.= 0.GF(p);
end;
theorem Th59:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, g3, g4, g8, gf1, gf2, gf3, gf4 be Element of GF(p),
P be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
st g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p &
gf1 = z`1*(P`3_3 |^2) + g3*(P`1_3 |^2) & gf2 = P`2_3*(P`3_3) &
gf3 = P`1_3*(P`2_3)*gf2 & gf4 = (gf1 |^2) - g8*gf3 &
R = [g2*gf4*gf2, gf1*(g4*gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^2), g8*(gf2 |^3)]
holds g2*gf2*(P`3_3)*(R`2_3)
= -(gf1*(P`3_3*(R`1_3) - P`1_3*(R`3_3)) + g2*gf2*(P`2_3)*(R`3_3))
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, g3, g4, g8, gf1, gf2, gf3, gf4 be Element of GF(p),
P be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
such that
A1: g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p and
A2: gf1 = z`1*(P`3_3 |^2) + g3*(P`1_3 |^2) & gf2 = P`2_3*(P`3_3) &
gf3 = P`1_3*(P`2_3)*gf2 & gf4 = (gf1 |^2) - g8*gf3 and
A3: R = [g2*gf4*gf2, gf1*(g4*gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^2),
g8*(gf2 |^3)];
set a = z`1;
set b = z`2;
g8 = (2*4) mod p by A1
.= g2*g4 by A1,EC_PF_1:18;
then
A4: g8+g2*g8 = g2*(g4+g8) by VECTSP_1:def 7;
A5: P`3_3*gf3 = (P`3_3*(P`1_3*(P`2_3)))*gf2 by A2,GROUP_1:def 3
.= (P`1_3*gf2)*gf2 by A2,GROUP_1:def 3
.= P`1_3*(gf2*gf2) by GROUP_1:def 3
.= P`1_3*(gf2 |^2) by EC_PF_1:22;
A6: P`3_3*gf2*gf3 = (P`3_3*gf3)*gf2 by GROUP_1:def 3
.= P`1_3*((gf2 |^2)*gf2) by A5,GROUP_1:def 3
.= P`1_3*(gf2 |^(2+1)) by EC_PF_1:24
.= P`1_3*(gf2 |^3);
A7: g4*gf3-gf4
= g4*gf3 + (g8*gf3 - (gf1 |^2)) by A2,VECTSP_1:17
.= (g4*gf3 + g8*gf3) - (gf1 |^2) by ALGSTR_1:7
.= (g4+g8)*gf3 - (gf1 |^2) by VECTSP_1:def 7;
P`3_3*(R`1_3) - P`1_3*(R`3_3) = P`3_3*(g2*gf4*gf2) - P`1_3*(R`3_3)
by A3
.= P`3_3*((g2*gf2)*((gf1 |^2)-g8*gf3))-P`1_3*(g8*(gf2 |^3))
by A2,A3,GROUP_1:def 3
.= (P`3_3*(g2*gf2))*((gf1 |^2)-g8*gf3)-P`1_3*(g8*(gf2 |^3))
by GROUP_1:def 3
.= ((P`3_3*gf2)*g2)*((gf1 |^2)-g8*gf3)-P`1_3*(g8*(gf2 |^3))
by GROUP_1:def 3
.= g2*((P`3_3*gf2)*((gf1 |^2)-g8*gf3))-P`1_3*(g8*(gf2 |^3))
by GROUP_1:def 3
.= g2*((P`3_3*gf2)*(gf1 |^2)-(P`3_3*gf2)*(g8*gf3))-P`1_3*(g8*(gf2 |^3))
by VECTSP_1:11
.= g2*((P`3_3*gf2)*(gf1 |^2)-((P`3_3*gf2)*gf3)*g8)-P`1_3*(g8*(gf2 |^3))
by GROUP_1:def 3
.= g2*((P`3_3*gf2)*(gf1 |^2))-g2*((P`1_3*(gf2 |^3))*g8)
-P`1_3*(g8*(gf2 |^3)) by A6,VECTSP_1:11
.= g2*((P`3_3*gf2)*(gf1 |^2))-(g2*g8)*(P`1_3*(gf2 |^3))
-P`1_3*(g8*(gf2 |^3)) by GROUP_1:def 3
.= g2*((P`3_3*gf2)*(gf1 |^2))-(g2*g8)*(P`1_3*(gf2 |^3))
-g8*(P`1_3*(gf2 |^3)) by GROUP_1:def 3
.= g2*((P`3_3*gf2)*(gf1 |^2))-(g8*(P`1_3*(gf2 |^3))
+(g2*g8)*(P`1_3*(gf2 |^3))) by VECTSP_1:17
.= g2*((P`3_3*gf2)*(gf1 |^2))-((g8+g2*g8)*(P`1_3*(gf2 |^3))) by
VECTSP_1:def 7;
then
A8: -(P`3_3*(R`1_3) - P`1_3*(R`3_3))
= (g8+g2*g8)*(P`1_3*(gf2 |^3))-(g2*((P`3_3*gf2)*(gf1 |^2))) by VECTSP_1:17
.= g2*((g4+g8)*(P`1_3*(gf2 |^3)))-g2*((P`3_3*gf2)*(gf1 |^2))
by A4,GROUP_1:def 3
.= g2*((g4+g8)*(P`1_3*(gf2 |^3)) - (P`3_3*gf2)*(gf1 |^2)) by VECTSP_1:11;
A9: g2*gf2*(P`3_3)*(R`2_3)
= g2*gf2*(P`3_3)*(gf1*(g4*gf3-gf4)-g8*(P`2_3 |^2)*(gf2 |^2))
by A3
.= g2*gf2*(P`3_3)*(gf1*((g4+g8)*gf3-(gf1 |^2)))
-g2*gf2*(P`3_3)*(g8*(P`2_3 |^2)*(gf2 |^2)) by A7,VECTSP_1:11;
A10: -g2*gf2*(P`3_3)*(g8*(P`2_3 |^2)*(gf2 |^2))
= -(g2*(gf2*(P`3_3)))*(g8*(P`2_3 |^2)*(gf2 |^2)) by GROUP_1:def 3
.= -(g2*(P`3_3*gf2))*(g8*((P`2_3 |^2)*(gf2 |^2))) by GROUP_1:def 3
.= -((g2*(P`3_3))*gf2)*(g8*((gf2 |^2)*(P`2_3 |^2))) by GROUP_1:def 3
.= -(g2*(P`3_3))*(gf2*(g8*((gf2 |^2)*(P`2_3 |^2)))) by GROUP_1:def 3
.= -(g2*(P`3_3))*(gf2*((g8*(gf2 |^2))*(P`2_3 |^2))) by GROUP_1:def 3
.= -(g2*(P`3_3))*((gf2*(g8*(gf2 |^2)))*(P`2_3 |^2)) by GROUP_1:def 3
.= -(g2*(P`3_3))*(((gf2*g8)*(gf2 |^2))*(P`2_3 |^2)) by GROUP_1:def 3
.= -((g2*(P`3_3))*(P`2_3 |^2))*((gf2*g8)*(gf2 |^2)) by GROUP_1:def 3
.= -(g2*(P`3_3*(P`2_3 |^2)))*((g8*gf2)*(gf2 |^2)) by GROUP_1:def 3
.= -(g2*((P`2_3 |^2)*(P`3_3)))*(g8*(gf2*(gf2 |^2))) by GROUP_1:def 3
.= -g2*((P`2_3*(P`2_3))*(P`3_3))*(g8*((gf2 |^2)*gf2)) by EC_PF_1:22
.= -g2*(P`2_3*(P`2_3*(P`3_3)))*(g8*((gf2 |^2)*gf2)) by GROUP_1:def 3
.= -g2*(P`2_3*(P`2_3*(P`3_3)))*(g8*(gf2 |^(2+1))) by EC_PF_1:24
.= -g2*((P`2_3*gf2)*(g8*(gf2 |^3))) by A2,GROUP_1:def 3
.= -g2*(gf2*(P`2_3*(R`3_3))) by GROUP_1:def 3,A3
.= -g2*gf2*(P`2_3*(R`3_3)) by GROUP_1:def 3
.= -g2*gf2*(P`2_3)*(R`3_3) by GROUP_1:def 3;
g2*gf2*(P`3_3)*(gf1*((g4+g8)*gf3-(gf1 |^2)))
= gf1*((g2*gf2*(P`3_3))*((g4+g8)*gf3-(gf1 |^2))) by GROUP_1:def 3
.= gf1*((g2*(gf2*(P`3_3)))*((g4+g8)*gf3-(gf1 |^2))) by GROUP_1:def 3
.= gf1*(g2*((gf2*(P`3_3))*((g4+g8)*gf3-(gf1 |^2)))) by GROUP_1:def 3
.= gf1*(g2*((P`3_3*gf2)*((g4+g8)*gf3)-(P`3_3*gf2)*(gf1 |^2)))
by VECTSP_1:11
.= gf1*(g2*(((P`3_3*gf2)*gf3)*(g4+g8)-(P`3_3*gf2)*(gf1 |^2)))
by GROUP_1:def 3
.= -gf1*(P`3_3*(R`1_3) - P`1_3*(R`3_3)) by A6,A8,VECTSP_1:8;
hence g2*gf2*(P`3_3)*(R`2_3)
= -gf1*(P`3_3*(R`1_3) - P`1_3*(R`3_3)) - g2*gf2*(P`2_3)*(R`3_3) by A9,A10
.= -(gf1*(P`3_3*(R`1_3) - P`1_3*(R`3_3)) + g2*gf2*(P`2_3)*(R`3_3))
by VECTSP_1:17;
end;
theorem Th60:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, g3, g4, g8, gf1, gf2, gf3, gf4 be Element of GF(p),
P be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
st g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p &
gf1 = z`1*(P`3_3 |^2) + g3*(P`1_3 |^2) & gf2 = P`2_3*(P`3_3) &
gf3 = P`1_3*(P`2_3)*gf2 & gf4 = (gf1 |^2) - g8*gf3 &
R = [g2*gf4*gf2, gf1*(g4*gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^2), g8*(gf2 |^3)]
holds g4*(gf2 |^2)*(P`3_3)*(R`1_3)
= R`3_3*((gf1 |^2)*(P`3_3) - g8*(gf2 |^2)*(P`1_3))
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, g3, g4, g8, gf1, gf2, gf3, gf4 be Element of GF(p),
P be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
such that
A1: g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p and
A2: gf1 = z`1*(P`3_3 |^2) + g3*(P`1_3 |^2) & gf2 = P`2_3*(P`3_3) &
gf3 = P`1_3*(P`2_3)*gf2 & gf4 = (gf1 |^2) - g8*gf3 and
A3: R = [g2*gf4*gf2, gf1*(g4*gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^2),
g8*(gf2 |^3)];
set a = z`1;
set b = z`2;
A4: g8 = (2*4) mod p by A1
.= g2*g4 by A1,EC_PF_1:18;
A5: P`3_3*gf3 = (P`3_3*(P`1_3*(P`2_3)))*gf2 by A2,GROUP_1:def 3
.= (P`1_3*(P`2_3*(P`3_3)))*gf2 by GROUP_1:def 3
.= P`1_3*(gf2*gf2) by A2,GROUP_1:def 3
.= P`1_3*(gf2 |^2) by EC_PF_1:22;
A6: g4*(gf2 |^2)*(P`3_3)*(R`1_3) = g4*(gf2 |^2)*(P`3_3)*(g2*gf4*gf2)
by A3
.= (g4*(gf2 |^2)*(P`3_3))*(g2*(gf4*gf2)) by GROUP_1:def 3
.= (g4*((gf2 |^2)*(P`3_3)))*(g2*(gf2*gf4)) by GROUP_1:def 3
.= (g4*(P`3_3*(gf2 |^2)))*((g2*gf2)*gf4) by GROUP_1:def 3
.= ((g4*(P`3_3))*(gf2 |^2))*((gf2*g2)*gf4) by GROUP_1:def 3
.= (((g4*(P`3_3))*(gf2 |^2))*(gf2*g2))*gf4 by GROUP_1:def 3
.= ((g4*(P`3_3))*((gf2 |^2)*(gf2*g2)))*gf4 by GROUP_1:def 3
.= ((g4*(P`3_3))*(((gf2 |^2)*gf2)*g2))*gf4 by GROUP_1:def 3
.= ((g4*(P`3_3))*((gf2 |^(2+1))*g2))*gf4 by EC_PF_1:24
.= (((g4*(P`3_3))*g2)*(gf2 |^3))*gf4 by GROUP_1:def 3
.= (((g2*g4)*(P`3_3))*(gf2 |^3))*((gf1 |^2)-g8*gf3) by A2,GROUP_1:def 3
.= (g8*(gf2 |^3)*(P`3_3))*((gf1 |^2)-g8*gf3) by A4,GROUP_1:def 3;
thus R`3_3*((gf1 |^2)*(P`3_3)-g8*(gf2 |^2)*(P`1_3))
= (g8*(gf2 |^3))*((gf1 |^2)*(P`3_3)-g8*(gf2 |^2)*(P`1_3)) by A3
.= (g8*(gf2 |^3))*(P`3_3*(gf1 |^2)-g8*((gf2 |^2)*(P`1_3))) by GROUP_1:def 3
.= (g8*(gf2 |^3))*(P`3_3*(gf1 |^2)-P`3_3*(g8*gf3)) by A5,GROUP_1:def 3
.= (g8*(gf2 |^3))*(P`3_3*((gf1 |^2)-(g8*gf3))) by VECTSP_1:11
.= g4*(gf2 |^2)*(P`3_3)*(R`1_3) by A6,GROUP_1:def 3;
end;
theorem Th61:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, g3, g4, g8, gf1, gf2, gf3, gf4 be Element of GF(p),
P be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
st g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p &
gf1 = z`1*(P`3_3 |^2) + g3*(P`1_3 |^2) & gf2 = P`2_3*(P`3_3) &
gf3 = P`1_3*(P`2_3)*gf2 & gf4 = (gf1 |^2) - g8*gf3 &
R = [g2*gf4*gf2, gf1*(g4*gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^2), g8*(gf2 |^3)]
holds g4*(gf2 |^2)*(P`3_3 |^2)*(z`2*(R`3_3))
= R`3_3*((g2*gf2*(P`2_3)-gf1*(P`1_3)) |^2)
- g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3)
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, g3, g4, g8, gf1, gf2, gf3, gf4 be Element of GF(p),
P be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
such that
A1: g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p and
A2: gf1 = z`1*(P`3_3 |^2) + g3*(P`1_3 |^2) & gf2 = P`2_3*(P`3_3) &
gf3 = P`1_3*(P`2_3)*gf2 & gf4 = (gf1 |^2) - g8*gf3 and
A3: R = [g2*gf4*gf2, gf1*(g4*gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^2),
g8*(gf2 |^3)];
set a = z`1;
set b = z`2;
A4: g4 = (2*2) mod p by A1
.= g2*g2 by A1,EC_PF_1:18;
A5: g8 = (2*4) mod p by A1
.= g2*g4 by A1,EC_PF_1:18;
A6: -g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3)
= -g4*(gf2 |^2)*((P`1_3 |^2)*(g2*gf4*gf2)) by GROUP_1:def 3,A3
.= -g4*((gf2 |^2)*((P`1_3 |^2)*(g2*gf4*gf2))) by GROUP_1:def 3
.= -g4*(((gf2 |^2)*(P`1_3 |^2))*(g2*gf4*gf2)) by GROUP_1:def 3
.= -g4*(((gf2 |^2)*(P`1_3 |^2))*(g2*(gf4*gf2))) by GROUP_1:def 3
.= -g4*((((gf2 |^2)*(P`1_3 |^2))*(gf2*gf4))*g2) by GROUP_1:def 3
.= -(g4*g2)*(((gf2 |^2)*(P`1_3 |^2))*(gf2*gf4)) by GROUP_1:def 3
.= -g8*((P`1_3 |^2)*((gf2 |^2)*(gf2*gf4))) by A5,GROUP_1:def 3
.= -g8*((P`1_3 |^2)*(((gf2 |^2)*gf2)*gf4)) by GROUP_1:def 3
.= -g8*((P`1_3 |^2)*((gf2 |^(2+1))*gf4)) by EC_PF_1:24
.= -g8*(((P`1_3 |^2)*(gf2 |^3))*gf4) by GROUP_1:def 3
.= -(g8*((P`1_3 |^2)*(gf2 |^3)))*gf4 by GROUP_1:def 3
.= -((g8*(gf2 |^3))*(P`1_3 |^2))*gf4 by GROUP_1:def 3
.= -((R`3_3*(P`1_3 |^2))*(gf1 |^2)-(R`3_3*(P`1_3 |^2))*(g8*gf3))
by A2,A3,VECTSP_1:11
.= (R`3_3*(P`1_3 |^2))*(g8*gf3)-(R`3_3*(P`1_3 |^2))*(gf1 |^2)
by VECTSP_1:17
.= ((R`3_3*(P`1_3 |^2))*g8)*gf3-(R`3_3*(P`1_3 |^2))*(gf1 |^2)
by GROUP_1:def 3
.= (g8*(R`3_3*(P`1_3 |^2)))*gf3-R`3_3*((P`1_3 |^2)*(gf1 |^2))
by GROUP_1:def 3
.= g8*((R`3_3*(P`1_3 |^2))*gf3)-R`3_3*((P`1_3 |^2)*(gf1 |^2))
by GROUP_1:def 3
.= g8*(R`3_3*((P`1_3 |^2)*(P`1_3*(P`2_3)*gf2)))
-R`3_3*((P`1_3 |^2)*(gf1 |^2)) by A2,GROUP_1:def 3
.= g8*(R`3_3*((P`1_3 |^2)*(P`1_3*(P`2_3*gf2))))
-R`3_3*((P`1_3 |^2)*(gf1 |^2)) by GROUP_1:def 3
.= g8*(R`3_3*(((P`1_3 |^2)*(P`1_3))*(P`2_3*gf2)))
-R`3_3*((P`1_3 |^2)*(gf1 |^2)) by GROUP_1:def 3
.= g8*(R`3_3*((P`1_3 |^(2+1))*(P`2_3*gf2)))
-R`3_3*((P`1_3 |^2)*(gf1 |^2)) by EC_PF_1:24
.= g8*((R`3_3*(P`2_3*gf2))*(P`1_3 |^3))
-R`3_3*((P`1_3 |^2)*(gf1 |^2)) by GROUP_1:def 3
.= ((g2*g4)*(R`3_3*(P`2_3*gf2)))*(P`1_3 |^3)
-R`3_3*((P`1_3 |^2)*(gf1 |^2)) by A5,GROUP_1:def 3
.= (g2*(g4*(R`3_3*(P`2_3*gf2))))*(P`1_3 |^3)
-R`3_3*((P`1_3 |^2)*(gf1 |^2)) by GROUP_1:def 3
.= (g4*(R`3_3*(P`2_3*gf2)))*(g2*(P`1_3 |^3))
-R`3_3*((P`1_3 |^2)*(gf1 |^2)) by GROUP_1:def 3
.= -R`3_3*((gf1 |^2)*(P`1_3 |^2))
+((g4*(R`3_3))*(P`2_3*gf2))*(g2*(P`1_3 |^3))
by GROUP_1:def 3;
A7: R`3_3*((g2*gf2*(P`2_3)-gf1*(P`1_3)) |^2)-R`3_3*((gf1 |^2)*(P`1_3 |^2))
= R`3_3*(((g2*gf2*(P`2_3)-gf1*(P`1_3)) |^2)-(gf1 |^2)*(P`1_3 |^2))
by VECTSP_1:11
.= R`3_3*(((g2*gf2*(P`2_3)-gf1*(P`1_3)) |^2)-((gf1*(P`1_3)) |^2))
by BINOM:9
.= R`3_3*(((g2*gf2*(P`2_3)-gf1*(P`1_3))+gf1*(P`1_3))*
((g2*gf2*(P`2_3)-gf1*(P`1_3))-gf1*(P`1_3))) by Th15
.= R`3_3*((g2*gf2*(P`2_3)-(gf1*(P`1_3)-gf1*(P`1_3)))*
((g2*gf2*(P`2_3)-gf1*(P`1_3))-gf1*(P`1_3))) by RLVECT_1:29
.= R`3_3*((g2*gf2*(P`2_3)-(gf1*(P`1_3)-gf1*(P`1_3)))*
(g2*gf2*(P`2_3)-(gf1*(P`1_3)+gf1*(P`1_3)))) by RLVECT_1:27
.= R`3_3*((g2*gf2*(P`2_3)-(gf1*(P`1_3)-gf1*(P`1_3)))*
(g2*gf2*(P`2_3)-g2*(gf1*(P`1_3))))
by A1,Th20
.= R`3_3*((g2*gf2*(P`2_3)-0.GF(p))*(g2*gf2*(P`2_3)-g2*(gf1*(P`1_3))))
by VECTSP_1:19
.= R`3_3*((g2*gf2*(P`2_3))*(g2*gf2*(P`2_3)-g2*(gf1*(P`1_3))))
by RLVECT_1:13
.= R`3_3*((g2*gf2*(P`2_3))*(g2*(gf2*(P`2_3))-g2*(gf1*(P`1_3))))
by GROUP_1:def 3
.= R`3_3*((g2*gf2*(P`2_3))*(g2*(gf2*(P`2_3)-gf1*(P`1_3)))) by VECTSP_1:11
.= R`3_3*(((g2*gf2*(P`2_3))*g2)*(gf2*(P`2_3)-gf1*(P`1_3))) by GROUP_1:def 3
.= R`3_3*((g2*(g2*(gf2*(P`2_3))))*(gf2*(P`2_3)-gf1*(P`1_3)))
by GROUP_1:def 3
.= R`3_3*((g4*(gf2*(P`2_3)))*(gf2*(P`2_3)-gf1*(P`1_3))) by A4,GROUP_1:def 3
.= (R`3_3*(g4*(gf2*(P`2_3))))*(gf2*(P`2_3)-gf1*(P`1_3)) by GROUP_1:def 3
.= ((g4*(R`3_3))*(P`2_3*gf2))*(gf2*(P`2_3)-gf1*(P`1_3)) by GROUP_1:def 3;
A8: 3 = 2+1;
(P`2_3 |^2)*(P`3_3) - ((P`1_3 |^3)+a*(P`1_3)*(P`3_3 |^2)+b*(P`3_3 |^3))
= 0.GF(p) by Th35; then
A9: (P`1_3 |^3)+a*(P`1_3)*(P`3_3 |^2)+b*(P`3_3 |^3) = (P`2_3 |^2)*(P`3_3)
by VECTSP_1:19
.= (P`2_3*(P`2_3))*(P`3_3) by EC_PF_1:22
.= gf2*(P`2_3) by A2,GROUP_1:def 3;
thus R`3_3*((g2*gf2*(P`2_3)
-gf1*(P`1_3)) |^2)-g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3)
= (R`3_3*((g2*gf2*(P`2_3)-gf1*(P`1_3)) |^2)-R`3_3*((gf1 |^2)*(P`1_3 |^2)))
+((g4*(R`3_3))*(P`2_3*gf2))*(g2*(P`1_3 |^3)) by A6,ALGSTR_1:7
.= ((g4*(R`3_3))*(P`2_3*gf2))*(gf2*(P`2_3)-gf1*(P`1_3)+g2*(P`1_3 |^3))
by A7,VECTSP_1:def 7
.= ((g4*(R`3_3))*(P`2_3*gf2))*(gf2*(P`2_3)-((a*(P`3_3 |^2))*(P`1_3)+
(g3*(P`1_3 |^2))*(P`1_3))+g2*(P`1_3 |^3)) by A2,VECTSP_1:def 7
.= ((g4*(R`3_3))*(P`2_3*gf2))*(gf2*(P`2_3)-(((a*(P`3_3 |^2))*(P`1_3)+
(g3*(P`1_3 |^2))*(P`1_3))-g2*(P`1_3 |^3))) by RLVECT_1:29
.= ((g4*(R`3_3))*(P`2_3*gf2))*(gf2*(P`2_3)-(((a*(P`3_3 |^2))*(P`1_3)+
g3*((P`1_3 |^2)*(P`1_3)))-g2*(P`1_3 |^3))) by GROUP_1:def 3
.= ((g4*(R`3_3))*(P`2_3*gf2))*(gf2*(P`2_3)-(((a*(P`3_3 |^2))*(P`1_3)+
g3*(P`1_3 |^(2+1)))-g2*(P`1_3 |^3))) by EC_PF_1:24
.= ((g4*(R`3_3))*(P`2_3*gf2))*(gf2*(P`2_3)-((a*(P`3_3 |^2))*(P`1_3)+
(g3*(P`1_3 |^3)-g2*(P`1_3 |^3)))) by ALGSTR_1:7
.= ((g4*(R`3_3))*(P`2_3*gf2))*(gf2*(P`2_3)-((a*(P`3_3 |^2))*(P`1_3)+
(P`1_3 |^3))) by A1,A8,Th22
.= ((g4*(R`3_3))*(P`2_3*gf2))*(((P`1_3 |^3)+
a*(P`1_3)*(P`3_3 |^2))+b*(P`3_3 |^3)
-((P`1_3 |^3)+a*(P`1_3)*(P`3_3 |^2))) by A9,GROUP_1:def 3
.= ((g4*(R`3_3))*(gf2*(P`2_3)))*(b*(P`3_3 |^3)+
(((P`1_3 |^3)+a*(P`1_3)*(P`3_3 |^2))
-((P`1_3 |^3)+a*(P`1_3)*(P`3_3 |^2)))) by ALGSTR_1:7
.= ((g4*(R`3_3))*(gf2*(P`2_3)))*(b*(P`3_3 |^3)+0.GF(p)) by RLVECT_1:5
.= ((g4*(R`3_3))*(gf2*(P`2_3)))*(b*(P`3_3 |^3)) by ALGSTR_1:7
.= (((g4*(R`3_3))*gf2)*(P`2_3))*(b*(P`3_3 |^3)) by GROUP_1:def 3
.= ((g4*(R`3_3))*gf2)*(P`2_3*(b*(P`3_3 |^3))) by GROUP_1:def 3
.= ((g4*(R`3_3))*gf2)*(b*(P`2_3*(P`3_3 |^(2+1)))) by GROUP_1:def 3
.= ((g4*(R`3_3))*gf2)*(b*(P`2_3*((P`3_3 |^2)*(P`3_3)))) by EC_PF_1:24
.= (((g4*(R`3_3))*gf2)*b)*(P`2_3*(P`3_3*(P`3_3 |^2))) by GROUP_1:def 3
.= (((g4*(R`3_3))*gf2)*b)*(gf2*(P`3_3 |^2)) by A2,GROUP_1:def 3
.= ((g4*(R`3_3*gf2))*b)*(gf2*(P`3_3 |^2)) by GROUP_1:def 3
.= (g4*((R`3_3*gf2)*b))*(gf2*(P`3_3 |^2)) by GROUP_1:def 3
.= g4*(((R`3_3*gf2)*b)*(gf2*(P`3_3 |^2))) by GROUP_1:def 3
.= g4*((((R`3_3*gf2)*b)*gf2)*(P`3_3 |^2)) by GROUP_1:def 3
.= g4*((gf2*(gf2*(R`3_3*b)))*(P`3_3 |^2)) by GROUP_1:def 3
.= g4*(((gf2*gf2)*(R`3_3*b))*(P`3_3 |^2)) by GROUP_1:def 3
.= g4*(((gf2 |^2)*(b*(R`3_3)))*(P`3_3 |^2)) by EC_PF_1:22
.= g4*((gf2 |^2)*((b*(R`3_3))*(P`3_3 |^2))) by GROUP_1:def 3
.= (g4*(gf2 |^2))*((P`3_3 |^2)*(b*(R`3_3))) by GROUP_1:def 3
.= g4*(gf2 |^2)*(P`3_3 |^2)*(b*(R`3_3)) by GROUP_1:def 3;
end;
theorem Th62:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, g3, g4, g8, gf1, gf2, gf3, gf4 be Element of GF(p),
P be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
st g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p &
gf1 = z`1*(P`3_3 |^2) + g3*(P`1_3 |^2) & gf2 = P`2_3*(P`3_3) &
gf3 = P`1_3*(P`2_3)*gf2 & gf4 = (gf1 |^2) - g8*gf3 &
R = [g2*gf4*gf2, gf1*(g4*gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^2), g8*(gf2 |^3)]
holds g2*(gf2 |^2)*(P`3_3 |^2)*(z`1*(R`3_3))
= gf1*(P`3_3)*(R`3_3)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
+ (gf2 |^2)*(g4*(P`1_3)*(P`3_3)*(R`1_3)+g2*(P`1_3 |^2)*(R`3_3))
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, g3, g4, g8, gf1, gf2, gf3, gf4 be Element of GF(p),
P be Element of EC_SetProjCo(z`1,z`2,p), R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
such that
A1: g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p and
A2: gf1 = z`1*(P`3_3 |^2) + g3*(P`1_3 |^2) & gf2 = P`2_3*(P`3_3) &
gf3 = P`1_3*(P`2_3)*gf2 & gf4 = (gf1 |^2) - g8*gf3 and
A3: R = [g2*gf4*gf2, gf1*(g4*gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^2),
g8*(gf2 |^3)];
set a = z`1;
set b = z`2;
A4: g8 = (2*4) mod p by A1
.= g2*g4 by A1,EC_PF_1:18;
A5: P`3_3*gf3 = (P`3_3*(P`1_3*(P`2_3)))*gf2 by A2,GROUP_1:def 3
.= (P`1_3*(P`2_3*(P`3_3)))*gf2 by GROUP_1:def 3
.= P`1_3*(gf2*gf2) by A2,GROUP_1:def 3
.= P`1_3*(gf2 |^2) by EC_PF_1:22;
A6: g2*(gf2 |^2)*(P`3_3 |^2)*(a*(R`3_3))
= ((g2*(gf2 |^2)*(P`3_3 |^2))*a)*(R`3_3) by GROUP_1:def 3
.= R`3_3*((g2*(gf2 |^2))*(a*(P`3_3 |^2))) by GROUP_1:def 3;
A7: gf1*(P`3_3)*(R`3_3)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
= R`3_3*((gf1*(P`3_3))*(g2*gf2*(P`2_3)-gf1*(P`1_3))) by GROUP_1:def 3
.= R`3_3*(gf1*(P`3_3*(g2*gf2*(P`2_3)-gf1*(P`1_3)))) by GROUP_1:def 3
.= R`3_3*(gf1*(P`3_3*(g2*gf2*(P`2_3))-P`3_3*(gf1*(P`1_3)))) by VECTSP_1:11
.= R`3_3*(gf1*(P`3_3*(P`2_3*(g2*gf2))-(P`3_3*gf1)*(P`1_3)))
by GROUP_1:def 3
.= R`3_3*(gf1*((P`3_3*(P`2_3))*(g2*gf2)-P`1_3*(P`3_3*gf1)))
by GROUP_1:def 3
.= R`3_3*(gf1*((P`2_3*(P`3_3))*(g2*gf2)-(P`1_3*(P`3_3))*gf1))
by GROUP_1:def 3
.= R`3_3*(gf1*(g2*(gf2*gf2)-gf1*(P`1_3*(P`3_3)))) by A2,GROUP_1:def 3
.= R`3_3*(gf1*(g2*(gf2 |^2)-gf1*(P`1_3*(P`3_3)))) by EC_PF_1:22
.= R`3_3*(gf1*(g2*(gf2 |^2))-gf1*(gf1*(P`1_3*(P`3_3)))) by VECTSP_1:11
.= R`3_3*(gf1*(g2*(gf2 |^2))-(gf1*gf1)*(P`1_3*(P`3_3))) by GROUP_1:def 3
.= R`3_3*((g2*(gf2 |^2))*gf1-(gf1 |^2)*(P`1_3*(P`3_3))) by EC_PF_1:22;
A8: (gf2 |^2)*(g4*(P`1_3)*(P`3_3)*(R`1_3)+g2*(P`1_3 |^2)*(R`3_3))
= (gf2 |^2)*(g4*(P`1_3)*(P`3_3)*(R`1_3))+(gf2 |^2)*(g2*(P`1_3 |^2)*(R`3_3))
by VECTSP_1:def 7
.= (gf2 |^2)*((g4*(P`1_3)*(P`3_3))*(R`1_3))
+((gf2 |^2)*(g2*(P`1_3 |^2)))*(R`3_3) by GROUP_1:def 3
.= (gf2 |^2)*(R`1_3*(g4*(P`1_3)*(P`3_3)))
+((gf2 |^2)*g2*(P`1_3 |^2))*(R`3_3) by GROUP_1:def 3
.= ((gf2 |^2)*(g2*gf4*gf2))*(g4*(P`1_3)*(P`3_3))+R`3_3*(((gf2 |^2)*g2)*
(P`1_3 |^2)) by A3,GROUP_1:def 3
.= ((gf2 |^2)*(gf2*(g2*gf4)))*(g4*(P`1_3)*(P`3_3))+R`3_3*(g2*((gf2 |^2)*
(P`1_3 |^2))) by GROUP_1:def 3
.= (((gf2 |^2)*gf2)*(g2*gf4))*(g4*(P`1_3)*(P`3_3))+R`3_3*(g2*((gf2 |^2)*
(P`1_3 |^2))) by GROUP_1:def 3
.= ((gf2 |^(2+1))*(g2*gf4))*(g4*(P`1_3)*(P`3_3))+R`3_3*(g2*((gf2 |^2)*
(P`1_3 |^2))) by EC_PF_1:24
.= (gf2 |^3)*((g2*gf4)*(g4*(P`1_3)*(P`3_3)))+R`3_3*(g2*((gf2 |^2)*
(P`1_3 |^2))) by GROUP_1:def 3
.= (gf2 |^3)*((g2*gf4)*(g4*(P`1_3*(P`3_3))))+R`3_3*(g2*((gf2 |^2)*
(P`1_3 |^2))) by GROUP_1:def 3
.= (gf2 |^3)*(((g2*gf4)*g4)*(P`1_3*(P`3_3)))+R`3_3*(g2*((gf2 |^2)*
(P`1_3 |^2))) by GROUP_1:def 3
.= (gf2 |^3)*(((g2*g4)*gf4)*(P`1_3*(P`3_3)))+R`3_3*(g2*((gf2 |^2)*
(P`1_3 |^2))) by GROUP_1:def 3
.= (gf2 |^3)*(g8*(gf4*(P`1_3*(P`3_3))))+R`3_3*(g2*((gf2 |^2)*
(P`1_3 |^2))) by A4,GROUP_1:def 3
.= ((gf2 |^3)*g8)*(gf4*(P`1_3*(P`3_3)))+R`3_3*(g2*((gf2 |^2)*
(P`1_3 |^2))) by GROUP_1:def 3
.= R`3_3*(((P`1_3*(P`3_3))*gf4)+(g2*((gf2 |^2)*(P`1_3 |^2))))
by VECTSP_1:def 7,A3
.= R`3_3*(P`1_3*(P`3_3*gf4)+g2*((gf2 |^2)*(P`1_3 |^2))) by GROUP_1:def 3;
A9: 4=3+1;
P`3_3*gf4 = P`3_3*(gf1 |^2)-P`3_3*(g8*gf3) by A2,VECTSP_1:11
.= P`3_3*(gf1 |^2)-g8*(P`3_3*gf3) by GROUP_1:def 3
.= P`3_3*(gf1 |^2)-(g4*(g2*(P`1_3*(gf2 |^2)))) by A4,A5,GROUP_1:def 3
.= P`3_3*(gf1 |^2)-(g3*(g2*(P`1_3*(gf2 |^2)))+(g2*(P`1_3*(gf2 |^2))))
by A1,A9,Th19
.= P`3_3*(gf1 |^2)-(g3*((g2*(gf2 |^2))*(P`1_3))+(g2*((gf2 |^2)*(P`1_3))))
by GROUP_1:def 3
.= P`3_3*(gf1 |^2)-((g2*(gf2 |^2))*(g3*(P`1_3))+(g2*((gf2 |^2)*(P`1_3))))
by GROUP_1:def 3;
then
P`1_3*(P`3_3*gf4)
= P`1_3*(P`3_3*(gf1 |^2))-P`1_3*((g2*(gf2 |^2))*(g3*(P`1_3))
+(g2*((gf2 |^2)*(P`1_3)))) by VECTSP_1:11
.= (P`1_3*(P`3_3))*(gf1 |^2)-(P`1_3*((g2*(gf2 |^2))*(g3*(P`1_3))
+(g2*((gf2 |^2)*(P`1_3))))) by GROUP_1:def 3
.= (P`1_3*(P`3_3))*(gf1 |^2)-(P`1_3*((g2*(gf2 |^2))*(g3*(P`1_3)))
+P`1_3*(g2*((gf2 |^2)*(P`1_3)))) by VECTSP_1:def 7
.= (P`1_3*(P`3_3))*(gf1 |^2)-((g2*(gf2 |^2))*((g3*(P`1_3))*(P`1_3))
+(g2*((gf2 |^2)*(P`1_3)))*(P`1_3)) by GROUP_1:def 3
.= (P`1_3*(P`3_3))*(gf1 |^2)-((g2*(gf2 |^2))*(g3*(P`1_3*(P`1_3)))
+(g2*((gf2 |^2)*(P`1_3)))*(P`1_3)) by GROUP_1:def 3
.= (P`1_3*(P`3_3))*(gf1 |^2)-((g2*(gf2 |^2))*(g3*(P`1_3 |^2))
+(g2*((gf2 |^2)*(P`1_3)))*(P`1_3)) by EC_PF_1:22
.= (P`1_3*(P`3_3))*(gf1 |^2)-((g2*(gf2 |^2))*(g3*(P`1_3 |^2))
+g2*(((gf2 |^2)*(P`1_3))*(P`1_3))) by GROUP_1:def 3
.= (P`1_3*(P`3_3))*(gf1 |^2)-((g2*(gf2 |^2))*(g3*(P`1_3 |^2))
+g2*((gf2 |^2)*(P`1_3*(P`1_3)))) by GROUP_1:def 3
.= (gf1 |^2)*(P`1_3*(P`3_3))-((g2*(gf2 |^2))*(g3*(P`1_3 |^2))
+g2*((gf2 |^2)*(P`1_3 |^2))) by EC_PF_1:22
.= (gf1 |^2)*(P`1_3*(P`3_3))-(g2*(gf2 |^2))*(g3*(P`1_3 |^2))
-g2*((gf2 |^2)*(P`1_3 |^2)) by VECTSP_1:17;
then
P`1_3*(P`3_3*gf4)+g2*((gf2 |^2)*(P`1_3 |^2))
= ((gf1 |^2)*(P`1_3*(P`3_3))-(g2*(gf2 |^2))*(g3*(P`1_3 |^2)))
+(-g2*((gf2 |^2)*(P`1_3 |^2))+g2*((gf2 |^2)*(P`1_3 |^2))) by ALGSTR_1:7
.= ((gf1 |^2)*(P`1_3*(P`3_3))-(g2*(gf2 |^2))*(g3*(P`1_3 |^2))) + 0.GF(p)
by VECTSP_1:19
.= (gf1 |^2)*(P`1_3*(P`3_3))-(g2*(gf2 |^2))*(g3*(P`1_3 |^2)) by ALGSTR_1:7;
hence gf1*(P`3_3)*(R`3_3)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
+(gf2 |^2)*(g4*(P`1_3)*(P`3_3)*(R`1_3)+g2*(P`1_3 |^2)*(R`3_3))
= R`3_3*(((g2*(gf2 |^2))*gf1-(gf1 |^2)*(P`1_3*(P`3_3)))
+ ((gf1 |^2)*(P`1_3*(P`3_3))-(g2*(gf2 |^2))*(g3*(P`1_3 |^2))))
by A7,A8,VECTSP_1:def 7
.= R`3_3*((g2*(gf2 |^2))*gf1+(-(gf1 |^2)*(P`1_3*(P`3_3))
+((gf1 |^2)*(P`1_3*(P`3_3))-(g2*(gf2 |^2))*(g3*(P`1_3 |^2)))))
by ALGSTR_1:7
.= R`3_3*((g2*(gf2 |^2))*gf1+((-(gf1 |^2)*(P`1_3*(P`3_3))
+(gf1 |^2)*(P`1_3*(P`3_3)))-(g2*(gf2 |^2))*(g3*(P`1_3 |^2)))) by ALGSTR_1:7
.= R`3_3*((g2*(gf2 |^2))*gf1+(0.GF(p)
-(g2*(gf2 |^2))*(g3*(P`1_3 |^2)))) by VECTSP_1:19
.= R`3_3*((g2*(gf2 |^2))*gf1-(g2*(gf2 |^2))*(g3*(P`1_3 |^2)))
by VECTSP_1:18
.= R`3_3*((g2*(gf2 |^2))*(a*(P`3_3 |^2))
+(g2*(gf2 |^2))*(g3*(P`1_3 |^2))-(g2*(gf2 |^2))*(g3*(P`1_3 |^2)))
by A2,VECTSP_1:def 7
.= R`3_3*((g2*(gf2 |^2))*(a*(P`3_3 |^2))
+((g2*(gf2 |^2))*(g3*(P`1_3 |^2))-(g2*(gf2 |^2))*(g3*(P`1_3 |^2))))
by ALGSTR_1:7
.= R`3_3*((g2*(gf2 |^2))*(a*(P`3_3 |^2))+0.GF(p)) by VECTSP_1:19
.= g2*(gf2 |^2)*(P`3_3 |^2)*(a*(R`3_3)) by A6,ALGSTR_1:7;
end;
theorem Th63:
for p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, g3, g4, g8, gf1, gf2, gf3, gf4 be Element of GF(p),
P be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
st g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p &
gf1 = z`1*(P`3_3 |^2) + g3*(P`1_3 |^2) & gf2 = P`2_3*(P`3_3) &
gf3 = P`1_3*(P`2_3)*gf2 & gf4 = (gf1 |^2) - g8*gf3 &
R = [g2*gf4*gf2, gf1*(g4*gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^2), g8*(gf2 |^3)]
holds g4*(gf2 |^2)*(P`3_3 |^2)*
((R`2_3 |^2)*(R`3_3) - ((R`1_3 |^3) +
z`1*(R`1_3)*(R`3_3 |^2) + z`2*(R`3_3 |^3))) = 0.GF(p)
proof
let p be 5_or_greater Prime, z be Element of EC_WParam p,
g2, g3, g4, g8, gf1, gf2, gf3, gf4 be Element of GF(p),
P be Element of EC_SetProjCo(z`1,z`2,p),
R be Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):]
such that
A1: g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p and
A2: gf1 = z`1*(P`3_3 |^2) + g3*(P`1_3 |^2) & gf2 = P`2_3*(P`3_3) &
gf3 = P`1_3*(P`2_3)*gf2 & gf4 = (gf1 |^2) - g8*gf3 and
A3: R = [g2*gf4*gf2, gf1*(g4*gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^2),
g8*(gf2 |^3)];
set a = z`1;
set b = z`2;
A4: g4 = (2*2) mod p by A1
.= g2*g2 by A1,EC_PF_1:18;
then A5: g4 = g2 |^2 by EC_PF_1:22;
A6: g8 = (2*4) mod p by A1
.= g2*g4 by A1,EC_PF_1:18;
A7: g4*(gf2 |^2)*(P`3_3 |^2)*((R`2_3 |^2)*(R`3_3))
= (g2 |^2)*(gf2 |^2)*(P`3_3 |^2)*(R`2_3 |^2)*(R`3_3) by A5,GROUP_1:def 3
.= ((g2*gf2) |^2)*(P`3_3 |^2)*(R`2_3 |^2)*(R`3_3) by BINOM:9
.= (((g2*gf2)*(P`3_3)*(R`2_3)) |^2)*(R`3_3) by Th13
.= ((-(gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))
+g2*gf2*(P`2_3)*(R`3_3))) |^2)*(R`3_3)
by A1,A2,A3,Th59
.= ((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))+g2*gf2*(P`2_3)*(R`3_3)) |^2)*(R`3_3)
by Th1
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g2*(gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*(g2*gf2*(P`2_3)*(R`3_3))+((g2*gf2*(P`2_3)*(R`3_3)) |^2))*(R`3_3)
by A1,Th25
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g2*(gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*(g2*(gf2*(P`2_3)*(R`3_3)))+((g2*gf2*(P`2_3)*(R`3_3)) |^2))*(R`3_3)
by Th11
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g2*(gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*g2*(gf2*(P`2_3)*(R`3_3))+((g2*gf2*(P`2_3)*(R`3_3)) |^2))*(R`3_3)
by GROUP_1:def 3
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g2*g2*(gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*(gf2*(P`2_3)*(R`3_3))+((g2*gf2*(P`2_3)*(R`3_3)) |^2))*(R`3_3)
by GROUP_1:def 3
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g4*(gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*(gf2*(P`2_3)*(R`3_3))+((g2*gf2*(P`2_3*(R`3_3))) |^2))*(R`3_3)
by A4,GROUP_1:def 3
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g4*(gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*(gf2*(P`2_3)*(R`3_3))+(g2 |^2)*(gf2 |^2)*((P`2_3*(R`3_3)) |^2))*(R`3_3)
by Th13
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g4*(gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*(gf2*(P`2_3)*(R`3_3))+g4*(gf2 |^2)*((P`2_3 |^2)*(R`3_3 |^2)))*(R`3_3)
by A5,BINOM:9
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g4*gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))
*(gf2*(P`2_3)*(R`3_3))+g4*(gf2 |^2)*((P`2_3 |^2)*(R`3_3 |^2)))*(R`3_3)
by GROUP_1:def 3
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g4*gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))
*(gf2*(P`2_3)*(R`3_3))+g4*(gf2 |^2)*(P`2_3 |^2)*(R`3_3 |^2))*(R`3_3)
by GROUP_1:def 3
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g4*gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))
*gf2*(P`2_3)*(R`3_3)
+g4*(gf2 |^2)*(P`2_3 |^2)*(R`3_3 |^2))*(R`3_3) by Th11
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g4*gf1*((P`3_3*(R`1_3)-P`1_3*(R`3_3))
*gf2*(P`2_3))*(R`3_3)
+g4*(gf2 |^2)*(P`2_3 |^2)*(R`3_3 |^2))*(R`3_3) by Th11
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g4*gf1*(gf2*(P`2_3)*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*(R`3_3)+g4*(gf2 |^2)*(P`2_3 |^2)*(R`3_3 |^2))*(R`3_3) by GROUP_1:def 3
.= (((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)
+g4*gf1*gf2*(P`2_3)*(P`3_3*(R`1_3)-P`1_3*(R`3_3))
*(R`3_3)+g4*(gf2 |^2)*(P`2_3 |^2)*(R`3_3 |^2))*(R`3_3) by Th11
.= ((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)*(R`3_3)
+((g4*gf1*gf2*(P`2_3)*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*(R`3_3))*(R`3_3)+((g4*(gf2 |^2)*(P`2_3 |^2))*(R`3_3 |^2))*(R`3_3)
by Th14
.= ((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*(R`3_3*(R`3_3))+(g4*(gf2 |^2)*(P`2_3 |^2))*(R`3_3 |^2)*(R`3_3)
by GROUP_1:def 3
.= ((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*(R`3_3*(R`3_3))+(g4*(gf2 |^2)*(P`2_3 |^2))*((R`3_3 |^2)*(R`3_3))
by GROUP_1:def 3
.= ((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*(R`3_3*(R`3_3))+(g4*(gf2 |^2)*(P`2_3 |^2))*(R`3_3 |^(2+1)) by EC_PF_1:24
.= ((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3*(R`1_3)-P`1_3*(R`3_3)))
*(R`3_3 |^2)+(g4*(gf2 |^2)*(P`2_3 |^2))*(R`3_3 |^3) by EC_PF_1:22
.= ((gf1*(P`3_3*(R`1_3)-P`1_3*(R`3_3))) |^2)*(R`3_3)
+g4*gf1*gf2*(P`2_3)*(R`3_3 |^2)
*(P`3_3*(R`1_3)-P`1_3*(R`3_3))+g4*(gf2 |^2)*(P`2_3 |^2)*(R`3_3 |^3)
by GROUP_1:def 3
.= ((gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2))*(R`3_3)
+g4*gf1*gf2*(P`2_3)*(R`3_3 |^2)
*(P`3_3*(R`1_3)-P`1_3*(R`3_3))+g4*(gf2 |^2)*(P`2_3 |^2)*(R`3_3 |^3)
by BINOM:9
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+((g4*gf1*gf2*(P`2_3)*(R`3_3 |^2))
*(P`3_3*(R`1_3))-(g4*gf1*gf2*(P`2_3)*(R`3_3 |^2))*(P`1_3*(R`3_3)))
+g4*(gf2 |^2)*(P`2_3 |^2)
*(R`3_3 |^3) by VECTSP_1:11
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(R`3_3 |^2))
*(P`3_3*(R`1_3))-(g4*gf1*gf2*(P`2_3)*(R`3_3 |^2))*(P`1_3*(R`3_3))
+g4*(gf2 |^2)*(P`2_3 |^2)
*(R`3_3 |^3) by ALGSTR_1:7
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+g4*gf1*gf2*(P`2_3)*(P`3_3*(R`1_3))
*(R`3_3 |^2)-(g4*gf1*gf2*(P`2_3)*(R`3_3 |^2))*(P`1_3*(R`3_3))
+g4*(gf2 |^2)*(P`2_3 |^2)
*(R`3_3 |^3) by GROUP_1:def 3
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3)
*(R`3_3 |^2)-(g4*gf1*gf2*(P`2_3)*(R`3_3 |^2))*(P`1_3*(R`3_3))
+g4*(gf2 |^2)*(P`2_3 |^2)
*(R`3_3 |^3) by GROUP_1:def 3
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))
*(R`3_3 |^2)-g4*gf1*gf2*(P`2_3)*(R`3_3 |^2)*(P`1_3)*(R`3_3)
+g4*(gf2 |^2)*(P`2_3 |^2)
*(R`3_3 |^3) by GROUP_1:def 3
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))
*(R`3_3 |^2)-g4*gf1*gf2*(P`2_3)*(P`1_3)*(R`3_3 |^2)*(R`3_3)
+g4*(gf2 |^2)*(P`2_3 |^2)
*(R`3_3 |^3) by GROUP_1:def 3
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))
*(R`3_3 |^2)-g4*gf1*gf2*(P`2_3)*(P`1_3)*((R`3_3 |^2)*(R`3_3))
+g4*(gf2 |^2)*(P`2_3 |^2)
*(R`3_3 |^3) by GROUP_1:def 3
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))
*(R`3_3 |^2)-g4*gf1*gf2*(P`2_3)*(P`1_3)*(R`3_3 |^(2+1))
+g4*(gf2 |^2)*(P`2_3 |^2)
*(R`3_3 |^3) by EC_PF_1:24
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))
*(R`3_3 |^2)-(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3)
+g4*(gf2 |^2)*(P`2_3 |^2)
*(R`3_3 |^3) by GROUP_1:def 3;
A8: -g4*(gf2 |^2)*(P`3_3 |^2)*(a*(R`1_3)*(R`3_3 |^2))
= -(g2*g2)*(gf2 |^2)*(P`3_3 |^2)*(R`1_3)*a*(R`3_3 |^2) by A4,Th11
.= -(g2*(g2*(gf2 |^2)*(P`3_3 |^2)))*(R`1_3)*a*(R`3_3 |^2) by Th11
.= -g2*(R`1_3)*(g2*(gf2 |^2)*(P`3_3 |^2))*a*(R`3_3 |^2) by GROUP_1:def 3
.= -g2*(R`1_3)*(g2*(gf2 |^2)*(P`3_3 |^2))*a*(R`3_3*(R`3_3)) by EC_PF_1:22
.= -g2*(R`1_3)*(g2*(gf2 |^2)*(P`3_3 |^2))*a*(R`3_3)*(R`3_3)
by GROUP_1:def 3
.= -g2*(R`1_3)*(g2*(gf2 |^2)*(P`3_3 |^2))*(R`3_3)*a*(R`3_3)
by GROUP_1:def 3
.= -g2*(R`1_3)*(R`3_3)*(g2*(gf2 |^2)*(P`3_3 |^2))*a*(R`3_3)
by GROUP_1:def 3
.= -g2*(R`1_3)*(R`3_3)*(g2*(gf2 |^2)*(P`3_3 |^2))*(a*(R`3_3))
by GROUP_1:def 3
.= -g2*(R`1_3)*(R`3_3)*((g2*(gf2 |^2)*(P`3_3 |^2))*(a*(R`3_3)))
by GROUP_1:def 3
.= -g2*(R`1_3)*(R`3_3)*(gf1*(P`3_3)*(R`3_3)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
+(gf2 |^2)*(g4*(P`1_3)*(P`3_3)*(R`1_3)+g2*(P`1_3 |^2)*(R`3_3)))
by A1,A2,A3,Th62
.= -((g2*(R`1_3)*(R`3_3))*(gf1*(P`3_3)*(R`3_3)*(g2*gf2*(P`2_3)
-gf1*(P`1_3)))
+(g2*(R`1_3)*(R`3_3))*((gf2 |^2)*(g4*(P`1_3)*(P`3_3)*(R`1_3)
+g2*(P`1_3 |^2)*(R`3_3))))
by VECTSP_1:def 7
.= -(g2*(R`1_3)*(R`3_3))*((gf2 |^2)*(g4*(P`1_3)*(P`3_3)*(R`1_3)
+g2*(P`1_3 |^2)*(R`3_3)))
-(g2*(R`1_3)*(R`3_3))*(gf1*(P`3_3)*(R`3_3)*(g2*gf2*(P`2_3)-gf1*(P`1_3)))
by VECTSP_1:17
.= -(g2*(R`1_3)*(R`3_3))*(gf2 |^2)*(g4*(P`1_3)*(P`3_3)*(R`1_3)
+g2*(P`1_3 |^2)*(R`3_3))
-(g2*(R`1_3)*(R`3_3))*(gf1*(P`3_3)*(R`3_3)*(g2*gf2*(P`2_3)-gf1*(P`1_3)))
by GROUP_1:def 3
.= -(g2*(R`1_3)*(R`3_3))*(gf2 |^2)*(g4*(P`1_3)*(P`3_3)*(R`1_3)
+g2*(P`1_3 |^2)*(R`3_3))
-(g2*(R`1_3)*(R`3_3))*(gf1*(P`3_3)*(R`3_3))*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -g2*(R`1_3)*(gf2 |^2)*(R`3_3)*(g4*(P`1_3)*(P`3_3)*(R`1_3)
+g2*(P`1_3 |^2)*(R`3_3))
-g2*(R`1_3)*(R`3_3)*(gf1*(P`3_3)*(R`3_3))*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -g2*(gf2 |^2)*(R`1_3)*(R`3_3)*(g4*(P`1_3)*(P`3_3)*(R`1_3)
+g2*(P`1_3 |^2)*(R`3_3))
-g2*(R`1_3)*(R`3_3)*(gf1*(P`3_3)*(R`3_3))*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -g2*(gf2 |^2)*(R`1_3)*(R`3_3)*(g4*(P`1_3)*(P`3_3)*(R`1_3)
+g2*(P`1_3 |^2)*(R`3_3))
-g2*(R`1_3)*(R`3_3)*gf1*(P`3_3)*(R`3_3)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by Th11
.= -g2*(gf2 |^2)*(R`1_3)*(R`3_3)*(g4*(P`1_3)*(P`3_3)*(R`1_3)
+g2*(P`1_3 |^2)*(R`3_3))
-g2*(R`1_3*(R`3_3))*gf1*(P`3_3)*(R`3_3)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -g2*(gf2 |^2)*(R`1_3)*(R`3_3)*(g4*(P`1_3)*(P`3_3)*(R`1_3)
+g2*(P`1_3 |^2)*(R`3_3))
-g2*gf1*(R`1_3*(R`3_3))*(P`3_3)*(R`3_3)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -g2*(gf2 |^2)*(R`1_3)*(R`3_3)*(g4*(P`1_3)*(P`3_3)*(R`1_3)
+g2*(P`1_3 |^2)*(R`3_3))
-g2*gf1*(P`3_3)*(R`1_3*(R`3_3))*(R`3_3)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -g2*(gf2 |^2)*(R`1_3)*(R`3_3)*(g4*(P`1_3)*(P`3_3)*(R`1_3)
+g2*(P`1_3 |^2)*(R`3_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3)*(R`3_3)*(g2*gf2*(P`2_3)
-gf1*(P`1_3)) by GROUP_1:def 3
.= -g2*(gf2 |^2)*(R`1_3)*(R`3_3)*(g4*(P`1_3)
*(P`3_3)*(R`1_3)+g2*(P`1_3 |^2)*(R`3_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3*(R`3_3))*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -(g2*(gf2 |^2)*(R`1_3)*(R`3_3)*(g4*(P`1_3)*(P`3_3)*(R`1_3))+
g2*(gf2 |^2)*(R`1_3)*(R`3_3)
*(g2*(P`1_3 |^2)*(R`3_3)))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3*(R`3_3))*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by VECTSP_1:def 7
.= -(g2*(gf2 |^2)*(R`1_3)*(R`3_3)*(g4*(P`1_3)*(P`3_3)*(R`1_3))
+g2*(gf2 |^2)*(R`1_3)*(R`3_3)
*(g2*(P`1_3 |^2)*(R`3_3)))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by EC_PF_1:22
.= -(g2*(gf2 |^2)*(R`1_3)*(R`3_3))*(g2*(P`1_3 |^2)*(R`3_3))
-(g2*(gf2 |^2)*(R`1_3)*(R`3_3))
*(g4*(P`1_3)*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by VECTSP_1:17
.= -g2*(gf2 |^2)*(R`1_3)*(R`3_3)*(g2*((P`1_3 |^2)*(R`3_3)))
-(g2*(gf2 |^2)*(R`1_3)*(R`3_3))
*(g4*(P`1_3)*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -g2*(gf2 |^2)*(R`1_3)*(R`3_3)*g2*((P`1_3 |^2)*(R`3_3))
-(g2*(gf2 |^2)*(R`1_3)*(R`3_3))
*(g4*(P`1_3)*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -g2*(gf2 |^2)*(R`1_3*(R`3_3))*g2*((P`1_3 |^2)*(R`3_3))
-(g2*(gf2 |^2)*(R`1_3)*(R`3_3))
*(g4*(P`1_3)*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -g2*(gf2 |^2)*g2*(R`1_3*(R`3_3))*((P`1_3 |^2)*(R`3_3))
-(g2*(gf2 |^2)*(R`1_3)*(R`3_3))
*(g4*(P`1_3)*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -g2*(gf2 |^2)*g2*((R`1_3*(R`3_3))*((P`1_3 |^2)*(R`3_3)))
-(g2*(gf2 |^2)*(R`1_3)*(R`3_3))
*(g4*(P`1_3)*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)
-gf1*(P`1_3))
by GROUP_1:def 3
.= -g2*g2*(gf2 |^2)*((R`1_3*(R`3_3))*((P`1_3 |^2)*(R`3_3)))
-(g2*(gf2 |^2)*(R`1_3)*(R`3_3))
*(g4*(P`1_3)*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -g4*(gf2 |^2)*(R`1_3*(R`3_3)*(P`1_3 |^2)*(R`3_3))
-(g2*(gf2 |^2)*(R`1_3)*(R`3_3))
*(g4*(P`1_3)*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)
-gf1*(P`1_3))
by A4,GROUP_1:def 3
.= -g4*(gf2 |^2)*(R`1_3*(P`1_3 |^2)*(R`3_3)*(R`3_3))
-(g2*(gf2 |^2)*(R`1_3)*(R`3_3))
*(g4*(P`1_3)*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)
-gf1*(P`1_3))
by GROUP_1:def 3
.= -g4*(gf2 |^2)*(R`1_3*(P`1_3 |^2)*(R`3_3*(R`3_3)))
-(g2*(gf2 |^2)*(R`1_3)*(R`3_3))
*(g4*(P`1_3)*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -g4*(gf2 |^2)*(R`1_3*(P`1_3 |^2)*(R`3_3 |^2))
-(g2*(gf2 |^2)*(R`1_3)*(R`3_3))
*(g4*(P`1_3)*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by EC_PF_1:22
.= -g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3)*(R`3_3 |^2)
-(g2*(gf2 |^2)*(R`1_3)*(R`3_3))
*(g4*(P`1_3)*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by Th11
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-g2*(gf2 |^2)*(R`1_3)*(R`3_3)
*(g4*(P`1_3*(P`3_3)*(R`1_3)))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by Th11
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-g2*(gf2 |^2)*(R`1_3)*(R`3_3)
*g4*(P`1_3*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-g2*(gf2 |^2)*(R`1_3*(R`3_3))
*g4*(P`1_3*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-g2*(gf2 |^2)*g4*(R`1_3*(R`3_3))
*(P`1_3*(P`3_3)*(R`1_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-g2*(gf2 |^2)*g4*((R`1_3*(R`3_3))
*(P`1_3*(P`3_3)*(R`1_3)))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-g2*g4*(gf2 |^2)*((R`1_3*(R`3_3))
*(P`1_3*(P`3_3)*(R`1_3)))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-g8*(gf2 |^2)*(P`1_3*(P`3_3)*(R`1_3)
*(R`1_3)*(R`3_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by A6,GROUP_1:def 3
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-g8*(gf2 |^2)*(P`1_3*(P`3_3)
*(R`1_3*(R`1_3))*(R`3_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by GROUP_1:def 3
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-g8*(gf2 |^2)*(P`1_3*(P`3_3)
*(R`1_3 |^2)*(R`3_3))
-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)-gf1*(P`1_3))
by EC_PF_1:22
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2)*(R`3_3)-g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2)*(g2*gf2*(P`2_3)
-gf1*(P`1_3))
by Th11
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)
-((g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2))*(g2*gf2*(P`2_3))
-(g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2))*(gf1*(P`1_3))) by VECTSP_1:11
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)+((g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2))*(gf1*(P`1_3))
-(g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2))*(g2*gf2*(P`2_3))) by VECTSP_1:17
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)+((g2*gf1*(P`3_3*(R`1_3)*(R`3_3 |^2)))*(gf1*(P`1_3))
-(g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2))*(g2*gf2*(P`2_3))) by Th11
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)+(g2*gf1*(gf1*(P`1_3))*(P`3_3*(R`1_3)*(R`3_3 |^2))
-(g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2))*(g2*gf2*(P`2_3))) by GROUP_1:def 3
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)+(g2*gf1*gf1*(P`1_3)*(P`3_3*(R`1_3)*(R`3_3 |^2))
-(g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2))*(g2*gf2*(P`2_3))) by GROUP_1:def 3
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)+(g2*(gf1*gf1)*(P`1_3)*(P`3_3*(R`1_3)*(R`3_3 |^2))
-(g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2))*(g2*gf2*(P`2_3))) by GROUP_1:def 3
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)+(g2*(gf1 |^2)*(P`1_3)*(P`3_3*(R`1_3)*(R`3_3 |^2))
-(g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2))*(g2*gf2*(P`2_3))) by EC_PF_1:22
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)+(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3)*(R`3_3 |^2)
-(g2*gf1*(P`3_3)*(R`1_3)*(R`3_3 |^2))*(g2*gf2*(P`2_3))) by Th11
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)+((g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g2*gf1*(P`3_3*(R`1_3)*(R`3_3 |^2)))*(g2*gf2*(P`2_3))) by Th11
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)+((g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g2*gf1*(g2*gf2*(P`2_3))*(P`3_3*(R`1_3)*(R`3_3 |^2)))) by GROUP_1:def 3
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)+((g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g2*gf1*g2*gf2*(P`2_3)*(P`3_3*(R`1_3)*(R`3_3 |^2)))) by Th11
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)+((g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g2*g2*gf1*gf2*(P`2_3)*(P`3_3*(R`1_3)*(R`3_3 |^2)))) by GROUP_1:def 3
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)
*(R`1_3 |^2))*(R`3_3)+((g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3)*(R`3_3 |^2))) by A4,Th11
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
+((g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3)*(R`3_3 |^2)))
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3) by ALGSTR_1:8
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
+(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3)*(R`3_3 |^2))
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3) by ALGSTR_1:7
.= -(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3)*(R`3_3 |^2))
+(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3) by ALGSTR_1:8;
A9: -g4*(gf2 |^2)*(P`3_3 |^2)*(b*(R`3_3 |^3))
= -g4*(gf2 |^2)*(P`3_3 |^2)*b*(R`3_3 |^(2+1)) by GROUP_1:def 3
.= -g4*(gf2 |^2)*(P`3_3 |^2)*b*((R`3_3 |^2)*(R`3_3)) by EC_PF_1:24
.= -g4*(gf2 |^2)*(P`3_3 |^2)*b*(R`3_3)*(R`3_3 |^2) by GROUP_1:def 3
.= -(R`3_3 |^2)*(g4*(gf2 |^2)*(P`3_3 |^2)*(b*(R`3_3))) by GROUP_1:def 3
.= -(R`3_3 |^2)*(R`3_3*((g2*gf2*(P`2_3)
-gf1*(P`1_3)) |^2)-g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))
by A1,A2,A3,Th61
.= -((R`3_3 |^2)*(R`3_3*((g2*gf2*(P`2_3)-gf1*(P`1_3)) |^2))-(R`3_3 |^2)*
(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))) by VECTSP_1:11
.= (R`3_3 |^2)*(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))
-(R`3_3 |^2)*(R`3_3*((g2*gf2*(P`2_3)-gf1*(P`1_3)) |^2)) by VECTSP_1:17
.= (g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(R`3_3 |^2)*(R`3_3)*((g2*gf2*(P`2_3)-gf1*(P`1_3)) |^2) by GROUP_1:def 3
.= (g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(R`3_3 |^(2+1))*((g2*gf2*(P`2_3)-gf1*(P`1_3)) |^2) by EC_PF_1:24
.= (g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
+(-(R`3_3 |^3))*((g2*gf2*(P`2_3)-gf1*(P`1_3)) |^2) by VECTSP_1:9
.= (g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)+(-(R`3_3 |^3))
*(((g2*gf2*(P`2_3)) |^2)
-g2*(g2*gf2*(P`2_3))*(gf1*(P`1_3))+((gf1*(P`1_3)) |^2))
by A1,Th26
.= (g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)+(-(R`3_3 |^3))
*((g2 |^2)*(gf2 |^2)*(P`2_3 |^2)
-g2*(g2*gf2*(P`2_3))*(gf1*(P`1_3))+((gf1*(P`1_3)) |^2))
by Th13
.= (g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)+(-(R`3_3 |^3))
*(g4*(gf2 |^2)*(P`2_3 |^2)
-g2*(g2*gf2*(P`2_3))*(gf1*(P`1_3))+(gf1 |^2)*(P`1_3 |^2))
by A5,BINOM:9
.= (g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)+(-(R`3_3 |^3))
*(g4*(gf2 |^2)*(P`2_3 |^2)
-g2*g2*gf2*(P`2_3)*(gf1*(P`1_3))+(gf1 |^2)*(P`1_3 |^2))
by Th11
.= (g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)+(-(R`3_3 |^3))
*(g4*(gf2 |^2)*(P`2_3 |^2)-g4*gf2*(gf1*(P`1_3))*(P`2_3)
+(gf1 |^2)*(P`1_3 |^2))
by A4,GROUP_1:def 3
.= (g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)+(-(R`3_3 |^3))
*(g4*(gf2 |^2)*(P`2_3 |^2)
-g4*gf2*gf1*(P`1_3)*(P`2_3)+(gf1 |^2)*(P`1_3 |^2))
by GROUP_1:def 3
.= (g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)+(-(R`3_3 |^3))
*(g4*(gf2 |^2)*(P`2_3 |^2)
-g4*gf1*gf2*(P`1_3)*(P`2_3)+(gf1 |^2)*(P`1_3 |^2))
by GROUP_1:def 3
.= g4*(gf2 |^2)*(P`2_3 |^2)*(-(R`3_3 |^3))
-g4*gf1*gf2*(P`1_3)*(P`2_3)*(-(R`3_3 |^3))
+(gf1 |^2)*(P`1_3 |^2)*(-(R`3_3 |^3))
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2) by Th14
.= -(g4*(gf2 |^2)*(P`2_3 |^2))*(R`3_3 |^3)
-(g4*gf1*gf2*(P`1_3)*(P`2_3))*(-(R`3_3 |^3))
+(gf1 |^2)*(P`1_3 |^2)*(-(R`3_3 |^3))
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2) by VECTSP_1:8
.= -(g4*(gf2 |^2)*(P`2_3 |^2))*(R`3_3 |^3)
-(-(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3))
+(gf1 |^2)*(P`1_3 |^2)*(-(R`3_3 |^3))
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2) by VECTSP_1:8
.= -(g4*(gf2 |^2)*(P`2_3 |^2))*(R`3_3 |^3)
+(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3)
+(gf1 |^2)*(P`1_3 |^2)*(-(R`3_3 |^3))
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2) by RLVECT_1:17
.= -(g4*(gf2 |^2)*(P`2_3 |^2))*(R`3_3 |^3)
+(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3)
-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^3)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2) by VECTSP_1:8;
A10
: g4*(gf2 |^2)*(P`3_3 |^2)*((R`2_3 |^2)*(R`3_3))-g4*(gf2 |^2)*(P`3_3 |^2)
*(b*(R`3_3 |^3))
= ((gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3))
+g4*(gf2 |^2)*(P`2_3 |^2)*(R`3_3 |^3)
+(-(g4*(gf2 |^2)*(P`2_3 |^2))*(R`3_3 |^3)
+(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3)
+(-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^3)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2))) by A7,A9,ALGSTR_1:7
.= ((gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3))
+g4*(gf2 |^2)*(P`2_3 |^2)*(R`3_3 |^3)
-(g4*(gf2 |^2)*(P`2_3 |^2))*(R`3_3 |^3)
+(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3)
+(-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^3)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)) by Th8
.= ((gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3))
+(g4*(gf2 |^2)*(P`2_3 |^2)*(R`3_3 |^3)
-(g4*(gf2 |^2)*(P`2_3 |^2))*(R`3_3 |^3))
+(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3)
+(-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^3)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)) by ALGSTR_1:7
.= ((gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3))+0.GF(p)
+(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3)
+(-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^3)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)) by VECTSP_1:19
.= ((gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3))
+(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3)
+(-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^3)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)) by ALGSTR_1:7
.= ((gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2))
+(-(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3)
+(g4*gf1*gf2*(P`1_3)*(P`2_3))*(R`3_3 |^3))
+(-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^3)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)) by ALGSTR_1:7
.= ((gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2))+0.GF(p)
+(-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^3)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)) by RLVECT_1:5
.= ((gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2))
+(-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^3)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)) by ALGSTR_1:7
.= ((gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2))
-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^3)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2) by ALGSTR_1:7
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^(2+1))
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2) by ALGSTR_1:8
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
-(gf1 |^2)*(P`1_3 |^2)*((R`3_3 |^2)*(R`3_3))
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2) by EC_PF_1:24
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)*(R`3_3)
-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^2)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2) by GROUP_1:def 3
.= ((gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)
-(gf1 |^2)*(P`1_3 |^2)*(R`3_3 |^2))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by VECTSP_1:13
.= ((gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)
-(gf1 |^2)*((P`1_3 |^2)*(R`3_3 |^2)))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by GROUP_1:def 3
.= (gf1 |^2)*(((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)
-(P`1_3 |^2)*(R`3_3 |^2))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by VECTSP_1:11
.= (gf1 |^2)*(((P`3_3*(R`1_3)-P`1_3*(R`3_3)) |^2)
-((P`1_3*(R`3_3)) |^2))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by BINOM:9
.= (gf1 |^2)*(((P`3_3*(R`1_3)-P`1_3*(R`3_3))
+P`1_3*(R`3_3))*((P`3_3*(R`1_3)-P`1_3*(R`3_3))
-P`1_3*(R`3_3)))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by Th15
.= (gf1 |^2)*((P`3_3*(R`1_3)-P`1_3*(R`3_3)
+P`1_3*(R`3_3))*(P`3_3*(R`1_3)-(P`1_3*(R`3_3)+P`1_3*(R`3_3))))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by VECTSP_1:17
.= (gf1 |^2)*((P`3_3*(R`1_3)+(-P`1_3*(R`3_3)+P`1_3*(R`3_3)))*(P`3_3*(R`1_3)
-(P`1_3*(R`3_3)+P`1_3*(R`3_3))))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by ALGSTR_1:7
.= (gf1 |^2)*((P`3_3*(R`1_3)+0.GF(p))*(P`3_3*(R`1_3)
-(P`1_3*(R`3_3)+P`1_3*(R`3_3))))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by RLVECT_1:5
.= (gf1 |^2)*((P`3_3*(R`1_3)+0.GF(p))*(P`3_3*(R`1_3)
-g2*(P`1_3*(R`3_3))))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by A1,Th20
.= (gf1 |^2)*((P`3_3*(R`1_3))*(P`3_3*(R`1_3)-g2*(P`1_3*(R`3_3))))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by RLVECT_1:4
.= (gf1 |^2)*(P`3_3*(R`1_3))*(P`3_3*(R`1_3)-g2*(P`1_3*(R`3_3)))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by GROUP_1:def 3
.= ((gf1 |^2)*(P`3_3*(R`1_3))*(P`3_3*(R`1_3))
-(gf1 |^2)*(P`3_3*(R`1_3))*(g2*(P`1_3*(R`3_3))))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by VECTSP_1:11
.= ((gf1 |^2)*((P`3_3*(R`1_3))*(P`3_3*(R`1_3)))
-(gf1 |^2)*(P`3_3*(R`1_3))*(g2*(P`1_3*(R`3_3))))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by GROUP_1:def 3
.= ((gf1 |^2)*((P`3_3*(R`1_3)) |^2)
-(gf1 |^2)*(P`3_3*(R`1_3))*(g2*(P`1_3*(R`3_3))))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by EC_PF_1:22
.= ((gf1 |^2)*((P`3_3 |^2)*(R`1_3 |^2))
-(gf1 |^2)*(P`3_3*(R`1_3))*(g2*(P`1_3*(R`3_3))))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by BINOM:9
.= ((gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)
-(gf1 |^2)*(P`3_3*(R`1_3))*(g2*(P`1_3*(R`3_3))))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by GROUP_1:def 3
.= ((gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)
-(gf1 |^2)*(P`3_3*(R`1_3))*g2*(P`1_3*(R`3_3)))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by GROUP_1:def 3
.= ((gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)
-(gf1 |^2)*g2*(P`3_3*(R`1_3))*(P`1_3*(R`3_3)))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by GROUP_1:def 3
.= ((gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)
-g2*(gf1 |^2)*((P`3_3*(R`1_3))*(P`1_3*(R`3_3))))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by GROUP_1:def 3
.= ((gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)
-g2*(gf1 |^2)*((P`3_3*(R`1_3))*(P`1_3)*(R`3_3)))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by GROUP_1:def 3
.= ((gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)
-g2*(gf1 |^2)*(P`1_3*(P`3_3)*(R`1_3)*(R`3_3)))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by GROUP_1:def 3
.= ((gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)
-g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3)*(R`3_3))*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by Th11
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)
-(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3)*(R`3_3)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by VECTSP_1:13
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)
-(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3*(R`3_3))
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)
-(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
by EC_PF_1:22;
A11
: g4*(gf2 |^2)*(P`3_3 |^2)*((R`2_3 |^2)*(R`3_3))-g4*(gf2 |^2)*(P`3_3 |^2)
*(a*(R`1_3)*(R`3_3 |^2)+b*(R`3_3 |^3))
= g4*(gf2 |^2)*(P`3_3 |^2)*((R`2_3 |^2)*(R`3_3))-(g4*(gf2 |^2)*(P`3_3 |^2)
*(a*(R`1_3)*(R`3_3 |^2))+g4*(gf2 |^2)*(P`3_3 |^2)*(b*(R`3_3 |^3)))
by VECTSP_1:def 7
.= g4*(gf2 |^2)*(P`3_3 |^2)*((R`2_3 |^2)*(R`3_3))-g4*(gf2 |^2)*(P`3_3 |^2)
*(b*(R`3_3 |^3))-g4*(gf2 |^2)*(P`3_3 |^2)*(a*(R`1_3)*(R`3_3 |^2))
by VECTSP_1:17
.= ((gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)
-(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2))
+(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3)*(R`3_3 |^2))
+(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3) by A8,A10,Th8
.= ((gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)
-(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2))
+((g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2)
-(g4*(gf2 |^2)*(P`1_3 |^2)*(R`1_3))*(R`3_3 |^2))
-(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3)*(R`3_3 |^2))
+(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3) by ALGSTR_1:7
.= ((gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)
-(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2))+0.GF(p)
-(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3)*(R`3_3 |^2))
+(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3) by RLVECT_1:5
.= ((gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)
-(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2))
-(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3)*(R`3_3 |^2))
+(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3) by RLVECT_1:4
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)
-(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+((g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g4*gf1*gf2*(P`2_3)*(P`3_3)*(R`1_3)*(R`3_3 |^2)))
+(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3) by ALGSTR_1:7
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)
-(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+0.GF(p)+(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3) by RLVECT_1:5
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)
-(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3)
by RLVECT_1:4
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)
+(-(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2)
+(g2*(gf1 |^2)*(P`1_3)*(P`3_3)*(R`1_3))*(R`3_3 |^2))
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3)
by ALGSTR_1:7
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)+0.GF(p)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3) by RLVECT_1:5
.= (gf1 |^2)*(P`3_3 |^2)*(R`1_3 |^2)*(R`3_3)
-(g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2))*(R`3_3)
by RLVECT_1:4
.= (gf1 |^2)*(P`3_3 |^2)*((R`1_3 |^2)*(R`3_3))
-g8*(gf2 |^2)*(P`1_3)*(P`3_3)*(R`1_3 |^2)*(R`3_3)
by GROUP_1:def 3
.= (gf1 |^2)*(P`3_3 |^2)*((R`1_3 |^2)*(R`3_3))
-g8*(gf2 |^2)*(P`1_3)*(P`3_3)*((R`1_3 |^2)*(R`3_3))
by GROUP_1:def 3
.= ((gf1 |^2)*(P`3_3 |^2)
-g8*(gf2 |^2)*(P`1_3)*(P`3_3))*((R`1_3 |^2)*(R`3_3))
by VECTSP_1:13
.= ((gf1 |^2)*(P`3_3*(P`3_3))
-g8*(gf2 |^2)*(P`1_3)*(P`3_3))*((R`1_3 |^2)*(R`3_3))
by EC_PF_1:22
.= ((gf1 |^2)*(P`3_3*(P`3_3))
-g8*(gf2 |^2)*(P`1_3)*(P`3_3))*(R`1_3 |^2)*(R`3_3)
by GROUP_1:def 3
.= ((gf1 |^2)*(P`3_3)*(P`3_3)
-g8*(gf2 |^2)*(P`1_3)*(P`3_3))*(R`1_3 |^2)*(R`3_3)
by GROUP_1:def 3
.= ((gf1 |^2)*(P`3_3)-g8*(gf2 |^2)*(P`1_3))*(P`3_3)*(R`1_3 |^2)*(R`3_3)
by VECTSP_1:13
.= R`3_3*((gf1 |^2)*(P`3_3)-g8*(gf2 |^2)*(P`1_3))*(P`3_3)*(R`1_3 |^2)
by Th11
.= g4*(gf2 |^2)*(P`3_3)*(R`1_3)*(P`3_3)*(R`1_3 |^2) by A1,A2,A3,Th60
.= g4*(gf2 |^2)*(P`3_3)*(P`3_3)*(R`1_3)*(R`1_3 |^2) by GROUP_1:def 3
.= g4*(gf2 |^2)*(P`3_3*(P`3_3))*(R`1_3)*(R`1_3 |^2) by GROUP_1:def 3
.= g4*(gf2 |^2)*(P`3_3 |^2)*(R`1_3)*(R`1_3 |^2) by EC_PF_1:22
.= g4*(gf2 |^2)*(P`3_3 |^2)*((R`1_3 |^2)*(R`1_3)) by GROUP_1:def 3
.= g4*(gf2 |^2)*(P`3_3 |^2)*(R`1_3 |^(2+1)) by EC_PF_1:24
.= g4*(gf2 |^2)*(P`3_3 |^2)*(R`1_3 |^3);
thus g4*(gf2 |^2)*(P`3_3 |^2)*
((R`2_3 |^2)*(R`3_3)-((R`1_3 |^3)+a*(R`1_3)*(R`3_3 |^2)+b*(R`3_3 |^3)))
= g4*(gf2 |^2)*(P`3_3 |^2)*((R`2_3 |^2)*(R`3_3))
-g4*(gf2 |^2)*(P`3_3 |^2)*((R`1_3 |^3)+a*(R`1_3)*(R`3_3 |^2)+b*(R`3_3 |^3))
by VECTSP_1:11
.= g4*(gf2 |^2)*(P`3_3 |^2)*((R`2_3 |^2)*(R`3_3))
-g4*(gf2 |^2)*(P`3_3 |^2)*((R`1_3 |^3)
+(a*(R`1_3)*(R`3_3 |^2)+b*(R`3_3 |^3)))
by ALGSTR_1:7
.= g4*(gf2 |^2)*(P`3_3 |^2)*((R`2_3 |^2)*(R`3_3))
-(g4*(gf2 |^2)*(P`3_3 |^2)*(R`1_3 |^3)+g4*(gf2 |^2)*(P`3_3 |^2)
*(a*(R`1_3)*(R`3_3 |^2)+b*(R`3_3 |^3))) by VECTSP_1:def 7
.= g4*(gf2 |^2)*(P`3_3 |^2)*((R`2_3 |^2)*(R`3_3))
-g4*(gf2 |^2)*(P`3_3 |^2)*(a*(R`1_3)*(R`3_3 |^2)+b*(R`3_3 |^3))
-g4*(gf2 |^2)*(P`3_3 |^2)*(R`1_3 |^3) by VECTSP_1:17
.= 0.GF(p) by A11,RLVECT_1:5;
end;
definition
let p be 5_or_greater Prime,
z be Element of EC_WParam p;
func addell_ProjCo(z,p) -> Function of
[:EC_SetProjCo(z`1,z`2,p),EC_SetProjCo(z`1,z`2,p):],
EC_SetProjCo(z`1,z`2,p) means
for P, Q, O being Element of EC_SetProjCo(z`1,z`2,p) st
O = [0,1,0]
holds
(P _EQ_ O implies it.(P,Q) = Q) &
((Q _EQ_ O & not P _EQ_ O) implies it.(P,Q) = P) &
((not P _EQ_ O & not Q _EQ_ O & not P _EQ_ Q) implies
for g2, gf1, gf2, gf3 being Element of GF(p) st g2 = 2 mod p &
gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3) &
gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3) &
gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3) - (gf2 |^3) - g2*(gf2 |^2)*(P`1_3)*(Q`3_3)
holds it.(P,Q) = [gf2*gf3,
gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)
- (gf2 |^3)*(P`2_3)*(Q`3_3), (gf2 |^3)*(P`3_3)*(Q`3_3)]) &
((not P _EQ_ O & not Q _EQ_ O & P _EQ_ Q) implies
for g2, g3, g4, g8, gf1, gf2, gf3, gf4 being Element of GF(p) st
g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p &
gf1 = (z`1)*(P`3_3 |^2) + g3*(P`1_3 |^2) &
gf2 = P`2_3*(P`3_3) &
gf3 = P`1_3*(P`2_3)*gf2 &
gf4 = (gf1 |^2) - g8*gf3
holds it.(P,Q) = [g2*gf4*gf2,
gf1*(g4 * gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^2),
g8*(gf2 |^3)]);
existence
proof
set a=z`1;
set b=z`2;
A1:p > 2+1 & Disc(a,b,p) <> 0.GF(p) by Th30;
defpred P[Element of EC_SetProjCo(z`1,z`2,p),
Element of EC_SetProjCo(z`1,z`2,p),set] means
for O being Element of EC_SetProjCo(z`1,z`2,p) st O = [0,1,0]
holds
($1 _EQ_ O implies $3 = $2) &
(($2 _EQ_ O & not $1 _EQ_ O) implies $3 = $1) &
((not $1 _EQ_ O & not $2 _EQ_ O & not $1 _EQ_ $2) implies
for g2, gf1, gf2, gf3 being Element of GF(p) st g2 = 2 mod p &
gf1 = $2`2_3*($1`3_3) - $1`2_3*($2`3_3) &
gf2 = $2`1_3*($1`3_3) - $1`1_3*($2`3_3) &
gf3 = (gf1 |^2)*($1`3_3)*($2`3_3)
- (gf2 |^3) - g2*(gf2 |^2)*($1`1_3)*($2`3_3)
holds
$3 = [gf2*gf3, gf1 * ((gf2 |^2)*($1`1_3)*($2`3_3)-gf3)
- (gf2 |^3)*($1`2_3)*($2`3_3),
(gf2 |^3)*($1`3_3)*($2`3_3)]) &
((not $1 _EQ_ O & not $2 _EQ_ O & $1 _EQ_ $2) implies
for g2, g3, g4, g8, gf1, gf2, gf3, gf4 being Element of GF(p) st
g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p &
gf1 = a*($1`3_3 |^2) + g3*($1`1_3 |^2) &
gf2 = $1`2_3*($1`3_3) &
gf3 = $1`1_3*($1`2_3)*gf2 &
gf4 = (gf1 |^2) - g8*gf3
holds
$3 = [g2*gf4*gf2,
gf1*(g4 * gf3-gf4) - g8*($1`2_3 |^2)*(gf2 |^2), g8*(gf2 |^3)]);
A2: for P,Q being Element of EC_SetProjCo(z`1,z`2,p)
ex R being Element of EC_SetProjCo(z`1,z`2,p) st P[P, Q, R]
proof
let P,Q be Element of EC_SetProjCo(z`1,z`2,p);
consider PP be Element of ProjCo(GF(p)) such that
A3: PP = P & PP in EC_SetProjCo(z`1,z`2,p);
A4: PP`1_3 = P`1_3 & PP`2_3 = P`2_3 & PP`3_3 = P`3_3 by A3,Th32;
consider QQ be Element of ProjCo(GF(p)) such that
A5: QQ = Q & QQ in EC_SetProjCo(z`1,z`2,p);
A6: QQ`1_3 = Q`1_3 & QQ`2_3 = Q`2_3 & QQ`3_3 = Q`3_3 by A5,Th32;
set O =[0,1,0];
reconsider O as Element of EC_SetProjCo(z`1,z`2,p) by EC_PF_1:42;
consider OO be Element of ProjCo(GF(p)) such that
A7: OO = O & OO in EC_SetProjCo(z`1,z`2,p);
per cases;
suppose A8: P _EQ_ O;
take Q;
thus thesis by A8;
end;
suppose A9: Q _EQ_ O & not P _EQ_ O;
take P;
thus thesis by A9;
end;
suppose A10: not P _EQ_ O & not Q _EQ_ O & not P _EQ_ Q;
A11: OO`3_3 = 0 by A7;
rep_pt(PP) <> rep_pt(OO) by A3,A7,A10,Th39;
then rep_pt(PP) <> [0, 1, 0] by A11,Def7;
then A12: (rep_pt(PP))`3_3 <> 0 by Th37;
then A13: P`3_3 <> 0 by A4,Th38;
rep_pt(QQ) <> rep_pt(OO) by A5,A7,A10,Th39;
then rep_pt(QQ) <> [0, 1, 0] by A11,Def7;
then (rep_pt(QQ))`3_3 <> 0 by Th37;
then A14: Q`3_3 <> 0 by A6,Th38;
reconsider g2 = 2 mod p as Element of GF(p) by EC_PF_1:14;
set gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3);
set gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3);
set gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3) - (gf2 |^3)
- g2*(gf2 |^2)*(P`1_3)*(Q`3_3);
reconsider gf1,gf2,gf3 as Element of GF(p);
set R = [gf2*gf3,
gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3) - (gf2 |^3)*(P`2_3)*(Q`3_3),
(gf2 |^3)*(P`3_3)*(Q`3_3)];
reconsider R as Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):];
per cases;
suppose A15: P _EQ_ compell_ProjCo(z,p).Q;
then P`1_3*(Q`3_3) = Q`1_3*(P`3_3) by A13,A14,Th50;
then A16: gf2 = 0.GF(p) by VECTSP_1:19;
then A17: gf2 |^2 = 0.GF(p) & gf2 |^3 = 0.GF(p) by Th5;
P`2_3*(Q`3_3) <> Q`2_3*(P`3_3) by A10,A15,Th52;
then gf1 <> 0.GF(p) by VECTSP_1:19;
then A18: gf1 <> 0 by EC_PF_1:11;
then A19: gf1 |^2 <> 0 by EC_PF_1:25;
A20: gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3) - (0.GF(p) + g2*(0.GF(p))*(P`1_3)*(Q`3_3))
by A17,VECTSP_1:17
.= (gf1 |^2)*(P`3_3)*(Q`3_3) - 0.GF(p) by ALGSTR_1:7
.= (gf1 |^2)*(P`3_3)*(Q`3_3) by VECTSP_1:18
.= (gf1 |^2)*(P`3_3*(Q`3_3)) by GROUP_1:def 3;
P`3_3*(Q`3_3) <> 0 by A13,A14,EC_PF_1:20;
then gf3 <> 0 by A19,A20,EC_PF_1:20;
then gf1*gf3 <> 0 by A18,EC_PF_1:20;
then A21: gf1*gf3 <> 0.GF(p) by EC_PF_1:11;
gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3) - (gf2 |^3)*(P`2_3)*(Q`3_3)
= gf1*(0.GF(p)*(P`1_3*(Q`3_3))-gf3)-(0.GF(p)*(P`2_3)*(Q`3_3))
by A17
.= gf1*(0.GF(p)-gf3) by VECTSP_1:18
.= gf1*(-gf3) by VECTSP_1:18
.= -(gf1*gf3) by VECTSP_1:8;
then gf1 * ((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)
- (gf2 |^3)*(P`2_3)*(Q`3_3)
<> 0.GF(p)
by A21,VECTSP_2:3;
then A22: R`2_3 <> 0.GF(p);
then R <> [0,0,0] by EC_PF_1:11;
then not R in {[0,0,0]} by TARSKI:def 1;
then
R in [:the carrier of GF(p), the carrier of GF(p),
the carrier of GF(p):] \ {[0,0,0]} by XBOOLE_0:def 5;
then reconsider R as Element of ProjCo(GF(p)) by EC_PF_1:40;
R in EC_SetProjCo(a,b,p)
proof
A23: R`1_3 = 0.GF(p) by A16;
A24: R`3_3 = 0.GF(p) by A17;
set d = R`2_3;
reconsider d as Element of GF(p);
A25: OO`1_3 = 0 & OO`2_3 = 1 & OO`3_3 = 0 by A7;
A26: d*(OO`1_3) = 0 by A25,EC_PF_1:20
.= R`1_3 by A23,EC_PF_1:11;
A27: d*(OO`3_3) = 0 by A25,EC_PF_1:20
.= R`3_3 by A24,EC_PF_1:11;
d*(OO`2_3) = d*1.GF(p) by A25,EC_PF_1:12
.= R`2_3;
hence R in EC_SetProjCo(a,b,p) by A1,A7,A22,A26,A27,EC_PF_1:45;
end;
then reconsider R as Element of EC_SetProjCo(a,b,p);
take R;
thus thesis by A10;
end;
suppose not P _EQ_ compell_ProjCo(z,p).Q;
then P`1_3*(Q`3_3) <> Q`1_3*(P`3_3) by A10,A13,A14,Th50;
then A28: gf2 <> 0.GF(p) by VECTSP_1:19;
then gf2 <> 0 by EC_PF_1:11;
then A29: gf2 |^3 <> 0 by EC_PF_1:25;
P`3_3*(Q`3_3) <> 0 by A13,A14,EC_PF_1:20;
then (gf2|^3)*(P`3_3*(Q`3_3)) <> 0 by A29,EC_PF_1:20;
then (gf2|^3)*(P`3_3*(Q`3_3)) <> 0.GF(p) by EC_PF_1:11;
then A30: (gf2|^3)*(P`3_3)*(Q`3_3) <> 0.GF(p) by GROUP_1:def 3;
R`3_3 <> 0.GF(p) by A30;
then R <> [0.GF(p),0.GF(p),0.GF(p)];
then not R in {[0.GF(p),0.GF(p),0.GF(p)]} by TARSKI:def 1;
then
R in
[:the carrier of GF(p),the carrier of GF(p), the carrier of GF(p):]
\ {[0.GF(p),0.GF(p),0.GF(p)]} by XBOOLE_0:def 5;
then reconsider R as Element of ProjCo(GF(p)) by EC_PF_1:def 6;
gf2*gf2 <> 0.GF(p) by A28,VECTSP_1:12;
then A31: gf2 |^2 <> 0.GF(p) by EC_PF_1:22;
P`3_3 |^2 <> 0 by A4,A12,Th38,EC_PF_1:25;
then A32: P`3_3 |^2 <> 0.GF(p) by EC_PF_1:11;
A33: Q`3_3 <> 0.GF(p) by A14,EC_PF_1:11;
gf2 |^2 *(P`3_3 |^2) <> 0.GF(p) by A31,A32,VECTSP_1:12;
then A34: gf2 |^2 *(P`3_3 |^2)*(Q`3_3) <> 0.GF(p) by A33,VECTSP_1:12;
EC_WEqProjCo(a,b,p).R = 0.GF(p)
proof
(gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*
((R`2_3 |^2)*(R`3_3) - ((R`1_3 |^3)
+ a*(R`1_3)*(R`3_3 |^2) + b*(R`3_3 |^3)))
= 0.GF(p) by Th58;
then (gf2 |^2)*(P`3_3 |^2)*(Q`3_3)*
EC_WEqProjCo(a,b,p).R = 0.GF(p) by EC_PF_1:def 8;
hence thesis by A34,VECTSP_1:12;
end;
then R is_on_curve EC_WEqProjCo(a,b,p);
then reconsider R as Element of EC_SetProjCo(a,b,p)
by Th34;
take R;
thus thesis by A10;
end;
end;
suppose A35: not P _EQ_ O & not Q _EQ_ O & P _EQ_ Q;
A36: OO`3_3 = 0 by A7;
rep_pt(PP) <> rep_pt(OO) by A3,A7,A35,Th39;
then rep_pt(PP) <> [0, 1, 0] by A36,Def7;
then A37: (rep_pt(PP))`3_3 <> 0 by Th37;
then A38: P`3_3 <> 0 by A4,Th38;
reconsider g2 = 2 mod p as Element of GF(p) by EC_PF_1:14;
reconsider g3 = 3 mod p as Element of GF(p) by EC_PF_1:14;
reconsider g4 = 4 mod p as Element of GF(p) by EC_PF_1:14;
reconsider g8 = 8 mod p as Element of GF(p) by EC_PF_1:14;
set gf1 = a*(P`3_3 |^ 2) + g3*(P`1_3 |^ 2);
set gf2 = P`2_3*(P`3_3);
set gf3 = P`1_3*(P`2_3)*gf2;
set gf4 = (gf1 |^ 2) - g8*gf3;
reconsider gf1,gf2,gf3,gf4 as Element of GF(p);
set R = [g2*gf4*gf2, gf1*(g4*gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^2),
g8*(gf2 |^ 3)];
reconsider R as Element of
[:the carrier of GF(p), the carrier of GF(p), the carrier of GF(p):];
per cases;
suppose A39: P`2_3 = 0;
A40: gf2 = 0 by A39,EC_PF_1:20;
then A41: gf3 = 0 by EC_PF_1:20;
A42: gf2 = 0.GF(p) by A40,EC_PF_1:11;
A43: gf3 = 0.GF(p) by A41,EC_PF_1:11;
A44: gf1 <> 0 by A4,A37,A39,Th38,Th53;
then A45: gf1 <> 0.GF(p) by EC_PF_1:11;
gf4 = (gf1 |^2)-0.GF(p) by A43
.= (gf1 |^2) by VECTSP_1:18;
then gf4 <> 0 by A44,EC_PF_1:25;
then A46: gf4 <> 0.GF(p) by EC_PF_1:11;
R`2_3
= gf1*(g4*0.GF(p)-gf4)-g8*(P`2_3|^2)*(gf2*gf2) by A43,EC_PF_1:22
.= gf1*(-gf4)-g8*(P`2_3|^2)*(0.GF(p)*0.GF(p)) by VECTSP_1:18,A42
.= gf1*(-gf4) by VECTSP_1:18
.= -(gf1*gf4) by VECTSP_1:8;
then -R`2_3 = gf1*gf4 by RLVECT_1:17;
then -R`2_3 <> 0.GF(p) by A45,A46,VECTSP_1:12;
then A47: R`2_3 <> 0.GF(p) by VECTSP_2:3;
then R <> [0.GF(p),0.GF(p),0.GF(p)];
then not R in {[0.GF(p),0.GF(p),0.GF(p)]} by TARSKI:def 1;
then
R in
[:the carrier of GF(p),the carrier of GF(p), the carrier of GF(p):]
\ {[0.GF(p),0.GF(p),0.GF(p)]} by XBOOLE_0:def 5;
then reconsider R as Element of ProjCo(GF(p)) by EC_PF_1:def 6;
R in EC_SetProjCo(a,b,p)
proof
A48: R`1_3 = 0.GF(p) by A42;
0 = 0.(GF p) by EC_PF_1:11;
then
A49: gf2 |^3 = 0.GF(p) by A40,Th5;
A50: R`3_3 = 0.GF(p) by A49;
set d = R`2_3;
reconsider d as Element of GF(p);
A51: OO`1_3 = 0 & OO`2_3 = 1 & OO`3_3 = 0 by A7;
A52: d*(OO`1_3) = 0 by A51,EC_PF_1:20
.= R`1_3 by A48,EC_PF_1:11;
A53: d*(OO`3_3) = 0 by A51,EC_PF_1:20
.= R`3_3 by A50,EC_PF_1:11;
d*(OO`2_3) = d*1.GF(p) by A51,EC_PF_1:12
.= R`2_3;
hence R in EC_SetProjCo(a,b,p) by A1,A7,A47,A52,A53,EC_PF_1:45;
end;
then reconsider R as Element of EC_SetProjCo(z`1,z`2,p);
take R;
thus thesis by A35;
end;
suppose A54: P`2_3 <> 0;
A55: gf2 <> 0 by A38,A54,EC_PF_1:20;
then (gf2 |^3) <> 0 by EC_PF_1:25;
then A56: (gf2 |^3) <> 0.GF(p) by EC_PF_1:11;
A57: g4 = (2*2) mod p
.= g2*g2 by EC_PF_1:18;
A58: p > 2 by A1,NAT_1:13;
g8 = (4*2) mod p
.= g4*g2 by EC_PF_1:18
.= (g2|^2)*g2 by A57,EC_PF_1:22
.= g2|^(2+1) by EC_PF_1:24
.= g2|^3;
then A59: g8 <> 0.GF(p) by Th28,A58;
R`3_3 <> 0.GF(p) by A56,A59,VECTSP_1:12;
then R <> [0.GF(p),0.GF(p),0.GF(p)];
then not R in {[0.GF(p),0.GF(p),0.GF(p)]} by TARSKI:def 1;
then
R in
[:the carrier of GF(p),the carrier of GF(p), the carrier of GF(p):]
\ {[0.GF(p),0.GF(p),0.GF(p)]} by XBOOLE_0:def 5;
then reconsider R as Element of ProjCo(GF(p)) by EC_PF_1:def 6;
g4 = g2 |^2 by A57,EC_PF_1:22;
then A60: g4 <> 0.GF(p) by Th28,A58;
gf2 |^2 <> 0 by A55,EC_PF_1:25;
then A61: gf2 |^2 <> 0.GF(p) by EC_PF_1:11;
P`3_3 |^2 <> 0 by A4,A37,Th38,EC_PF_1:25;
then A62: P`3_3 |^2 <> 0.GF(p) by EC_PF_1:11;
g4 * gf2 |^2 <> 0.GF(p) by A60,A61,VECTSP_1:12;
then A63: g4 * gf2 |^2 * (P`3_3 |^2) <> 0.GF(p) by A62,VECTSP_1:12;
EC_WEqProjCo(a,b,p).R = 0.GF(p)
proof
g4*(gf2 |^2)*(P`3_3 |^2)*
((R`2_3 |^2)*(R`3_3) -
((R`1_3 |^3) + a*(R`1_3)*(R`3_3 |^2) + b*(R`3_3 |^3)))
= 0.GF(p) by Th63;
then g4*(gf2 |^2)*(P`3_3 |^2)*
EC_WEqProjCo(a,b,p).R = 0.GF(p) by EC_PF_1:def 8;
hence thesis by A63,VECTSP_1:12;
end;
then R is_on_curve EC_WEqProjCo(a,b,p);
then reconsider R as Element of EC_SetProjCo(a,b,p)
by Th34;
take R;
thus thesis by A35;
end;
end;
end;
consider f being Function of
[:EC_SetProjCo(z`1,z`2,p),EC_SetProjCo(z`1,z`2,p):],
EC_SetProjCo(z`1,z`2,p) such that
A64: for P,Q being Element of EC_SetProjCo(z`1,z`2,p)
holds P[P,Q,f.(P,Q)] from BINOP_1:sch 3(A2);
take f;
thus thesis by A64;
end;
uniqueness
proof
set a=z`1;
set b=z`2;
defpred P[Element of EC_SetProjCo(z`1,z`2,p),
Element of EC_SetProjCo(z`1,z`2,p), set] means
for O being Element of EC_SetProjCo(z`1,z`2,p)
st O = [0,1,0] holds
($1 _EQ_ O implies $3 = $2) &
(($2 _EQ_ O & not $1 _EQ_ O) implies $3 = $1) &
((not $1 _EQ_ O & not $2 _EQ_ O & not $1 _EQ_ $2) implies
for g2, gf1, gf2, gf3 being Element of GF(p) st g2 = 2 mod p &
gf1 = $2`2_3*($1`3_3) - $1`2_3*($2`3_3) &
gf2 = $2`1_3*($1`3_3) - $1`1_3*($2`3_3) &
gf3 = (gf1 |^2)*($1`3_3)*($2`3_3)
- (gf2 |^3) - g2*(gf2 |^2)*($1`1_3)*($2`3_3)
holds
$3 = [gf2*gf3, gf1 * ((gf2 |^2)*($1`1_3)*($2`3_3)-gf3)
- (gf2 |^3)*($1`2_3)*($2`3_3),
(gf2|^3)*($1`3_3)*($2`3_3)]) &
((not $1 _EQ_ O & not $2 _EQ_ O & $1 _EQ_ $2) implies
for g2, g3, g4, g8, gf1, gf2, gf3, gf4 being Element of GF(p) st
g2 = 2 mod p & g3 = 3 mod p & g4 = 4 mod p & g8 = 8 mod p &
gf1 = a*($1`3_3 |^ 2) + g3*($1`1_3 |^ 2) &
gf2 = $1`2_3*($1`3_3) &
gf3 = $1`1_3*($1`2_3)*gf2 &
gf4 = (gf1 |^ 2) - g8*gf3 holds
$3 = [g2*gf4*gf2,
gf1*(g4 * gf3-gf4) - g8*($1`2_3 |^2)*(gf2 |^ 2), g8*(gf2 |^ 3)]);
for o1,o2 being Function of [:EC_SetProjCo(z`1,z`2,p),
EC_SetProjCo(z`1,z`2,p):],
EC_SetProjCo(z`1,z`2,p) st
(for P, Q being Element of EC_SetProjCo(z`1,z`2,p)
holds P[P,Q,o1.(P,Q)]) &
(for P, Q being Element of EC_SetProjCo(z`1,z`2,p)
holds P[P,Q,o2.(P,Q)])
holds o1 = o2
proof
let o1, o2 be Function of
[:EC_SetProjCo(z`1,z`2,p),EC_SetProjCo(z`1,z`2,p):],
EC_SetProjCo(z`1,z`2,p) such that
A65: for P, Q being Element of EC_SetProjCo(z`1,z`2,p)
holds P[P, Q, o1.(P,Q)] and
A66: for P, Q being Element of EC_SetProjCo(z`1,z`2,p)
holds P[P, Q, o2.(P,Q)];
set O = [0, 1, 0];
reconsider O as Element of EC_SetProjCo(z`1,z`2,p) by EC_PF_1:42;
for P, Q be Element of EC_SetProjCo(z`1,z`2,p)
holds o1.(P,Q) = o2.(P,Q)
proof
let P, Q be Element of EC_SetProjCo(z`1,z`2,p);
per cases;
suppose A67: P _EQ_ O;
o1.(P,Q) = Q by A65,A67;
hence thesis by A66,A67;
end;
suppose A68: Q _EQ_ O & not P _EQ_ O;
o1.(P,Q) = P by A65,A68;
hence thesis by A66,A68;
end;
suppose A69: not P _EQ_ O & not Q _EQ_ O & not P _EQ_ Q;
reconsider g2 = 2 mod p as Element of GF(p) by EC_PF_1:14;
set gf1 = Q`2_3*(P`3_3) - P`2_3*(Q`3_3);
set gf2 = Q`1_3*(P`3_3) - P`1_3*(Q`3_3);
set gf3 = (gf1 |^2)*(P`3_3)*(Q`3_3) - (gf2 |^3)
- g2*(gf2 |^2)*(P`1_3)*(Q`3_3);
reconsider gf1, gf2, gf3 as Element of GF(p);
o1.(P,Q) = [gf2*gf3,
gf1*((gf2 |^2)*(P`1_3)*(Q`3_3)-gf3)
-(gf2 |^3)*(P`2_3)*(Q`3_3), (gf2|^3)*(P`3_3)*(Q`3_3)]
by A65,A69;
hence thesis by A66,A69;
end;
suppose A70: not P _EQ_ O & not Q _EQ_ O & P _EQ_ Q;
reconsider g2 = 2 mod p as Element of GF(p) by EC_PF_1:14;
reconsider g3 = 3 mod p as Element of GF(p) by EC_PF_1:14;
reconsider g4 = 4 mod p as Element of GF(p) by EC_PF_1:14;
reconsider g8 = 8 mod p as Element of GF(p) by EC_PF_1:14;
set gf1 = a*(P`3_3 |^ 2) + g3*(P`1_3 |^ 2);
set gf2 = P`2_3*(P`3_3);
set gf3 = P`1_3*(P`2_3)*gf2;
set gf4 = (gf1 |^ 2) - g8*gf3;
reconsider gf1, gf2, gf3, gf4 as Element of GF(p);
o1.(P,Q) = [g2*gf4*gf2,
gf1*(g4 * gf3-gf4) - g8*(P`2_3 |^2)*(gf2 |^ 2),
g8*(gf2 |^ 3)] by A65,A70;
hence thesis by A66,A70;
end;
end;
hence thesis by BINOP_1:2;
end;
hence thesis;
end;
end;
definition
let p be 5_or_greater Prime, z be Element of EC_WParam p;
let F be Function of
[:EC_SetProjCo(z`1,z`2,p),EC_SetProjCo(z`1,z`2,p):],
EC_SetProjCo(z`1,z`2,p);
let Q,R be Element of EC_SetProjCo(z`1,z`2,p);
redefine func F.(Q,R) -> Element of EC_SetProjCo(z`1,z`2,p); :: redefines . (BINOP_1, definition)
correctness
proof
F.(Q,R) in EC_SetProjCo(z`1,z`2,p);
hence thesis;
end;
end;