ec_pf_2.miz



    begin

    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 :: EC_PF_2:1

    

     Th1: for F be add-associative right_zeroed right_complementable distributive unital non empty doubleLoopStr holds for a be 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 :: EC_PF_2:2

    for K be 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 :: EC_PF_2:3

    

     Th3: for K be Field, a1,a2,a3,a4 be 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 :: EC_PF_2:4

    

     Th4: for K be Field, a1,a2,a3,a4 be 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 :: EC_PF_2:5

    

     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 :: EC_PF_2:6

    for K be add-associative right_zeroed right_complementable Abelian non empty addLoopStr, a1,a2 be 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 :: EC_PF_2:7

    

     Th7: for K be Abelian AddGroup, a1,a2,a3,a4 be 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 :: EC_PF_2:8

    

     Th8: for K be Abelian AddGroup, a1,a2,a3,a4,a5 be 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 :: EC_PF_2:9

    for K be Abelian AddGroup, a1,a2,a3,a4,a5,a6 be 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 :: EC_PF_2:10

    

     Th10: for K be comRing, a1,a2,a3,a4 be 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 :: EC_PF_2:11

    

     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 :: EC_PF_2:12

    

     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 :: EC_PF_2:13

    

     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 :: EC_PF_2:14

    

     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 :: EC_PF_2:15

    

     Th15: for K be comRing, a1,a2 be 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 :: EC_PF_2:16

    for K be comRing, a1,a2 be 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 :: EC_PF_2:17

    

     Th17: for K be comRing, a1,a2 be 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 Nat;

      :: EC_PF_2:def1

      attr p is n _or_greater means

      : Def1: n <= p;

    end

    registration

      cluster 5 _or_greater prime for Nat;

      existence by Def1, PEPIN: 59;

    end

    theorem :: EC_PF_2:18

    

     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 :: EC_PF_2:19

    

     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 :: EC_PF_2:20

    

     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 :: EC_PF_2:21

    

     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 :: EC_PF_2:22

    

     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 :: EC_PF_2:23

    

     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 :: EC_PF_2:24

    

     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 :: EC_PF_2:25

    

     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 :: EC_PF_2:26

    

     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 :: EC_PF_2:27

    

     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 :: EC_PF_2:28

    

     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 :: EC_PF_2:29

    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

    definition

      let p be 5 _or_greater Prime;

      :: EC_PF_2:def2

      func EC_WParam p -> Subset of [:the carrier of ( GF p), the carrier of ( GF p):] equals { [a, b] where a,b be 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 be 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);

      :: original: `1

      redefine

      func z `1 -> Element of ( GF p) ;

      correctness

      proof

        thus (z `1 ) is Element of ( GF p);

      end;

      :: original: `2

      redefine

      func z `2 -> Element of ( GF p) ;

      correctness

      proof

        thus (z `2 ) is Element of ( GF p);

      end;

    end

    theorem :: EC_PF_2:30

    

     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 be 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));

      :: EC_PF_2:def3

      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;

      :: EC_PF_2:def4

      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;

      :: EC_PF_2:def5

      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 :: EC_PF_2:31

    

     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 be non empty set holds for x be Element of [:X1, X2, X3:] holds x = [(x `1_3 ), (x `2_3 ), (x `3_3 )];

    theorem :: EC_PF_2:32

    

     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 :: EC_PF_2:33

    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);

      :: EC_PF_2:def6

      pred P is_on_curve CEQ means (CEQ . P) = ( 0. ( GF p));

      correctness ;

    end

    theorem :: EC_PF_2:34

    

     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 be 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 be 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 :: EC_PF_2:35

    

     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));

      :: EC_PF_2:def7

      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 :: EC_PF_2:36

    

     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 :: EC_PF_2:37

    

     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 :: EC_PF_2:38

    

     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 :: EC_PF_2:39

    

     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

    

     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);

      :: EC_PF_2:def8

      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 be Element of ( EC_SetProjCo (a,b,p)) holds ex R be 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 be Function of ( EC_SetProjCo (a,b,p)), ( EC_SetProjCo (a,b,p)) such that

         A2: for P be 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 be Function of ( EC_SetProjCo (a,b,p)), ( EC_SetProjCo (a,b,p)) st (for x be Element of ( EC_SetProjCo (a,b,p)) holds (f1 . x) = F(x)) & (for x be 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 be Element of ( EC_SetProjCo (a,b,p)) holds (f1 . x) = F(x) and

           A4: for x be 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));

      :: original: .

      redefine

      func F . P -> Element of ( EC_SetProjCo ((z `1 ),(z `2 ),p)) ;

      correctness

      proof

        (F . P) in ( EC_SetProjCo ((z `1 ),(z `2 ),p));

        hence thesis;

      end;

    end

    theorem :: EC_PF_2:40

    

     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 :: EC_PF_2:41

    

     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 :: EC_PF_2:42

    

     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 :: EC_PF_2:43

    

     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 :: EC_PF_2:44

    

     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 :: EC_PF_2:45

    

     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 :: EC_PF_2:46

    

     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 :: EC_PF_2:47

    

     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 :: EC_PF_2:48

    

     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 :: EC_PF_2:49

    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 :: EC_PF_2:50

    

     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 :: EC_PF_2:51

    

     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 :: EC_PF_2:52

    

     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 :: EC_PF_2:53

    

     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 :: EC_PF_2:54

    

     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 :: EC_PF_2:55

    

     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 :: EC_PF_2:56

    

     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 :: EC_PF_2:57

    

     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 :: EC_PF_2:58

    

     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 :: EC_PF_2:59

    

     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 :: EC_PF_2:60

    

     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 :: EC_PF_2:61

    

     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 :: EC_PF_2:62

    

     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 :: EC_PF_2:63

    

     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);

      :: EC_PF_2:def9

      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 be 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 be 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 be 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 be 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 be 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 be 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 be Element of ( EC_SetProjCo ((z `1 ),(z `2 ),p)) holds ex R be 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 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

         A64: for P,Q be 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 be 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 be 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 be 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 be 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 be Element of ( EC_SetProjCo ((z `1 ),(z `2 ),p)) holds P[P, Q, (o1 . (P,Q))]) & (for P,Q be 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 be Element of ( EC_SetProjCo ((z `1 ),(z `2 ),p)) holds P[P, Q, (o1 . (P,Q))] and

           A66: for P,Q be 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));

      :: original: .

      redefine

      func F . (Q,R) -> Element of ( EC_SetProjCo ((z `1 ),(z `2 ),p)) ;

      correctness

      proof

        (F . (Q,R)) in ( EC_SetProjCo ((z `1 ),(z `2 ),p));

        hence thesis;

      end;

    end