let A be non empty set ; for x being bound_QC-variable
for p being Element of CQC-WFF
for J being interpretation of A st not x in still_not-bound_in p holds
for v, w being Element of Valuations_in A st ( for y being bound_QC-variable st x <> y holds
w . y = v . y ) holds
(Valid (p,J)) . v = (Valid (p,J)) . w
let x be bound_QC-variable; for p being Element of CQC-WFF
for J being interpretation of A st not x in still_not-bound_in p holds
for v, w being Element of Valuations_in A st ( for y being bound_QC-variable st x <> y holds
w . y = v . y ) holds
(Valid (p,J)) . v = (Valid (p,J)) . w
let p be Element of CQC-WFF ; for J being interpretation of A st not x in still_not-bound_in p holds
for v, w being Element of Valuations_in A st ( for y being bound_QC-variable st x <> y holds
w . y = v . y ) holds
(Valid (p,J)) . v = (Valid (p,J)) . w
let J be interpretation of A; ( not x in still_not-bound_in p implies for v, w being Element of Valuations_in A st ( for y being bound_QC-variable st x <> y holds
w . y = v . y ) holds
(Valid (p,J)) . v = (Valid (p,J)) . w )
defpred S1[ Element of CQC-WFF ] means ( not x in still_not-bound_in $1 implies for v, w being Element of Valuations_in A st ( for y being bound_QC-variable st x <> y holds
w . y = v . y ) holds
(Valid ($1,J)) . v = (Valid ($1,J)) . w );
A1:
now let s,
t be
Element of
CQC-WFF ;
for y being bound_QC-variable
for k being Element of NAT
for ll being CQC-variable_list of k
for P being QC-pred_symbol of k holds
( S1[ VERUM ] & S1[P ! ll] & ( S1[s] implies S1[ 'not' s] ) & ( S1[s] & S1[t] implies S1[s '&' t] ) & ( S1[s] implies S1[ All (y,s)] ) )let y be
bound_QC-variable;
for k being Element of NAT
for ll being CQC-variable_list of k
for P being QC-pred_symbol of k holds
( S1[ VERUM ] & S1[P ! ll] & ( S1[s] implies S1[ 'not' s] ) & ( S1[s] & S1[t] implies S1[s '&' t] ) & ( S1[s] implies S1[ All (y,s)] ) )let k be
Element of
NAT ;
for ll being CQC-variable_list of k
for P being QC-pred_symbol of k holds
( S1[ VERUM ] & S1[P ! ll] & ( S1[s] implies S1[ 'not' s] ) & ( S1[s] & S1[t] implies S1[s '&' t] ) & ( S1[s] implies S1[ All (y,s)] ) )let ll be
CQC-variable_list of
k;
for P being QC-pred_symbol of k holds
( S1[ VERUM ] & S1[P ! ll] & ( S1[s] implies S1[ 'not' s] ) & ( S1[s] & S1[t] implies S1[s '&' t] ) & ( S1[s] implies S1[ All (y,s)] ) )let P be
QC-pred_symbol of
k;
( S1[ VERUM ] & S1[P ! ll] & ( S1[s] implies S1[ 'not' s] ) & ( S1[s] & S1[t] implies S1[s '&' t] ) & ( S1[s] implies S1[ All (y,s)] ) )thus
S1[
VERUM ]
( S1[P ! ll] & ( S1[s] implies S1[ 'not' s] ) & ( S1[s] & S1[t] implies S1[s '&' t] ) & ( S1[s] implies S1[ All (y,s)] ) )A2:
rng ll c= bound_QC-variables
by RELAT_1:def 19;
thus
S1[
P ! ll]
( ( S1[s] implies S1[ 'not' s] ) & ( S1[s] & S1[t] implies S1[s '&' t] ) & ( S1[s] implies S1[ All (y,s)] ) )thus
(
S1[
s] implies
S1[
'not' s] )
( ( S1[s] & S1[t] implies S1[s '&' t] ) & ( S1[s] implies S1[ All (y,s)] ) )proof
assume A21:
( ( not
x in still_not-bound_in s implies for
v,
w being
Element of
Valuations_in A st ( for
y being
bound_QC-variable st
x <> y holds
w . y = v . y ) holds
(Valid (s,J)) . v = (Valid (s,J)) . w ) & not
x in still_not-bound_in ('not' s) )
;
for v, w being Element of Valuations_in A st ( for y being bound_QC-variable st x <> y holds
w . y = v . y ) holds
(Valid (('not' s),J)) . v = (Valid (('not' s),J)) . w
thus
for
v,
w being
Element of
Valuations_in A st ( for
y being
bound_QC-variable st
x <> y holds
w . y = v . y ) holds
(Valid (('not' s),J)) . v = (Valid (('not' s),J)) . w
verumproof
let v,
w be
Element of
Valuations_in A;
( ( for y being bound_QC-variable st x <> y holds
w . y = v . y ) implies (Valid (('not' s),J)) . v = (Valid (('not' s),J)) . w )
assume A22:
for
y being
bound_QC-variable st
x <> y holds
w . y = v . y
;
(Valid (('not' s),J)) . v = (Valid (('not' s),J)) . w
A23:
now assume A24:
(Valid (('not' s),J)) . v = FALSE
;
(Valid (('not' s),J)) . v = (Valid (('not' s),J)) . wthen
'not' ((Valid (s,J)) . v) = FALSE
by Th20;
then
(Valid (s,J)) . v = TRUE
by MARGREL1:41;
then
(Valid (s,J)) . w = TRUE
by A21, A22, QC_LANG3:11;
then
'not' ((Valid (s,J)) . w) = FALSE
by MARGREL1:41;
hence
(Valid (('not' s),J)) . v = (Valid (('not' s),J)) . w
by A24, Th20;
verum end;
now assume A25:
(Valid (('not' s),J)) . v = TRUE
;
(Valid (('not' s),J)) . v = (Valid (('not' s),J)) . wthen
'not' ((Valid (s,J)) . v) = TRUE
by Th20;
then
(Valid (s,J)) . v = FALSE
by MARGREL1:41;
then
(Valid (s,J)) . w = FALSE
by A21, A22, QC_LANG3:11;
then
'not' ((Valid (s,J)) . w) = TRUE
by MARGREL1:41;
hence
(Valid (('not' s),J)) . v = (Valid (('not' s),J)) . w
by A25, Th20;
verum end;
hence
(Valid (('not' s),J)) . v = (Valid (('not' s),J)) . w
by A23, XBOOLEAN:def 3;
verum
end;
end; thus
(
S1[
s] &
S1[
t] implies
S1[
s '&' t] )
( S1[s] implies S1[ All (y,s)] )proof
assume that A26:
( not
x in still_not-bound_in s implies for
v,
w being
Element of
Valuations_in A st ( for
y being
bound_QC-variable st
x <> y holds
w . y = v . y ) holds
(Valid (s,J)) . v = (Valid (s,J)) . w )
and A27:
( not
x in still_not-bound_in t implies for
v,
w being
Element of
Valuations_in A st ( for
y being
bound_QC-variable st
x <> y holds
w . y = v . y ) holds
(Valid (t,J)) . v = (Valid (t,J)) . w )
and A28:
not
x in still_not-bound_in (s '&' t)
;
for v, w being Element of Valuations_in A st ( for y being bound_QC-variable st x <> y holds
w . y = v . y ) holds
(Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . w
A29:
not
x in (still_not-bound_in s) \/ (still_not-bound_in t)
by A28, QC_LANG3:14;
thus
for
v,
w being
Element of
Valuations_in A st ( for
y being
bound_QC-variable st
x <> y holds
w . y = v . y ) holds
(Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . w
verumproof
let v,
w be
Element of
Valuations_in A;
( ( for y being bound_QC-variable st x <> y holds
w . y = v . y ) implies (Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . w )
assume A30:
for
y being
bound_QC-variable st
x <> y holds
w . y = v . y
;
(Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . w
A31:
now assume A32:
(Valid ((s '&' t),J)) . v = FALSE
;
(Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . wA33:
now assume
(Valid (s,J)) . v = FALSE
;
(Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . wthen
(Valid (s,J)) . w = FALSE
by A26, A29, A30, XBOOLE_0:def 3;
then
((Valid (s,J)) . w) '&' ((Valid (t,J)) . w) = FALSE
by MARGREL1:45;
hence
(Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . w
by A32, Th22;
verum end; A34:
now assume
(Valid (t,J)) . v = FALSE
;
(Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . wthen
(Valid (t,J)) . w = FALSE
by A27, A29, A30, XBOOLE_0:def 3;
then
((Valid (s,J)) . w) '&' ((Valid (t,J)) . w) = FALSE
by MARGREL1:45;
hence
(Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . w
by A32, Th22;
verum end;
((Valid (s,J)) . v) '&' ((Valid (t,J)) . v) = FALSE
by A32, Th22;
hence
(Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . w
by A33, A34, MARGREL1:45;
verum end;
now assume A35:
(Valid ((s '&' t),J)) . v = TRUE
;
(Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . wthen A36:
((Valid (s,J)) . v) '&' ((Valid (t,J)) . v) = TRUE
by Th22;
then
(Valid (t,J)) . v = TRUE
by MARGREL1:45;
then A37:
(Valid (t,J)) . w = TRUE
by A27, A29, A30, XBOOLE_0:def 3;
(Valid (s,J)) . v = TRUE
by A36, MARGREL1:45;
then
(Valid (s,J)) . w = TRUE
by A26, A29, A30, XBOOLE_0:def 3;
then
((Valid (s,J)) . w) '&' ((Valid (t,J)) . w) = TRUE
by A37;
hence
(Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . w
by A35, Th22;
verum end;
hence
(Valid ((s '&' t),J)) . v = (Valid ((s '&' t),J)) . w
by A31, XBOOLEAN:def 3;
verum
end;
end; thus
(
S1[
s] implies
S1[
All (
y,
s)] )
verumproof
assume that A38:
( not
x in still_not-bound_in s implies for
v,
w being
Element of
Valuations_in A st ( for
y being
bound_QC-variable st
x <> y holds
w . y = v . y ) holds
(Valid (s,J)) . v = (Valid (s,J)) . w )
and A39:
not
x in still_not-bound_in (All (y,s))
;
for v, w being Element of Valuations_in A st ( for y being bound_QC-variable st x <> y holds
w . y = v . y ) holds
(Valid ((All (y,s)),J)) . v = (Valid ((All (y,s)),J)) . w
A40:
not
x in (still_not-bound_in s) \ {y}
by A39, QC_LANG3:16;
thus
for
v,
w being
Element of
Valuations_in A st ( for
z being
bound_QC-variable st
x <> z holds
w . z = v . z ) holds
(Valid ((All (y,s)),J)) . v = (Valid ((All (y,s)),J)) . w
verumproof
let v,
w be
Element of
Valuations_in A;
( ( for z being bound_QC-variable st x <> z holds
w . z = v . z ) implies (Valid ((All (y,s)),J)) . v = (Valid ((All (y,s)),J)) . w )
assume A41:
for
z being
bound_QC-variable st
x <> z holds
w . z = v . z
;
(Valid ((All (y,s)),J)) . v = (Valid ((All (y,s)),J)) . w
A42:
now assume A43:
(Valid ((All (y,s)),J)) . v = FALSE
;
(Valid ((All (y,s)),J)) . v = (Valid ((All (y,s)),J)) . wthen
(FOR_ALL (y,(Valid (s,J)))) . v = FALSE
by Lm1;
then consider v1 being
Element of
Valuations_in A such that A44:
(Valid (s,J)) . v1 = FALSE
and A45:
for
z being
bound_QC-variable st
y <> z holds
v1 . z = v . z
by Th7;
then
(FOR_ALL (y,(Valid (s,J)))) . w = FALSE
by A40, A46, Th7, XBOOLE_0:def 5;
hence
(Valid ((All (y,s)),J)) . v = (Valid ((All (y,s)),J)) . w
by A43, Lm1;
verum end;
now assume A54:
(Valid ((All (y,s)),J)) . v = TRUE
;
(Valid ((All (y,s)),J)) . v = (Valid ((All (y,s)),J)) . wthen A55:
(FOR_ALL (y,(Valid (s,J)))) . v = TRUE
by Lm1;
for
v1 being
Element of
Valuations_in A st ( for
z being
bound_QC-variable st
y <> z holds
v1 . z = w . z ) holds
(Valid (s,J)) . v1 = TRUE
then
(FOR_ALL (y,(Valid (s,J)))) . w = TRUE
by Th8;
hence
(Valid ((All (y,s)),J)) . v = (Valid ((All (y,s)),J)) . w
by A54, Lm1;
verum end;
hence
(Valid ((All (y,s)),J)) . v = (Valid ((All (y,s)),J)) . w
by A42, XBOOLEAN:def 3;
verum
end;
end; end;
for s being Element of CQC-WFF holds S1[s]
from CQC_LANG:sch 1(A1);
hence
( not x in still_not-bound_in p implies for v, w being Element of Valuations_in A st ( for y being bound_QC-variable st x <> y holds
w . y = v . y ) holds
(Valid (p,J)) . v = (Valid (p,J)) . w )
; verum