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 Th55:
  [S,x] is quantifiable implies for a holds NEx_Val(v.((S_Bound(@
  CQCSub_All([S,x],xSQ)))|a),S,x,xSQ) = NEx_Val(v,S,x,xSQ)
proof
  assume
A1: [S,x] is quantifiable;
  set finSub = RestrictSub(x,All(x,S`1),xSQ);
  set NF1 = NEx_Val(v,S,x,xSQ);
  set S1 = CQCSub_All([S,x],xSQ);
  let a;
  set z = S_Bound(@S1);
  set NF = NEx_Val(v.(z|a),S,x,xSQ);
  v is Element of Funcs(bound_QC-variables(Al),A) by VALUAT_1:def 1;
  then ex f st v = f & dom f = bound_QC-variables(Al) & rng f c= A
   by FUNCT_2:def 2;
  then rng @finSub c= dom v;
  then
A2: dom NF1 = dom @finSub by RELAT_1:27;
  v.(z|a) is Element of Funcs(bound_QC-variables(Al),A) by VALUAT_1:def 1;
  then ex f st v.(z|a) = f & dom f = bound_QC-variables(Al) & rng f c= A by
FUNCT_2:def 2;
  then
A3: rng @finSub c= dom (v.(z|a));
  then
A4: dom NF = dom @finSub by RELAT_1:27;
  for b being object st b in dom NF holds NF.b = NF1.b
  proof
    let b being object such that
A5: b in dom NF;
A6: @finSub.b in rng @finSub by A4,A5,FUNCT_1:3;
    then reconsider x = @finSub.b as bound_QC-variable of Al;
    not z in rng finSub by A1,Th40;
    then z <> x by A6,SUBSTUT1:def 2;
    then
A7: v.(z|a).x = v.x by Th48;
    NF.b = (v.(z|a)).x by A5,FUNCT_1:12;
    hence thesis by A4,A2,A5,A7,FUNCT_1:12;
  end;
  hence thesis by A3,A2,FUNCT_1:2,RELAT_1:27;
end;
