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 Th86:
  [S,x] is quantifiable implies ex vS1,vS2 st (for y st y in dom
  vS1 holds not y in still_not-bound_in All(x,S`1)) & (for y st y in dom vS2
  holds vS2.y = v.y) & dom NEx_Val(v,S,x,xSQ) misses dom vS2 & v.Val_S(v,
  CQCSub_All([S,x],xSQ)) = v.(NEx_Val(v,S,x,xSQ) +* vS1 +* vS2)
proof
  set S1 = CQCSub_All([S,x],xSQ);
  assume [S,x] is quantifiable;
  then
A1: Val_S(v,S1) = ((@RestrictSub(x,All(x,S`1),xSQ) +* (@xSQ)|RSub1(All(x,S`1
  ))) +* (@xSQ)|RSub2(All(x,S`1),xSQ))*v by Th85;
  take vS1 = (@xSQ)|RSub1(All(x,S`1))*v;
  take vS2 = (@xSQ)|RSub2(All(x,S`1),xSQ)*v;
  rng ((@xSQ)|RSub1(All(x,S`1))) c= bound_QC-variables(Al);
  then
A2: rng ((@xSQ)|RSub1(All(x,S`1))) c= dom v by Th58;
  thus for y st y in dom vS1 holds not y in still_not-bound_in All(x,S`1)
  proof
    let y;
    assume y in dom vS1;
    then y in dom ((@xSQ)|RSub1(All(x,S`1))) by A2,RELAT_1:27;
    then y in dom @xSQ /\ RSub1(All(x,S`1)) by RELAT_1:61;
    then y in RSub1(All(x,S`1)) by XBOOLE_0:def 4;
    then ex y1 st y1 = y & not y1 in still_not-bound_in All(x,S`1 ) by Def9;
    hence thesis;
  end;
  rng ((@xSQ)|RSub2(All(x,S`1),xSQ)) c= bound_QC-variables(Al);
  then
A3: rng ((@xSQ)|RSub2(All(x,S`1),xSQ)) c= dom v by Th58;
  thus for y st y in dom vS2 holds vS2.y = v.y
  proof
    let y;
    assume y in dom vS2;
    then
A4: y in dom ((@xSQ)|RSub2(All(x,S`1),xSQ)) by A3,RELAT_1:27;
    then y in dom @xSQ /\ RSub2(All(x,S`1),xSQ) by RELAT_1:61;
    then y in RSub2(All(x,S`1),xSQ) by XBOOLE_0:def 4;
    then
    ex y1 st y1 = y & y1 in still_not-bound_in All(x,S`1) & y1 = (@xSQ).y1
    by Def10;
    then v.y = v.(((@xSQ)|RSub2(All(x,S`1),xSQ)).y) by A4,FUNCT_1:47;
    hence thesis by A4,FUNCT_1:13;
  end;
  thus dom NEx_Val(v,S,x,xSQ) misses dom vS2
  proof
    set X = {y : y in still_not-bound_in All(x,S`1) & y is Element of dom xSQ
    & y <> x & y <> xSQ.y};
    RestrictSub(x,All(x,S`1),xSQ) = (xSQ|X) by SUBSTUT1:def 6;
    then RestrictSub(x,All(x,S`1),xSQ) = (@xSQ)|X by SUBSTUT1:def 2;
    then dom NEx_Val(v,S,x,xSQ) = dom ((@xSQ)|X) by Th71;
    then
A5: dom NEx_Val(v,S,x,xSQ) = dom (@xSQ) /\ X by RELAT_1:61;
    dom vS2 = dom ((@xSQ)|RSub2(All(x,S`1),xSQ)) by A3,RELAT_1:27;
    then
A6: dom vS2 = dom @xSQ /\ RSub2(All(x,S`1),xSQ) by RELAT_1:61;
    now
      assume dom NEx_Val(v,S,x,xSQ) meets dom vS2;
      then consider b being object such that
A7:   b in dom NEx_Val(v,S,x,xSQ) and
A8:   b in dom vS2 by XBOOLE_0:3;
      b in X by A5,A7,XBOOLE_0:def 4;
      then
A9:   ex y st y = b & y in still_not-bound_in All(x,S`1) & y is Element of
      dom xSQ & y <> x & y <> xSQ.y;
      b in RSub2(All(x,S`1),xSQ) by A6,A8,XBOOLE_0:def 4;
      then
      ex y1 st y1 = b & y1 in still_not-bound_in All(x,S`1) & y1 = (@xSQ).
      y1 by Def10;
      hence contradiction by A9,SUBSTUT1:def 2;
    end;
    hence thesis;
  end;
  (@RestrictSub(x,All(x,S`1),xSQ) +* (@xSQ)|RSub1(All(x,S`1)))*v = (@
RestrictSub(x,All(x,S`1),xSQ)*v) +* ((@xSQ)|RSub1(All(x,S`1))*v) by A2,
FUNCT_7:9;
  hence thesis by A1,A3,FUNCT_7:9;
end;
