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