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 Th48:
  |- f^<*'not' p*>^<*q*> implies |- f^<*'not' q*>^<*p*>
proof
  set f1 = f^<*'not' p*>^<*q*>;
  set f2 = Ant(Ant(f1))^<*'not' q*>^<*'not' p*>^<*q*>;
  assume
A1: |- f1;
A2: Ant(f1) = f^<*'not' p*> by Th5;
  then
A3: Ant(Ant(f1)) = f by Th5;
  set f4 = Ant(Ant(f1))^<*'not' q*>^<*p*>^<*p*>;
  set f3 = Ant(Ant(f1))^<*'not' q*>^<*'not' p*>^<*'not' q*>;
A4: 1 < len f4 by Th9;
  Ant(f3) = Ant(Ant(f1))^<*'not' q*>^<*'not' p*> by Th5;
  then Ant(f3) = Ant(Ant(f1))^(<*'not' q*>^<*'not' p*>) by FINSEQ_1:32;
  then
A5: Ant(f3) = Ant(Ant(f1))^<*'not' q,'not' p*> by FINSEQ_1:def 9;
  then (Ant(f3)).(len f+1) = 'not' q by A3,Th14;
  then
A6: (Ant(f3)).(len f+1) = Suc(f3) by Th5;
  1 in dom <*'not' q,'not' p*> by Th14;
  then
A7: len f+1 in dom (Ant(f3)) by A3,A5,FINSEQ_1:28;
  Suc(f1) = q by Th5;
  then
A8: Suc(f1) = Suc(f2) by Th5;
A9: Ant(f2) = Ant(Ant(f1))^<*'not' q*>^<*'not' p*> by Th5;
  then
A10: 1 < len (Ant(f2)^<* p*>) by Th9;
  Suc(Ant(f1)) = 'not' p & 0+1 <= len Ant(f1) by A2,Th5,Th10;
  then
A11: |- f2 by A1,A9,A8,Th13,Th36;
  Suc(f2) = q & Ant(f2) = Ant(Ant(f1))^<*'not' q*>^<*'not' p*> by Th5;
  then |- Ant(f2)^<*'not' Suc(f2)*> by A6,A7,Lm2,Th33;
  then
A12: |- Ant(f2)^<*p*> by A11,Th44;
A13: Ant(f4) = Ant(Ant(f1))^<*'not' q*>^<*p*> by Th5;
  then Ant(f4) = Ant(Ant(f1))^(<*'not' q*>^<*p*>) by FINSEQ_1:32;
  then
A14: Ant(f4) = Ant(Ant(f1))^<*'not' q,p*> by FINSEQ_1:def 9;
  then (Ant(f4)).(len f+2) = p by A3,Th14;
  then
A15: (Ant(f4)).(len f+2) = Suc(f4) by Th5;
  2 in dom <*'not' q,p*> by Th14;
  then len f+2 in dom (Ant(f4)) by A3,A14,FINSEQ_1:28;
  then
A16: |- f4 by A15,Lm2,Th33;
A17: Ant(Ant(f2)^<*p*>) = Ant(Ant(f1))^<*'not' q*>^<*'not' p*> by A9,Th5;
  then Ant(Ant(Ant(f2)^<*p*>)) = Ant(Ant(f1))^<*'not' q*> by Th5;
  then
A18: Ant(Ant(f4)) = Ant(Ant(Ant(f2)^<*p*>)) by A13,Th5;
  Suc(Ant(Ant(f2)^<* p*>)) = 'not' p by A17,Th5;
  then
A19: Suc(Ant(Ant(f2)^<*p*>)) = 'not' Suc(Ant(f4)) by A13,Th5;
A20: Suc(f4) = p by Th5;
  then Suc(Ant(f2)^<*p*>) = Suc(f4) by Th5;
  then |- Ant(Ant(f4))^<*p*> by A12,A16,A10,A4,A18,A19,A20,Th37;
  hence thesis by A3,A13,Th5;
end;
