let p be Prime; for a, b, X, Y being Element of (GF p) holds
( Y |^ 2 = ((X |^ 3) + (a * X)) + b iff [X,Y,1] is Element of EC_SetProjCo (a,b,p) )
let a, b, X, Y be Element of (GF p); ( Y |^ 2 = ((X |^ 3) + (a * X)) + b iff [X,Y,1] is Element of EC_SetProjCo (a,b,p) )
P1:
1 = 1. (GF p)
by XLm3;
reconsider Q = [X,Y,1] as Element of ProjCo (GF p) by LMNGA0;
P2:
Y |^ 2 = (Y |^ 2) * (1. (GF p))
by VECTSP_1:def 6;
P3: a * X =
(a * X) * (1. (GF p))
by VECTSP_1:def 6
.=
(a * X) * ((1. (GF p)) * (1. (GF p)))
by VECTSP_1:def 6
.=
(a * X) * ((1. (GF p)) |^ 2)
by EXLm4
;
P4: b =
b * (1. (GF p))
by VECTSP_1:def 6
.=
b * ((1. (GF p)) * (1. (GF p)))
by VECTSP_1:def 6
.=
b * ((1. (GF p)) |^ 2)
by EXLm4
.=
b * (((1. (GF p)) |^ 2) * (1. (GF p)))
by VECTSP_1:def 6
.=
b * ((1. (GF p)) |^ (2 + 1))
by EX5
.=
b * ((1. (GF p)) |^ 3)
;
hereby ( [X,Y,1] is Element of EC_SetProjCo (a,b,p) implies Y |^ 2 = ((X |^ 3) + (a * X)) + b )
assume AS2:
Y |^ 2
= ((X |^ 3) + (a * X)) + b
;
[X,Y,1] is Element of EC_SetProjCo (a,b,p)
(Y |^ 2) - (((X |^ 3) + (a * X)) + b) = 0. (GF p)
by AS2, VECTSP_1:19;
then
(EC_WEqProjCo (a,b,p)) . Q = 0. (GF p)
by P1, P2, P3, P4, LmECDefEQ;
then
Q in { P where P is Element of ProjCo (GF p) : (EC_WEqProjCo (a,b,p)) . P = 0. (GF p) }
;
hence
[X,Y,1] is
Element of
EC_SetProjCo (
a,
b,
p)
;
verum
end;
assume
[X,Y,1] is Element of EC_SetProjCo (a,b,p)
; Y |^ 2 = ((X |^ 3) + (a * X)) + b
then
Q in { P where P is Element of ProjCo (GF p) : (EC_WEqProjCo (a,b,p)) . P = 0. (GF p) }
;
then
ex P being Element of ProjCo (GF p) st
( P = Q & (EC_WEqProjCo (a,b,p)) . P = 0. (GF p) )
;
then
(Y |^ 2) - (((X |^ 3) + (a * X)) + b) = 0. (GF p)
by P1, P2, P3, P4, LmECDefEQ;
hence
Y |^ 2 = ((X |^ 3) + (a * X)) + b
by VECTSP_1:19; verum