reserve Al for QC-alphabet;
reserve b,c,d for set,
  X,Y for Subset of CQC-WFF(Al),
  i,j,k,m,n for Nat,
  p,p1,q,r,s,s1 for Element of CQC-WFF(Al),
  x,x1,x2,y,y1 for bound_QC-variable of Al,
  A for non empty set,
  J for interpretation of Al, A,
  v for Element of Valuations_in(Al,A),
  f1,f2 for FinSequence of CQC-WFF(Al),
  CX,CY,CZ for Consistent Subset of CQC-WFF(Al),
  JH for Henkin_interpretation of CX,
  a for Element of A,
  t,u for QC-symbol of Al;

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;
