defpred S1[ Element of F1(), Function of MP-WFF ,F1(), Element of MP-WFF ] means ( ( $3 = VERUM implies $1 = F2() ) & ( for p being MP-variable st $3 = @ p holds
$1 = F3(p) ) & ( for A being MP-wff st $3 = 'not' A holds
$1 = F4(($2 . A)) ) & ( for A being MP-wff st $3 = (#) A holds
$1 = F5(($2 . A)) ) & ( for A, B being MP-wff st $3 = A '&' B holds
$1 = F6(($2 . A),($2 . B)) ) );
defpred S2[ Function of MP-WFF ,F1(), Element of NAT ] means for A being MP-wff st card (dom A) <= $2 holds
( ( A = VERUM implies $1 . A = F2() ) & ( for p being MP-variable st A = @ p holds
$1 . A = F3(p) ) & ( for B being MP-wff st A = 'not' B holds
$1 . A = F4(($1 . B)) ) & ( for B being MP-wff st A = (#) B holds
$1 . A = F5(($1 . B)) ) & ( for B, C being MP-wff st A = B '&' C holds
$1 . A = F6(($1 . B),($1 . C)) ) );
defpred S3[ Element of NAT ] means ex F being Function of MP-WFF ,F1() st S2[F,$1];
A1:
S3[ 0 ]
A3:
for k being Element of NAT st S3[k] holds
S3[k + 1]
proof
let k be
Element of
NAT ;
:: thesis: ( S3[k] implies S3[k + 1] )
given F being
Function of
MP-WFF ,
F1()
such that A4:
S2[
F,
k]
;
:: thesis: S3[k + 1]
defpred S4[
Element of
MP-WFF ,
Element of
F1()]
means ( (
card (dom $1) <> k + 1 implies $2
= F . $1 ) & (
card (dom $1) = k + 1 implies
S1[$2,
F,$1] ) );
A5:
for
x being
Element of
MP-WFF ex
y being
Element of
F1() st
S4[
x,
y]
consider G being
Function of
MP-WFF ,
F1()
such that A11:
for
p being
Element of
MP-WFF holds
S4[
p,
G . p]
from FUNCT_2:sch 3(A5);
take H =
G;
:: thesis: S2[H,k + 1]
thus
S2[
H,
k + 1]
:: thesis: verumproof
let A be
Element of
MP-WFF ;
:: thesis: ( card (dom A) <= k + 1 implies ( ( A = VERUM implies H . A = F2() ) & ( for p being MP-variable st A = @ p holds
H . A = F3(p) ) & ( for B being MP-wff st A = 'not' B holds
H . A = F4((H . B)) ) & ( for B being MP-wff st A = (#) B holds
H . A = F5((H . B)) ) & ( for B, C being MP-wff st A = B '&' C holds
H . A = F6((H . B),(H . C)) ) ) )
set p =
card (dom A);
assume A12:
card (dom A) <= k + 1
;
:: thesis: ( ( A = VERUM implies H . A = F2() ) & ( for p being MP-variable st A = @ p holds
H . A = F3(p) ) & ( for B being MP-wff st A = 'not' B holds
H . A = F4((H . B)) ) & ( for B being MP-wff st A = (#) B holds
H . A = F5((H . B)) ) & ( for B, C being MP-wff st A = B '&' C holds
H . A = F6((H . B),(H . C)) ) )
thus
(
A = VERUM implies
H . A = F2() )
:: thesis: ( ( for p being MP-variable st A = @ p holds
H . A = F3(p) ) & ( for B being MP-wff st A = 'not' B holds
H . A = F4((H . B)) ) & ( for B being MP-wff st A = (#) B holds
H . A = F5((H . B)) ) & ( for B, C being MP-wff st A = B '&' C holds
H . A = F6((H . B),(H . C)) ) )
thus
for
p being
MP-variable st
A = @ p holds
H . A = F3(
p)
:: thesis: ( ( for B being MP-wff st A = 'not' B holds
H . A = F4((H . B)) ) & ( for B being MP-wff st A = (#) B holds
H . A = F5((H . B)) ) & ( for B, C being MP-wff st A = B '&' C holds
H . A = F6((H . B),(H . C)) ) )
thus
for
B being
MP-wff st
A = 'not' B holds
H . A = F4(
(H . B))
:: thesis: ( ( for B being MP-wff st A = (#) B holds
H . A = F5((H . B)) ) & ( for B, C being MP-wff st A = B '&' C holds
H . A = F6((H . B),(H . C)) ) )
thus
for
B being
MP-wff st
A = (#) B holds
H . A = F5(
(H . B))
:: thesis: for B, C being MP-wff st A = B '&' C holds
H . A = F6((H . B),(H . C))
thus
for
B,
C being
MP-wff st
A = B '&' C holds
H . A = F6(
(H . B),
(H . C))
:: thesis: verum
end;
end;
A31:
for n being Element of NAT holds S3[n]
from NAT_1:sch 1(A1, A3);
defpred S4[ set , set ] means ex A being Element of MP-WFF st
( A = $1 & ( for g being Function of MP-WFF ,F1() st S2[g, card (dom A)] holds
$2 = g . A ) );
A38:
for x being set st x in MP-WFF holds
ex y being set st S4[x,y]
proof
let x be
set ;
:: thesis: ( x in MP-WFF implies ex y being set st S4[x,y] )
assume
x in MP-WFF
;
:: thesis: ex y being set st S4[x,y]
then reconsider x' =
x as
Element of
MP-WFF ;
consider F being
Function of
MP-WFF ,
F1()
such that A39:
S2[
F,
card (dom x')]
by A31;
take
F . x
;
:: thesis: S4[x,F . x]
take
x'
;
:: thesis: ( x' = x & ( for g being Function of MP-WFF ,F1() st S2[g, card (dom x')] holds
F . x = g . x' ) )
thus
x = x'
;
:: thesis: for g being Function of MP-WFF ,F1() st S2[g, card (dom x')] holds
F . x = g . x'
let G be
Function of
MP-WFF ,
F1();
:: thesis: ( S2[G, card (dom x')] implies F . x = G . x' )
assume A40:
S2[
G,
card (dom x')]
;
:: thesis: F . x = G . x'
defpred S5[
Element of
MP-WFF ]
means (
card (dom $1) <= card (dom x') implies
F . $1
= G . $1 );
A41:
S5[
VERUM ]
A43:
for
p being
MP-variable holds
S5[
@ p]
A45:
for
A being
Element of
MP-WFF st
S5[
A] holds
S5[
'not' A]
A48:
for
A being
Element of
MP-WFF st
S5[
A] holds
S5[
(#) A]
A51:
for
A,
B being
Element of
MP-WFF st
S5[
A] &
S5[
B] holds
S5[
A '&' B]
for
p being
Element of
MP-WFF holds
S5[
p]
from MODAL_1:sch 1(A41, A43, A45, A48, A51);
hence
F . x = G . x'
;
:: thesis: verum
end;
consider F being Function such that
A56:
dom F = MP-WFF
and
A57:
for x being set st x in MP-WFF holds
S4[x,F . x]
from CLASSES1:sch 1(A38);
F is Function of MP-WFF ,F1()
then reconsider F = F as Function of MP-WFF ,F1() ;
take
F
; :: thesis: ( F . VERUM = F2() & ( for p being MP-variable holds F . (@ p) = F3(p) ) & ( for A being Element of MP-WFF holds F . ('not' A) = F4((F . A)) ) & ( for A being Element of MP-WFF holds F . ((#) A) = F5((F . A)) ) & ( for A, B being Element of MP-WFF holds F . (A '&' B) = F6((F . A),(F . B)) ) )
consider A being MP-wff such that
A62:
( A = VERUM & ( for g being Function of MP-WFF ,F1() st S2[g, card (dom A)] holds
F . VERUM = g . A ) )
by A57;
consider G being Function of MP-WFF ,F1() such that
A63:
S2[G, card (dom A)]
by A31;
F . VERUM = G . VERUM
by A62, A63;
hence
F . VERUM = F2()
by A62, A63; :: thesis: ( ( for p being MP-variable holds F . (@ p) = F3(p) ) & ( for A being Element of MP-WFF holds F . ('not' A) = F4((F . A)) ) & ( for A being Element of MP-WFF holds F . ((#) A) = F5((F . A)) ) & ( for A, B being Element of MP-WFF holds F . (A '&' B) = F6((F . A),(F . B)) ) )
thus
for p being MP-variable holds F . (@ p) = F3(p)
:: thesis: ( ( for A being Element of MP-WFF holds F . ('not' A) = F4((F . A)) ) & ( for A being Element of MP-WFF holds F . ((#) A) = F5((F . A)) ) & ( for A, B being Element of MP-WFF holds F . (A '&' B) = F6((F . A),(F . B)) ) )
thus
for A being Element of MP-WFF holds F . ('not' A) = F4((F . A))
:: thesis: ( ( for A being Element of MP-WFF holds F . ((#) A) = F5((F . A)) ) & ( for A, B being Element of MP-WFF holds F . (A '&' B) = F6((F . A),(F . B)) ) )proof
let A be
Element of
MP-WFF ;
:: thesis: F . ('not' A) = F4((F . A))
consider A1 being
MP-wff such that A66:
(
A1 = 'not' A & ( for
g being
Function of
MP-WFF ,
F1() st
S2[
g,
card (dom A1)] holds
F . ('not' A) = g . A1 ) )
by A57;
consider G being
Function of
MP-WFF ,
F1()
such that A67:
S2[
G,
card (dom A1)]
by A31;
A68:
for
k being
Element of
NAT st
k < card (dom ('not' A)) holds
S2[
G,
k]
proof
let k be
Element of
NAT ;
:: thesis: ( k < card (dom ('not' A)) implies S2[G,k] )
assume A69:
k < card (dom ('not' A))
;
:: thesis: S2[G,k]
let a be
Element of
MP-WFF ;
:: thesis: ( card (dom a) <= k implies ( ( a = VERUM implies G . a = F2() ) & ( for p being MP-variable st a = @ p holds
G . a = F3(p) ) & ( for B being MP-wff st a = 'not' B holds
G . a = F4((G . B)) ) & ( for B being MP-wff st a = (#) B holds
G . a = F5((G . B)) ) & ( for B, C being MP-wff st a = B '&' C holds
G . a = F6((G . B),(G . C)) ) ) )
assume
card (dom a) <= k
;
:: thesis: ( ( a = VERUM implies G . a = F2() ) & ( for p being MP-variable st a = @ p holds
G . a = F3(p) ) & ( for B being MP-wff st a = 'not' B holds
G . a = F4((G . B)) ) & ( for B being MP-wff st a = (#) B holds
G . a = F5((G . B)) ) & ( for B, C being MP-wff st a = B '&' C holds
G . a = F6((G . B),(G . C)) ) )
then
card (dom a) <= card (dom ('not' A))
by A69, XXREAL_0:2;
hence
( (
a = VERUM implies
G . a = F2() ) & ( for
p being
MP-variable st
a = @ p holds
G . a = F3(
p) ) & ( for
B being
MP-wff st
a = 'not' B holds
G . a = F4(
(G . B)) ) & ( for
B being
MP-wff st
a = (#) B holds
G . a = F5(
(G . B)) ) & ( for
B,
C being
MP-wff st
a = B '&' C holds
G . a = F6(
(G . B),
(G . C)) ) )
by A66, A67;
:: thesis: verum
end;
A70:
F . ('not' A) = G . ('not' A)
by A66, A67;
set k =
card (dom A);
card (dom A) < card (dom ('not' A))
by Th44;
then A71:
S2[
G,
card (dom A)]
by A68;
ex
B being
MP-wff st
(
B = A & ( for
g being
Function of
MP-WFF ,
F1() st
S2[
g,
card (dom B)] holds
F . A = g . B ) )
by A57;
then
F . A = G . A
by A71;
hence
F . ('not' A) = F4(
(F . A))
by A66, A67, A70;
:: thesis: verum
end;
thus
for A being Element of MP-WFF holds F . ((#) A) = F5((F . A))
:: thesis: for A, B being Element of MP-WFF holds F . (A '&' B) = F6((F . A),(F . B))proof
let A be
Element of
MP-WFF ;
:: thesis: F . ((#) A) = F5((F . A))
consider A1 being
MP-wff such that A72:
(
A1 = (#) A & ( for
g being
Function of
MP-WFF ,
F1() st
S2[
g,
card (dom A1)] holds
F . ((#) A) = g . A1 ) )
by A57;
consider G being
Function of
MP-WFF ,
F1()
such that A73:
S2[
G,
card (dom A1)]
by A31;
A74:
for
k being
Element of
NAT st
k < card (dom ((#) A)) holds
S2[
G,
k]
proof
let k be
Element of
NAT ;
:: thesis: ( k < card (dom ((#) A)) implies S2[G,k] )
assume A75:
k < card (dom ((#) A))
;
:: thesis: S2[G,k]
let a be
Element of
MP-WFF ;
:: thesis: ( card (dom a) <= k implies ( ( a = VERUM implies G . a = F2() ) & ( for p being MP-variable st a = @ p holds
G . a = F3(p) ) & ( for B being MP-wff st a = 'not' B holds
G . a = F4((G . B)) ) & ( for B being MP-wff st a = (#) B holds
G . a = F5((G . B)) ) & ( for B, C being MP-wff st a = B '&' C holds
G . a = F6((G . B),(G . C)) ) ) )
assume
card (dom a) <= k
;
:: thesis: ( ( a = VERUM implies G . a = F2() ) & ( for p being MP-variable st a = @ p holds
G . a = F3(p) ) & ( for B being MP-wff st a = 'not' B holds
G . a = F4((G . B)) ) & ( for B being MP-wff st a = (#) B holds
G . a = F5((G . B)) ) & ( for B, C being MP-wff st a = B '&' C holds
G . a = F6((G . B),(G . C)) ) )
then
card (dom a) <= card (dom ((#) A))
by A75, XXREAL_0:2;
hence
( (
a = VERUM implies
G . a = F2() ) & ( for
p being
MP-variable st
a = @ p holds
G . a = F3(
p) ) & ( for
B being
MP-wff st
a = 'not' B holds
G . a = F4(
(G . B)) ) & ( for
B being
MP-wff st
a = (#) B holds
G . a = F5(
(G . B)) ) & ( for
B,
C being
MP-wff st
a = B '&' C holds
G . a = F6(
(G . B),
(G . C)) ) )
by A72, A73;
:: thesis: verum
end;
A76:
F . ((#) A) = G . ((#) A)
by A72, A73;
set k =
card (dom A);
card (dom A) < card (dom ((#) A))
by Th45;
then A77:
S2[
G,
card (dom A)]
by A74;
ex
B being
MP-wff st
(
B = A & ( for
g being
Function of
MP-WFF ,
F1() st
S2[
g,
card (dom B)] holds
F . A = g . B ) )
by A57;
then
F . A = G . A
by A77;
hence
F . ((#) A) = F5(
(F . A))
by A72, A73, A76;
:: thesis: verum
end;
thus
for A, B being Element of MP-WFF holds F . (A '&' B) = F6((F . A),(F . B))
:: thesis: verumproof
let A,
B be
Element of
MP-WFF ;
:: thesis: F . (A '&' B) = F6((F . A),(F . B))
consider A1 being
MP-wff such that A78:
(
A1 = A '&' B & ( for
g being
Function of
MP-WFF ,
F1() st
S2[
g,
card (dom A1)] holds
F . (A '&' B) = g . A1 ) )
by A57;
consider G being
Function of
MP-WFF ,
F1()
such that A79:
S2[
G,
card (dom A1)]
by A31;
A80:
for
k being
Element of
NAT st
k < card (dom (A '&' B)) holds
S2[
G,
k]
proof
let k be
Element of
NAT ;
:: thesis: ( k < card (dom (A '&' B)) implies S2[G,k] )
assume A81:
k < card (dom (A '&' B))
;
:: thesis: S2[G,k]
let a be
Element of
MP-WFF ;
:: thesis: ( card (dom a) <= k implies ( ( a = VERUM implies G . a = F2() ) & ( for p being MP-variable st a = @ p holds
G . a = F3(p) ) & ( for B being MP-wff st a = 'not' B holds
G . a = F4((G . B)) ) & ( for B being MP-wff st a = (#) B holds
G . a = F5((G . B)) ) & ( for B, C being MP-wff st a = B '&' C holds
G . a = F6((G . B),(G . C)) ) ) )
assume
card (dom a) <= k
;
:: thesis: ( ( a = VERUM implies G . a = F2() ) & ( for p being MP-variable st a = @ p holds
G . a = F3(p) ) & ( for B being MP-wff st a = 'not' B holds
G . a = F4((G . B)) ) & ( for B being MP-wff st a = (#) B holds
G . a = F5((G . B)) ) & ( for B, C being MP-wff st a = B '&' C holds
G . a = F6((G . B),(G . C)) ) )
then
card (dom a) <= card (dom (A '&' B))
by A81, XXREAL_0:2;
hence
( (
a = VERUM implies
G . a = F2() ) & ( for
p being
MP-variable st
a = @ p holds
G . a = F3(
p) ) & ( for
B being
MP-wff st
a = 'not' B holds
G . a = F4(
(G . B)) ) & ( for
B being
MP-wff st
a = (#) B holds
G . a = F5(
(G . B)) ) & ( for
B,
C being
MP-wff st
a = B '&' C holds
G . a = F6(
(G . B),
(G . C)) ) )
by A78, A79;
:: thesis: verum
end;
A82:
F . (A '&' B) = G . (A '&' B)
by A78, A79;
set k1 =
card (dom A);
set k2 =
card (dom B);
card (dom A) < card (dom (A '&' B))
by Th46;
then A83:
S2[
G,
card (dom A)]
by A80;
ex
B1 being
MP-wff st
(
B1 = A & ( for
g being
Function of
MP-WFF ,
F1() st
S2[
g,
card (dom B1)] holds
F . A = g . B1 ) )
by A57;
then A84:
F . A = G . A
by A83;
card (dom B) < card (dom (A '&' B))
by Th46;
then A85:
S2[
G,
card (dom B)]
by A80;
ex
C being
MP-wff st
(
C = B & ( for
g being
Function of
MP-WFF ,
F1() st
S2[
g,
card (dom C)] holds
F . B = g . C ) )
by A57;
then
F . B = G . B
by A85;
hence
F . (A '&' B) = F6(
(F . A),
(F . B))
by A78, A79, A82, A84;
:: thesis: verum
end;