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

theorem Th40:
  for p be 5_or_greater Prime, z be Element of EC_WParam p,
  O be Element of EC_SetProjCo(z`1,z`2,p) st O = [0, 1, 0] holds
  (compell_ProjCo(z,p)).O _EQ_ O
  proof
    let p be 5_or_greater Prime, z be Element of EC_WParam p,
    O be Element of EC_SetProjCo(z`1,z`2,p) such that
    A1: O = [0, 1, 0];
    set a = z`1;
    set b = z`2;
    A2: O`1_3 = 0 & O`2_3 = 1 & O`3_3 = 0 by A1,Def3,Def4,Def5;
    consider OO be Element of ProjCo(GF(p)) such that
    A3: OO = O & OO in EC_SetProjCo(a,b,p);
    A4: OO`1_3 = 0 & OO`2_3 = 1 & OO`3_3 = 0 by A2,A3,Th32;
    set CO = compell_ProjCo(z,p).O;
    consider COO be Element of ProjCo(GF(p)) such that
    A5: COO = CO & COO in EC_SetProjCo(a,b,p);
    A6: COO`1_3 = CO`1_3 & COO`2_3 = CO`2_3 & COO`3_3 = CO`3_3 by A5,Th32;
    CO = [O`1_3, -O`2_3, O`3_3] by Def8;
    then COO`3_3 = 0 by A2,A6,Def5;
    then A7: rep_pt(CO) = [0, 1, 0] by A5,Def7;
    rep_pt(O) = [0, 1, 0] by A3,A4,Def7;
    hence thesis by A7,Th39;
  end;
