reserve Al for QC-alphabet;
reserve PHI for Consistent Subset of CQC-WFF(Al),
        p,q,r,s for Element of CQC-WFF(Al),
        A for non empty set,
        J for interpretation of Al,A,
        v for Element of Valuations_in(Al,A),
        m,n,i,j,k for Nat,
        l for CQC-variable_list of k,Al,
        P for QC-pred_symbol of k,Al,
        x,y,z for bound_QC-variable of Al,
        b for QC-symbol of Al,
        PR for FinSequence of [:set_of_CQC-WFF-seq(Al),Proof_Step_Kinds:];
reserve Al2 for Al-expanding QC-alphabet,
        J2 for interpretation of Al2,A,
        Jp for interpretation of Al,A,
        v2 for Element of Valuations_in(Al2,A),
        vp for Element of Valuations_in(Al,A);

theorem Th21:
  for THETA being Subset of CQC-WFF(Al2) st PHI = THETA holds
  for A,J,v st J,v |= PHI
  ex A2 being non empty set, J2 being interpretation of Al2,A2,
     v2 being Element of Valuations_in (Al2,A2) st J2,v2 |= THETA
proof
  let THETA be Subset of CQC-WFF(Al2) such that
A1: PHI = THETA;
  let A,J,v such that
A2: J,v |= PHI;
  set J2 = (QC-pred_symbols(Al2) --> empty_rel(A)) +* J;
A3: dom J = QC-pred_symbols(Al) & dom (QC-pred_symbols(Al2) --> empty_rel(A)) =
   QC-pred_symbols(Al2) by FUNCT_2:def 1;
  then dom J2 = QC-pred_symbols(Al) \/ QC-pred_symbols(Al2) by FUNCT_4:def 1;
  then
A4: dom J2 = QC-pred_symbols(Al2) by Th3,XBOOLE_1:12;
  J in Funcs(QC-pred_symbols(Al),relations_on A) by FUNCT_2:8;
  then rng J c= relations_on A by FUNCT_2:92;
  then (rng(QC-pred_symbols(Al2) --> empty_rel(A))) \/
   (rng J) c= relations_on A & rng J2 c=(rng(QC-pred_symbols(Al2) -->
    empty_rel(A)))\/(rng J) by FUNCT_4:17,XBOOLE_1:8;
  then reconsider J2 as Function of QC-pred_symbols(Al2),relations_on A
   by A4,FUNCT_2:2,XBOOLE_1:1;
A5: J = J2|QC-pred_symbols(Al) by A3,FUNCT_4:23;
  for P2 being Element of QC-pred_symbols(Al2), r being Element of relations_on
   A st J2.P2 = r holds r = empty_rel(A) or the_arity_of P2 = the_arity_of r
  proof
    let P2 be Element of QC-pred_symbols(Al2), r be Element of relations_on A
    such that
A6:  J2.P2 = r;
    per cases;
    suppose P2 in QC-pred_symbols(Al);
      then consider P being QC-pred_symbol of Al such that
A7:    P = P2;
A8:   J.P = r by A3,A6,A7,FUNCT_4:13;
      7 + the_arity_of P2 = P`1 by A7,QC_LANG1:def 8 .= 7 + the_arity_of P
       by QC_LANG1:def 8;
      hence thesis by A8,VALUAT_1:def 5;
    end;
    suppose not P2 in QC-pred_symbols(Al);
      then not P2 in dom J by FUNCT_2:def 1;
      then J2.P2 = (QC-pred_symbols(Al2) --> empty_rel(A)).P2 by FUNCT_4:11
       .= empty_rel(A);
      hence thesis by A6;
    end;
  end;
  then reconsider J2 as interpretation of Al2,A by VALUAT_1:def 5;
  set a = the Element of A;
  set v2 = (bound_QC-variables(Al2) --> a) +* v;
  v in Valuations_in(Al,A);
  then v in Funcs(bound_QC-variables(Al),A) by VALUAT_1:def 1;
  then
A9: dom v = bound_QC-variables(Al) & dom (bound_QC-variables(Al2) --> a) =
   bound_QC-variables(Al2) by FUNCT_2:92;
  then dom v2=bound_QC-variables(Al)\/bound_QC-variables(Al2) by FUNCT_4:def 1;
  then
A10: dom v2 = bound_QC-variables(Al2) by Th4,XBOOLE_1:12;
  v in Valuations_in(Al,A);
  then v in Funcs(bound_QC-variables(Al),A) by VALUAT_1:def 1;
  then rng v c= A by FUNCT_2:92;
  then (rng (bound_QC-variables(Al2) --> a)) \/ (rng v) c= A &
   rng v2 c= (rng (bound_QC-variables(Al2) --> a)) \/ (rng v)
   by FUNCT_4:17, XBOOLE_1:8;
  then reconsider v2 as Function of bound_QC-variables(Al2),A
   by A10,FUNCT_2:2,XBOOLE_1:1;
A11: v = v2|bound_QC-variables(Al) by A9,FUNCT_4:23;
  v2 in Funcs(bound_QC-variables(Al2),A) by FUNCT_2:8;
  then reconsider v2 as Element of Valuations_in(Al2,A) by VALUAT_1:def 1;
  for p2 being Element of CQC-WFF(Al2) st p2 in THETA holds J2,v2 |= p2
  proof
    let p2 be Element of CQC-WFF(Al2) such that
A12:  p2 in THETA;
     consider p such that
A13:  p = p2 & p in PHI by A1,A12;
     J,v |= p by A2,A13,CALCUL_1:def 11;
     then J2,v2 |= Al2-Cast(p) by A5,A11,Th9;
     hence thesis by A13;
  end;
  hence thesis by CALCUL_1:def 11;
end;
