let Al be QC-alphabet ; :: thesis: for p being Element of CQC-WFF Al
for x being bound_QC-variable of Al
for A being non empty set
for J being interpretation of Al,A st ( for v being Element of Valuations_in (Al,A)
for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in p ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= p iff J,v . ((vS +* vS1) +* vS2) |= p ) ) holds
for v being Element of Valuations_in (Al,A)
for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in (All (x,p)) ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= All (x,p) iff J,v . ((vS +* vS1) +* vS2) |= All (x,p) )

let p be Element of CQC-WFF Al; :: thesis: for x being bound_QC-variable of Al
for A being non empty set
for J being interpretation of Al,A st ( for v being Element of Valuations_in (Al,A)
for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in p ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= p iff J,v . ((vS +* vS1) +* vS2) |= p ) ) holds
for v being Element of Valuations_in (Al,A)
for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in (All (x,p)) ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= All (x,p) iff J,v . ((vS +* vS1) +* vS2) |= All (x,p) )

let x be bound_QC-variable of Al; :: thesis: for A being non empty set
for J being interpretation of Al,A st ( for v being Element of Valuations_in (Al,A)
for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in p ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= p iff J,v . ((vS +* vS1) +* vS2) |= p ) ) holds
for v being Element of Valuations_in (Al,A)
for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in (All (x,p)) ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= All (x,p) iff J,v . ((vS +* vS1) +* vS2) |= All (x,p) )

let A be non empty set ; :: thesis: for J being interpretation of Al,A st ( for v being Element of Valuations_in (Al,A)
for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in p ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= p iff J,v . ((vS +* vS1) +* vS2) |= p ) ) holds
for v being Element of Valuations_in (Al,A)
for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in (All (x,p)) ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= All (x,p) iff J,v . ((vS +* vS1) +* vS2) |= All (x,p) )

let J be interpretation of Al,A; :: thesis: ( ( for v being Element of Valuations_in (Al,A)
for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in p ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= p iff J,v . ((vS +* vS1) +* vS2) |= p ) ) implies for v being Element of Valuations_in (Al,A)
for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in (All (x,p)) ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= All (x,p) iff J,v . ((vS +* vS1) +* vS2) |= All (x,p) ) )

assume A1: for v being Element of Valuations_in (Al,A)
for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in p ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= p iff J,v . ((vS +* vS1) +* vS2) |= p ) ; :: thesis: for v being Element of Valuations_in (Al,A)
for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in (All (x,p)) ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= All (x,p) iff J,v . ((vS +* vS1) +* vS2) |= All (x,p) )

let v be Element of Valuations_in (Al,A); :: thesis: for vS, vS1, vS2 being Val_Sub of A,Al st ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in (All (x,p)) ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 holds
( J,v . vS |= All (x,p) iff J,v . ((vS +* vS1) +* vS2) |= All (x,p) )

let vS, vS1, vS2 be Val_Sub of A,Al; :: thesis: ( ( for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in (All (x,p)) ) & ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 implies ( J,v . vS |= All (x,p) iff J,v . ((vS +* vS1) +* vS2) |= All (x,p) ) )

assume that
A2: for y being bound_QC-variable of Al st y in dom vS1 holds
not y in still_not-bound_in (All (x,p)) and
A3: ( ( for y being bound_QC-variable of Al st y in dom vS2 holds
vS2 . y = v . y ) & dom vS misses dom vS2 ) ; :: thesis: ( J,v . vS |= All (x,p) iff J,v . ((vS +* vS1) +* vS2) |= All (x,p) )
set vS19 = vS1 | ((dom vS1) \ {x});
set vS29 = vS2 | ((dom vS2) \ {x});
A4: for y being bound_QC-variable of Al st y in dom (vS2 | ((dom vS2) \ {x})) holds
(vS2 | ((dom vS2) \ {x})) . y = (v . vS) . y by A3, Th79;
A5: dom (vS2 | ((dom vS2) \ {x})) misses {x} by XBOOLE_1:63, XBOOLE_1:79;
A6: for y being bound_QC-variable of Al st y in dom (vS1 | ((dom vS1) \ {x})) holds
not y in still_not-bound_in p by A2, Th78;
A7: ( ( for a being Element of A holds J,(v . vS) . (x | a) |= p ) implies for a being Element of A holds J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p )
proof
assume A8: for a being Element of A holds J,(v . vS) . (x | a) |= p ; :: thesis: for a being Element of A holds J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p
let a be Element of A; :: thesis: J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p
dom (vS2 | ((dom vS2) \ {x})) misses dom (x | a) by A5;
then ( J,(v . vS) . (x | a) |= p iff J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p ) by A1, A6, A4;
hence J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p by A8; :: thesis: verum
end;
A9: dom (vS1 | ((dom vS1) \ {x})) misses {x} by XBOOLE_1:63, XBOOLE_1:79;
A10: for a being Element of A holds (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v . ((vS +* vS1) +* vS2)) . (x | a)
proof
let a be Element of A; :: thesis: (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v . ((vS +* vS1) +* vS2)) . (x | a)
dom (vS1 | ((dom vS1) \ {x})) misses dom (x | a) by A9;
then (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* (((vS1 | ((dom vS1) \ {x})) +* (x | a)) +* (vS2 | ((dom vS2) \ {x}))) by FUNCT_4:35;
then A11: (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 | ((dom vS1) \ {x})) +* ((x | a) +* (vS2 | ((dom vS2) \ {x})))) by FUNCT_4:14;
dom (vS2 | ((dom vS2) \ {x})) misses dom (x | a) by A5;
then (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 | ((dom vS1) \ {x})) +* ((vS2 | ((dom vS2) \ {x})) +* (x | a))) by A11, FUNCT_4:35;
then A12: (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* (((vS1 | ((dom vS1) \ {x})) +* (vS2 | ((dom vS2) \ {x}))) +* (x | a)) by FUNCT_4:14;
A13: now :: thesis: ( x in dom vS1 implies (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a)) )
assume x in dom vS1 ; :: thesis: (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a))
then A14: (vS1 | ((dom vS1) \ {x})) +* (x .--> (vS1 . x)) = vS1 by Th2;
A15: now :: thesis: ( not x in dom vS2 implies (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a)) )
assume not x in dom vS2 ; :: thesis: (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a))
then vS2 | ((dom vS2) \ {x}) = vS2 | (dom vS2) by ZFMISC_1:57;
then vS2 | ((dom vS2) \ {x}) = vS2 ;
then A16: (vS2 | ((dom vS2) \ {x})) +* {} = vS2 ;
( dom {} c= dom (x | a) & dom (x .--> (vS1 . x)) = dom (x | a) ) ;
hence (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a)) by A12, A14, A16, Th1; :: thesis: verum
end;
now :: thesis: ( x in dom vS2 implies (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a)) )
A17: dom (x .--> (vS2 . x)) = dom (x | a) ;
A18: dom (x .--> (vS1 . x)) = dom (x | a) ;
assume x in dom vS2 ; :: thesis: (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a))
then (vS2 | ((dom vS2) \ {x})) +* (x .--> (vS2 . x)) = vS2 by Th2;
hence (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a)) by A12, A14, A18, A17, Th1; :: thesis: verum
end;
hence (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a)) by A15; :: thesis: verum
end;
now :: thesis: ( not x in dom vS1 implies (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a)) )
A19: dom {} c= dom (x | a) ;
assume not x in dom vS1 ; :: thesis: (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a))
then vS1 | ((dom vS1) \ {x}) = vS1 | (dom vS1) by ZFMISC_1:57;
then A20: vS1 | ((dom vS1) \ {x}) = vS1 ;
then A21: (vS1 | ((dom vS1) \ {x})) +* {} = vS1 ;
A22: now :: thesis: ( x in dom vS2 implies (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a)) )
A23: dom (x .--> (vS2 . x)) = dom (x | a) ;
assume x in dom vS2 ; :: thesis: (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a))
then (vS2 | ((dom vS2) \ {x})) +* (x .--> (vS2 . x)) = vS2 by Th2;
hence (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a)) by A12, A21, A19, A23, Th1; :: thesis: verum
end;
now :: thesis: ( not x in dom vS2 implies (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a)) )
assume not x in dom vS2 ; :: thesis: (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a))
then vS2 | ((dom vS2) \ {x}) = vS2 | (dom vS2) by ZFMISC_1:57;
hence (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a)) by A12, A20; :: thesis: verum
end;
hence (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v +* vS) +* ((vS1 +* vS2) +* (x | a)) by A22; :: thesis: verum
end;
then (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = ((v +* vS) +* (vS1 +* vS2)) +* (x | a) by A13, FUNCT_4:14;
then (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (((v +* vS) +* vS1) +* vS2) +* (x | a) by FUNCT_4:14;
then (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = ((v +* (vS +* vS1)) +* vS2) +* (x | a) by FUNCT_4:14;
hence (v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v . ((vS +* vS1) +* vS2)) . (x | a) by FUNCT_4:14; :: thesis: verum
end;
A24: ( ( for a being Element of A holds J,(v . ((vS +* vS1) +* vS2)) . (x | a) |= p ) implies for a being Element of A holds J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p )
proof
assume A25: for a being Element of A holds J,(v . ((vS +* vS1) +* vS2)) . (x | a) |= p ; :: thesis: for a being Element of A holds J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p
let a be Element of A; :: thesis: J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p
(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v . ((vS +* vS1) +* vS2)) . (x | a) by A10;
hence J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p by A25; :: thesis: verum
end;
A26: ( ( for a being Element of A holds J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p ) implies for a being Element of A holds J,(v . vS) . (x | a) |= p )
proof
assume A27: for a being Element of A holds J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p ; :: thesis: for a being Element of A holds J,(v . vS) . (x | a) |= p
let a be Element of A; :: thesis: J,(v . vS) . (x | a) |= p
dom (vS2 | ((dom vS2) \ {x})) misses dom (x | a) by A5;
then ( J,(v . vS) . (x | a) |= p iff J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p ) by A1, A6, A4;
hence J,(v . vS) . (x | a) |= p by A27; :: thesis: verum
end;
( ( for a being Element of A holds J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p ) implies for a being Element of A holds J,(v . ((vS +* vS1) +* vS2)) . (x | a) |= p )
proof
assume A28: for a being Element of A holds J,(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) |= p ; :: thesis: for a being Element of A holds J,(v . ((vS +* vS1) +* vS2)) . (x | a) |= p
let a be Element of A; :: thesis: J,(v . ((vS +* vS1) +* vS2)) . (x | a) |= p
(v . vS) . (((x | a) +* (vS1 | ((dom vS1) \ {x}))) +* (vS2 | ((dom vS2) \ {x}))) = (v . ((vS +* vS1) +* vS2)) . (x | a) by A10;
hence J,(v . ((vS +* vS1) +* vS2)) . (x | a) |= p by A28; :: thesis: verum
end;
hence ( J,v . vS |= All (x,p) iff J,v . ((vS +* vS1) +* vS2) |= All (x,p) ) by A7, A26, A24, Th50; :: thesis: verum