let Al be QC-alphabet ; for Al2 being Al -expanding QC-alphabet
for p2 being Element of CQC-WFF Al2
for S being finite CQC_Substitution of Al
for S2 being finite CQC_Substitution of Al2
for p being Element of CQC-WFF Al st S = S2 & p = p2 holds
upVar (S,p) = upVar (S2,p2)
let Al2 be Al -expanding QC-alphabet ; for p2 being Element of CQC-WFF Al2
for S being finite CQC_Substitution of Al
for S2 being finite CQC_Substitution of Al2
for p being Element of CQC-WFF Al st S = S2 & p = p2 holds
upVar (S,p) = upVar (S2,p2)
let p2 be Element of CQC-WFF Al2; for S being finite CQC_Substitution of Al
for S2 being finite CQC_Substitution of Al2
for p being Element of CQC-WFF Al st S = S2 & p = p2 holds
upVar (S,p) = upVar (S2,p2)
let S be finite CQC_Substitution of Al; for S2 being finite CQC_Substitution of Al2
for p being Element of CQC-WFF Al st S = S2 & p = p2 holds
upVar (S,p) = upVar (S2,p2)
let S2 be finite CQC_Substitution of Al2; for p being Element of CQC-WFF Al st S = S2 & p = p2 holds
upVar (S,p) = upVar (S2,p2)
let p be Element of CQC-WFF Al; ( S = S2 & p = p2 implies upVar (S,p) = upVar (S2,p2) )
assume A1:
( S = S2 & p = p2 )
; upVar (S,p) = upVar (S2,p2)
A2:
Sub_Var S = Sub_Var S2
proof
for
s being
object st
s in Sub_Var S holds
s in Sub_Var S2
hence
Sub_Var S c= Sub_Var S2
;
XBOOLE_0:def 10 Sub_Var S2 c= Sub_Var S
for
s being
object st
s in Sub_Var S2 holds
s in Sub_Var S
proof
let s be
object ;
( s in Sub_Var S2 implies s in Sub_Var S )
assume A6:
s in Sub_Var S2
;
s in Sub_Var S
s in { t where t is QC-symbol of Al2 : x. t in rng S2 }
by A6, SUBSTUT1:def 10;
then consider s2 being
QC-symbol of
Al2 such that A7:
(
s = s2 &
x. s2 in rng S2 )
;
A8:
rng (@ S) c= bound_QC-variables Al
by SUBSTUT1:39;
x. s2 in rng (@ S)
by A1, A7, SUBSTUT1:def 2;
then
x. s2 in bound_QC-variables Al
by A8;
then
[4,s2] in [:{4},(QC-symbols Al):]
by QC_LANG3:def 2;
then
s2 in QC-symbols Al
by ZFMISC_1:87;
then consider s3 being
QC-symbol of
Al such that A9:
s3 = s2
;
x. s2 =
[4,s2]
by QC_LANG3:def 2
.=
x. s3
by A9, QC_LANG3:def 2
;
then
s3 in { t where t is QC-symbol of Al : x. t in rng S }
by A1, A7;
hence
s in Sub_Var S
by A7, A9, SUBSTUT1:def 10;
verum
end;
hence
Sub_Var S2 c= Sub_Var S
;
verum
end;
defpred S1[ Element of QC-WFF Al] means for q2 being Element of CQC-WFF Al2 st $1 = q2 holds
Bound_Vars $1 = Bound_Vars q2;
A10:
S1[ VERUM Al]
A12:
for k being Nat
for P being QC-pred_symbol of k,Al
for l being CQC-variable_list of k,Al holds S1[P ! l]
A15:
for r, s being Element of CQC-WFF Al st S1[r] & S1[s] holds
S1[r '&' s]
A21:
for r being Element of CQC-WFF Al st S1[r] holds
S1[ 'not' r]
A26:
for x being bound_QC-variable of Al
for r being Element of CQC-WFF Al st S1[r] holds
S1[ All (x,r)]
proof
let x be
bound_QC-variable of
Al;
for r being Element of CQC-WFF Al st S1[r] holds
S1[ All (x,r)]let r be
Element of
CQC-WFF Al;
( S1[r] implies S1[ All (x,r)] )
assume A27:
S1[
r]
;
S1[ All (x,r)]
set q =
All (
x,
r);
set r2 =
Al2 -Cast r;
set x2 =
Al2 -Cast x;
let q2 be
Element of
CQC-WFF Al2;
( All (x,r) = q2 implies Bound_Vars (All (x,r)) = Bound_Vars q2 )
assume A28:
All (
x,
r)
= q2
;
Bound_Vars (All (x,r)) = Bound_Vars q2
A29:
q2 = All (
(Al2 -Cast x),
(Al2 -Cast r))
by A28;
then
(
All (
x,
r) is
universal &
q2 is
universal )
;
then A30:
(
the_scope_of (All (x,r)) = r &
bound_in (All (x,r)) = x &
the_scope_of q2 = Al2 -Cast r &
bound_in q2 = Al2 -Cast x )
by A29, QC_LANG1:def 27, QC_LANG1:def 28;
thus Bound_Vars (All (x,r)) =
(Bound_Vars r) \/ {x}
by A30, SUBSTUT1:6, QC_LANG1:def 21
.=
(Bound_Vars (Al2 -Cast r)) \/ {(Al2 -Cast x)}
by A27
.=
Bound_Vars q2
by A29, A30, SUBSTUT1:6, QC_LANG1:def 21
;
verum
end;
A31:
for r, s being Element of CQC-WFF Al
for x being bound_QC-variable of Al
for k being Nat
for l being CQC-variable_list of k,Al
for P being QC-pred_symbol of k,Al holds
( S1[ VERUM Al] & S1[P ! l] & ( S1[r] implies S1[ 'not' r] ) & ( S1[r] & S1[s] implies S1[r '&' s] ) & ( S1[r] implies S1[ All (x,r)] ) )
by A10, A12, A15, A21, A26;
A32:
for q being Element of CQC-WFF Al holds S1[q]
from CQC_LANG:sch 1(A31);
A33:
Dom_Bound_Vars p = Dom_Bound_Vars p2
proof
for
s being
object st
s in Dom_Bound_Vars p holds
s in Dom_Bound_Vars p2
proof
let s be
object ;
( s in Dom_Bound_Vars p implies s in Dom_Bound_Vars p2 )
assume A34:
s in Dom_Bound_Vars p
;
s in Dom_Bound_Vars p2
s in { b where b is QC-symbol of Al : x. b in Bound_Vars p }
by A34, SUBSTUT1:def 9;
then consider s2 being
QC-symbol of
Al such that A35:
(
s = s2 &
x. s2 in Bound_Vars p )
;
x. s2 in Bound_Vars p2
by A1, A32, A35;
then
x. s2 in bound_QC-variables Al2
;
then
[4,s2] in [:{4},(QC-symbols Al2):]
by QC_LANG3:def 2;
then
s2 in QC-symbols Al2
by ZFMISC_1:87;
then consider s3 being
QC-symbol of
Al2 such that A36:
s3 = s2
;
x. s2 =
[4,s2]
by QC_LANG3:def 2
.=
x. s3
by A36, QC_LANG3:def 2
;
then
x. s3 in Bound_Vars p2
by A1, A32, A35;
then
s3 in { b where b is QC-symbol of Al2 : x. b in Bound_Vars p2 }
;
hence
s in Dom_Bound_Vars p2
by A35, A36, SUBSTUT1:def 9;
verum
end;
hence
Dom_Bound_Vars p c= Dom_Bound_Vars p2
;
XBOOLE_0:def 10 Dom_Bound_Vars p2 c= Dom_Bound_Vars p
for
s being
object st
s in Dom_Bound_Vars p2 holds
s in Dom_Bound_Vars p
proof
let s be
object ;
( s in Dom_Bound_Vars p2 implies s in Dom_Bound_Vars p )
assume A37:
s in Dom_Bound_Vars p2
;
s in Dom_Bound_Vars p
s in { b where b is QC-symbol of Al2 : x. b in Bound_Vars p2 }
by A37, SUBSTUT1:def 9;
then consider s2 being
QC-symbol of
Al2 such that A38:
(
s = s2 &
x. s2 in Bound_Vars p2 )
;
x. s2 in Bound_Vars p
by A1, A32, A38;
then
x. s2 in bound_QC-variables Al
;
then
[4,s2] in [:{4},(QC-symbols Al):]
by QC_LANG3:def 2;
then
s2 in QC-symbols Al
by ZFMISC_1:87;
then consider s3 being
QC-symbol of
Al such that A39:
s3 = s2
;
x. s2 =
[4,s2]
by QC_LANG3:def 2
.=
x. s3
by A39, QC_LANG3:def 2
;
then
x. s3 in Bound_Vars p
by A1, A32, A38;
then
s3 in { b where b is QC-symbol of Al : x. b in Bound_Vars p }
;
hence
s in Dom_Bound_Vars p
by A38, A39, SUBSTUT1:def 9;
verum
end;
hence
Dom_Bound_Vars p2 c= Dom_Bound_Vars p
;
verum
end;
A40: NSub (p,S) =
NAT \ ((Dom_Bound_Vars p) \/ (Sub_Var S))
by SUBSTUT1:def 11
.=
NSub (p2,S2)
by A2, A33, SUBSTUT1:def 11
;
thus upVar (S,p) =
the Element of NSub (p,S)
by SUBSTUT1:def 12
.=
upVar (S2,p2)
by A40, SUBSTUT1:def 12
; verum