reserve Al for QC-alphabet;
reserve a,b,c,d for object,
  i,j,k,m,n for Nat,
  p,q,r for Element of CQC-WFF(Al),
  x,y,y0 for bound_QC-variable of Al,
  X for Subset of CQC-WFF(Al),
  A for non empty set,
  J for interpretation of Al,A,
  v,w for Element of Valuations_in(Al,A),
  Sub for CQC_Substitution of Al,
  f,f1,g,h,h1 for FinSequence of CQC-WFF(Al);
reserve fin,fin1 for FinSequence;
reserve PR,PR1 for FinSequence of [:set_of_CQC-WFF-seq(Al),Proof_Step_Kinds:];
reserve a for Element of A;

theorem Th53:
  |- f^<*p*> implies |- f^<*'not' 'not' p*>
proof
  assume
A1: |- f^<*p*>;
  set f5 = f^<*p*>;
  set f4 = f^<*p*>^<*'not' 'not' p*>^<*'not' 'not' p*>;
  set f2 = f^<*p*>^<*'not' p*>^<*'not' p*>;
  set f1 = f^<*p*>^<*'not' p*>^<*p*>;
  set f3 = Ant(f1)^<*'not' 'not' p*>;
A2: Suc(f1) = p by Th5;
A3: Ant(f1) = f^<*p*>^<*'not' p*> by Th5;
  then
A4: 1 < len f3 by Th9;
A5: Ant(f4) = f^<*p*>^<*'not' 'not' p*> by Th5;
  then Ant(f4) = f^(<*p*>^<*'not' 'not' p*>) by FINSEQ_1:32;
  then
A6: Ant(f4) = f^<*p,'not' 'not' p *> by FINSEQ_1:def 9;
A7: Ant(f3) = Ant(f1) by Th5;
  then Suc(Ant(f3)) = 'not' p by A3,Th5;
  then
A8: 'not' Suc(Ant(f3)) = Suc(Ant(f4)) by A5,Th5;
  Ant(f1) = f^(<*p*>^<*'not' p*>) by A3,FINSEQ_1:32;
  then
A9: Ant(f1) = f^<*p,'not' p *> by FINSEQ_1:def 9;
  len f+2 = len f + len <*p,'not' p *> by FINSEQ_1:44;
  then len f+2 = len Ant(f1) by A9,FINSEQ_1:22;
  then 1 <= len f+1 & len f+1 <= len Ant(f1) by NAT_1:11,XREAL_1:6;
  then
A10: len f+1 in dom Ant(f1) by FINSEQ_3:25;
  (Ant(f1)).(len f+1) = p by A9,Th14;
  then
A11: |- f1 by A2,A10,Lm2,Th33;
A12: 1 < len f4 by Th9;
  0+1 <= len f2 by Th10;
  then
A13: f2 = Ant(f2)^<*Suc(f2)*> by Th3;
A14: 1 <= len f5 by Th10;
  len f+2 = len f + len <*p,'not' 'not' p *> by FINSEQ_1:44;
  then len f+2 = len Ant(f4) by A6,FINSEQ_1:22;
  then
A15: len f+2 in dom Ant(f4) by A5,Th10;
A16: Ant(f2) = f^<*p*>^<*'not' p*> by Th5;
  then Ant(f2) = f^(<*p*>^<*'not' p*>) by FINSEQ_1:32;
  then
A17: Ant(f2) = f^<*p,'not' p *> by FINSEQ_1:def 9;
  len f+2 = len f + len <*p,'not' p *> by FINSEQ_1:44;
  then len f+2 = len Ant(f2) by A17,FINSEQ_1:22;
  then
A18: len f+2 in dom Ant(f2) by A16,Th10;
A19: Suc(f2) = 'not' p by Th5;
  then
A20: 'not' Suc(f1) = Suc(f2) by Th5;
  (Ant(f2)).(len f+2) = 'not' p by A17,Th14;
  then
A21: |- f2 by A18,A19,Lm2,Th33;
A22: Suc(f4) = 'not' 'not' p by Th5;
  then
A23: Suc(f3) = Suc(f4) by Th5;
  (Ant(f4)).(len f+2) = 'not' 'not' p by A6,Th14;
  then
A24: |- f4 by A15,A22,Lm2,Th33;
  Ant(f1) = Ant(f2) by A16,Th5;
  then
A25: |- Ant(f1)^<*'not' 'not' p*> by A11,A21,A13,A20,Th44;
A26: Ant(Ant(f3)) = f^<*p*> by A3,A7,Th5;
  then Ant(Ant(f3)) = Ant(Ant(f4)) by A5,Th5;
  then |- f^<*p*>^<*'not' 'not' p*> by A25,A22,A24,A23,A26,A8,A4,A12,Th37;
  then |- Ant(f5)^<*'not' 'not' p*> by A1,A14,Th45;
  hence thesis by Th5;
end;
