reserve Al for QC-alphabet;
reserve a,b,c,d for object,
  i,k,n for Nat,
  p,q for Element of CQC-WFF(Al),
  x,y,y1 for bound_QC-variable of Al,
  A for non empty set,
  J for interpretation of Al,A,
  v,w for Element of Valuations_in(Al,A),
  f,g for Function,
  P,P9 for QC-pred_symbol of k,Al,
  ll,ll9 for CQC-variable_list of k,Al,
  l1 for FinSequence of QC-variables(Al),
  Sub,Sub9,Sub1 for CQC_Substitution of Al,
  S,S9,S1,S2 for Element of CQC-Sub-WFF(Al),
  s for QC-symbol of Al;
reserve vS,vS1,vS2 for Val_Sub of A,Al;
reserve B for Element of [:QC-Sub-WFF(Al),bound_QC-variables(Al):],
  SQ for second_Q_comp of B;
reserve B for CQC-WFF-like Element of [:QC-Sub-WFF(Al),
  bound_QC-variables(Al):],
  xSQ for second_Q_comp of [S,x],
  SQ for second_Q_comp of B;
reserve B1 for Element of [:QC-Sub-WFF(Al),bound_QC-variables(Al):];
reserve SQ1 for second_Q_comp of B1;
reserve a for Element of A;

theorem Th74:
  for v,vS,vS1,vS2 st (for y st y in dom vS1 holds not y in
  still_not-bound_in ll) & (for y st y in dom vS2 holds vS2.y = v.y) & dom vS
  misses dom vS2 holds (v.vS)*'ll = (v.(vS+*vS1+*vS2))*'ll
proof
  let v,vS,vS1,vS2 such that
A1: for y st y in dom vS1 holds not y in still_not-bound_in ll and
A2: for y st y in dom vS2 holds vS2.y = v.y and
A3: dom vS misses dom vS2;
  set ll2 = (v.(vS+*vS1+*vS2))*'ll;
  set ll1 = (v.vS)*'ll;
A4: len ll1 = k by VALUAT_1:def 3;
  then
A5: dom ll1 = Seg k by FINSEQ_1:def 3;
A6: len ll2 = k by VALUAT_1:def 3;
  for i be Nat st i in dom ll1 holds ll1.i = ll2.i
  proof
    let i be Nat such that
A7: i in dom ll1;
A8: i in dom ll2 by A6,A5,A7,FINSEQ_1:def 3;
    reconsider i as Nat;
A9: dom ll2 c= dom ll by RELAT_1:25;
A10: now
      reconsider x = ll.i as bound_QC-variable of Al by A8,A9,Th5;
      assume
A11:  ll.i in dom (vS+*vS1+*vS2);
A12:  now
A13:    now
          len ll = k by SUBSTUT1:34;
          then
A14:      i <= len ll by A5,A7,FINSEQ_1:1;
          1 <= i by A5,A7,FINSEQ_1:1;
          then
          x in { ll.n : 1 <= n & n <= len ll & ll.n in bound_QC-variables(Al)
          } by A14;
          then
A15:      x in variables_in(ll,bound_QC-variables(Al)) by QC_LANG3:def 1;
          assume x in dom vS1;
          then not x in still_not-bound_in ll by A1;
          hence contradiction by A15,QC_LANG3:2;
        end;
        assume
A16:    not x in dom vS2;
        then
A17:    (vS+*vS1+*vS2).x = (vS+*vS1).x by FUNCT_4:11;
A18:    x in dom (vS+*vS1) by A11,A16,FUNCT_4:12;
        now
          assume
A19:      not x in dom vS1;
          then (vS+*vS1+*vS2).x = vS.x by A17,FUNCT_4:11;
          then
A20:      (v+*(vS+*vS1+*vS2)).x = vS.x by A11,FUNCT_4:13;
          x in dom vS by A18,A19,FUNCT_4:12;
          then v.(vS+*vS1+*vS2).x = (v+*vS).x by A20,FUNCT_4:13;
          then ll2.i = (v.vS).x by A8,FUNCT_1:12;
          hence thesis by A7,FUNCT_1:12;
        end;
        hence thesis by A13;
      end;
      now
        assume
A21:    x in dom vS2;
        then (vS+*vS1+*vS2).x = vS2.x by FUNCT_4:13;
        then (vS+*vS1+*vS2).x = v.x by A2,A21;
        then (v+*(vS+*vS1+*vS2)).x = v.x by A11,FUNCT_4:13;
        then
A22:    ll2.i = v.x by A8,FUNCT_1:12;
        not x in dom vS by A3,A21,XBOOLE_0:3;
        then (v+*vS).x = v.x by FUNCT_4:11;
        hence thesis by A7,A22,FUNCT_1:12;
      end;
      hence thesis by A12;
    end;
    now
      assume
A23:  not ll.i in dom (vS+*vS1+*vS2);
      then not ll.i in dom (vS +* vS1) by FUNCT_4:12;
      then not ll.i in dom vS by FUNCT_4:12;
      then (v+*vS).(ll.i) = v.(ll.i) by FUNCT_4:11;
      then
A24:  ll1.i = v.(ll.i) by A7,FUNCT_1:12;
      (v+*(vS+*vS1+*vS2)).(ll.i) = v.(ll.i) by A23,FUNCT_4:11;
      hence thesis by A8,A24,FUNCT_1:12;
    end;
    hence thesis by A10;
  end;
  hence thesis by A4,A6,FINSEQ_2:9;
end;
