theorem Th2:
  for f being FinSequence of CQC-WFF(Al) holds
  |- f^<*'not' p 'or' q*> & |- f^<*p*> implies |- f^<*q*>
proof
  let f be FinSequence of CQC-WFF(Al) such that
A1: |- f^<*'not' p 'or' q*> and
A2: |- f^<*p*>;
  set f1 = f^<*'not' p*>^<*p*>;
A3: Ant(f1) = f^<*'not' p*> by CALCUL_1:5;
A4: Ant(f^<*p*>) = f by CALCUL_1:5;
  Suc(f^<*p*>) = p by CALCUL_1:5;
  then Suc(f^<*p*>) = Suc(f1) by CALCUL_1:5;
  then
A5: |- f1 by A2,A3,A4,CALCUL_1:8,36;
  set f2 = f^<*'not' p*>^<*'not' p*>;
A6: Ant(f2) = f^<*'not' p*> by CALCUL_1:5;
A7: Suc(f2) = 'not' p by CALCUL_1:5;
A8: (Ant(f2)).(len f+1) = 'not' p by A6,FINSEQ_1:42;
  len f+1 = len f + len <*'not' p *> by FINSEQ_1:39;
  then len f+1 = len Ant(f2) by A6,FINSEQ_1:22;
  then len f+1 in dom Ant(f2) by A6,CALCUL_1:10;
  then Suc(f2) is_tail_of Ant(f2) by A7,A8,CALCUL_1:def 16;
  then
A9: |- f2 by CALCUL_1:33;
A10: 0+1 <= len f2 by CALCUL_1:10;
A11: Ant(f1) = Ant(f2) by A6,CALCUL_1:5;
  'not' Suc(f1) = Suc(f2) by A7,CALCUL_1:5;
  then |- Ant(f1)^<*'not' Suc(f1)*> by A9,A10,A11,CALCUL_1:3;
  then
A12: |- Ant(f1)^<*q*> by A5,CALCUL_1:44;
  set f3 = f^<*q*>^<*q*>;
A13: Ant(f3) = f^<*q*> by CALCUL_1:5;
A14: Suc(f3) = q by CALCUL_1:5;
A15: (Ant(f3)).(len f+1) = q by A13,FINSEQ_1:42;
  len f+1 = len f + len <*q*> by FINSEQ_1:39;
  then len f+1 = len Ant(f3) by A13,FINSEQ_1:22;
  then len f+1 in dom Ant(f3) by A13,CALCUL_1:10;
  then Suc(f3) is_tail_of Ant(f3) by A14,A15,CALCUL_1:def 16;
  then |- f3 by CALCUL_1:33;
  then |- f^<*'not' p 'or' q*>^<*q*> by A3,A12,CALCUL_1:53;
  then
A16: |- f^<*'not' ('not' 'not' p '&' 'not' q)*>^<*q*> by QC_LANG2:def 3;
  set f4 = f^<*'not' q*>^<*'not' 'not' p '&' 'not' q*>;
A17: Suc(f4) = 'not' 'not' p '&' 'not' q by CALCUL_1:5;
  then
A18: |- Ant(f4)^<*'not' 'not' p*> by A16,CALCUL_1:40,48;
A19: |- Ant(f4)^<*'not' q*> by A16,A17,CALCUL_1:41,48;
  set f5 = Ant(f4)^<*'not' 'not' p*>;
  set f6 = Ant(f4)^<*'not' q*>;
A20: Ant(f5) = Ant(f4) by CALCUL_1:5;
A21: Suc(f5) = 'not' 'not' p by CALCUL_1:5;
A22: Ant(f6) = Ant(f4) by CALCUL_1:5;
  Suc(f6) = 'not' q by CALCUL_1:5;
  then |- Ant(f4)^<*'not' 'not' p '&' 'not' q*> by A18,A19,A20,A21,A22,
CALCUL_1:39;
  then |- f^<*'not' q*>^<*'not' 'not' p '&' 'not' q*> by CALCUL_1:5;
  then |- f^<*'not' ('not' 'not' p '&' 'not' q)*>^<*q*> by CALCUL_1:48;
  then
A23: |- f^<*'not' p 'or' q*>^<*q*> by QC_LANG2:def 3;
  1 <= len (f^<*'not' p 'or' q*>) by CALCUL_1:10;
  then |- Ant(f^<*'not' p 'or' q*>)^<*q*> by A1,A23,CALCUL_1:45;
  hence thesis by CALCUL_1:5;
end;
