EC_PF_2

index · ← INTEGR19 · PDIFF_9 →
:: 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;