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