reserve X,Y for set, x,y,z for object, i,j,n for natural number;
reserve
  n for non empty Nat,
  S for non empty non void n PC-correct PCLangSignature,
  L for language MSAlgebra over S,
  F for PC-theory of L,
  A,B,C,D for Formula of L;
reserve
  J for non empty non void Signature,
  T for non-empty MSAlgebra over J,
  X for non empty-yielding GeneratorSet of T,
  S1 for J-extension non empty non void n PC-correct QC-correct
  QCLangSignature over Union X,
  L for non-empty Language of X extended_by ({},the carrier of S1), S1,
  G for QC-theory of L,
  A,B,C,D for Formula of L;
reserve x,y,z for Element of Union X;
reserve x0,y0,z0 for Element of Union (X extended_by ({},the carrier of S1));

theorem Th121:
       L is subst-correct vf-qc-correct implies
  \for(x,A\impB)\imp(\ex(x,A)\imp\ex(x,B)) in G
  proof assume
A1: L is subst-correct vf-qc-correct;
A2: \for(x,A\impB)\imp(\for(x,\notB)\imp\for(x,\notA)) in G by A1,Th117;
    \for(x,\notB)\imp\for(x,\notA)\imp(\not\for(x,\notA)\imp\not\for(x,\notB))
    in G by Th57;
    then
A3: \for(x,A\impB)\imp(\not\for(x,\notA)\imp\not\for(x,\notB)) in G by A2,Th45;
    \not\ex(x,A)\iff\for(x,\notA) in G by Def39;
    then \for(x,\notA)\imp\not\ex(x,A) in G by Th43;
    then \not\not\ex(x,A)\imp\not\for(x,\notA) in G &
    \ex(x,A)\imp\not\not\ex(x,A) in G by Th64,Th58;
    then
A4: \ex(x,A)\imp\not\for(x,\notA) in G by Th45;
    \not\ex(x,B)\iff\for(x,\notB) in G by Def39;
    then \not\ex(x,B)\imp\for(x,\notB) in G by Th43;
    then \not\for(x,\notB)\imp\not\not\ex(x,B) in G &
    (\not\not\ex(x,B))\imp\ex(x,B) in G by Th65,Th58;
    then \not\for(x,\notB)\imp\ex(x,B) in G by Th45;
    then \not\for(x,\notA)\imp\not\for(x,\notB)\imp(\ex(x,A)\imp\ex(x,B)) in G
    by A4,Th103;
    hence \for(x,A\impB)\imp(\ex(x,A)\imp\ex(x,B)) in G by A3,Th45;
  end;
