theorem
  |- f^<*q*> implies |- f^<*p 'or' q*>
proof
  set f1 = f^<*'not' p '&' 'not' q*>^<*'not' p '&' 'not' q*>;
  assume
A1: |- f^<*q*>;
A2: Ant(f1) = f^<*'not' p '&' 'not' q*> by Th5;
  len f+1 = len f + len <*'not' p '&' 'not' q*> by FINSEQ_1:39;
  then len f+1 = len Ant(f1) by A2,FINSEQ_1:22;
  then
A3: len f+1 in dom Ant(f1) by A2,Th10;
A4: Suc(f1) = 'not' p '&' 'not' q by Th5;
  (Ant(f1)).(len f+1) = 'not' p '&' 'not' q by A2,FINSEQ_1:42;
  then Suc(f1) is_tail_of Ant(f1) by A4,A3,Lm2;
  then |- f^<*'not' p '&' 'not' q*>^<*'not' q*> by A2,A4,Th33,Th41;
  then |- f^<*q*>^<*'not' ('not' p '&' 'not' q)*> by Th49;
  then
A5: |- f^<*q*>^<*p 'or' q*> by QC_LANG2:def 3;
  1 <= len (f^<*q*>) by Th10;
  then |- Ant(f^<*q*>)^<*p 'or' q*> by A1,A5,Th45;
  hence thesis by Th5;
end;
