Lm2:
for A being set
for u, v being Element of (NormForm A) st u [= v holds
for x being Element of [:(Fin A),(Fin A):] st x in u holds
ex b being Element of DISJOINT_PAIRS A st
( b in v & b c= x )
Lm3:
for A being set
for u, v being Element of (NormForm A) st ( for a being Element of DISJOINT_PAIRS A st a in u holds
ex b being Element of DISJOINT_PAIRS A st
( b in v & b c= a ) ) holds
u [= v
definition
let A be
set ;
existence
ex b1 being BinOp of [:(Fin A),(Fin A):] st
for a, b being Element of [:(Fin A),(Fin A):] holds b1 . (a,b) = a \ b
correctness
uniqueness
for b1, b2 being BinOp of [:(Fin A),(Fin A):] st ( for a, b being Element of [:(Fin A),(Fin A):] holds b1 . (a,b) = a \ b ) & ( for a, b being Element of [:(Fin A),(Fin A):] holds b2 . (a,b) = a \ b ) holds
b1 = b2;
end;
Lm4:
Fin (DISJOINT_PAIRS {}) = {{},{[{},{}]}}
Lm5:
now for A being set
for K being Element of Normal_forms_on A
for b being Element of DISJOINT_PAIRS A
for f being Element of Funcs ((DISJOINT_PAIRS A),[:(Fin A),(Fin A):]) holds ((pair_diff A) .: (f,(incl (DISJOINT_PAIRS A)))) . b = (f . b) \ b
let A be
set ;
for K being Element of Normal_forms_on A
for b being Element of DISJOINT_PAIRS A
for f being Element of Funcs ((DISJOINT_PAIRS A),[:(Fin A),(Fin A):]) holds ((pair_diff A) .: (f,(incl (DISJOINT_PAIRS A)))) . b = (f . b) \ blet K be
Element of
Normal_forms_on A;
for b being Element of DISJOINT_PAIRS A
for f being Element of Funcs ((DISJOINT_PAIRS A),[:(Fin A),(Fin A):]) holds ((pair_diff A) .: (f,(incl (DISJOINT_PAIRS A)))) . b = (f . b) \ blet b be
Element of
DISJOINT_PAIRS A;
for f being Element of Funcs ((DISJOINT_PAIRS A),[:(Fin A),(Fin A):]) holds ((pair_diff A) .: (f,(incl (DISJOINT_PAIRS A)))) . b = (f . b) \ blet f be
Element of
Funcs (
(DISJOINT_PAIRS A),
[:(Fin A),(Fin A):]);
((pair_diff A) .: (f,(incl (DISJOINT_PAIRS A)))) . b = (f . b) \ bthus ((pair_diff A) .: (f,(incl (DISJOINT_PAIRS A)))) . b =
(pair_diff A) . (
(f . b),
((incl (DISJOINT_PAIRS A)) . b))
by FUNCOP_1:37
.=
(pair_diff A) . (
(f . b),
b)
by FUNCT_1:18
.=
(f . b) \ b
by Def5
;
verum
end;
Lm6:
for A being set
for a being Element of DISJOINT_PAIRS A
for u being Element of (NormForm A)
for K being Element of Normal_forms_on A st a in K ^ (K =>> (@ u)) holds
ex b being Element of DISJOINT_PAIRS A st
( b in u & b c= a )
deffunc H1( set ) -> Element of bool [:[: the carrier of (NormForm $1), the carrier of (NormForm $1):], the carrier of (NormForm $1):] = the L_join of (NormForm $1);
deffunc H2( set ) -> Element of bool [:[: the carrier of (NormForm $1), the carrier of (NormForm $1):], the carrier of (NormForm $1):] = the L_meet of (NormForm $1);
Lm7:
for A being set
for u, v being Element of (NormForm A) st v in SUB u holds
v "\/" ((diff u) . v) = u
Lm8:
for A being set
for a being Element of DISJOINT_PAIRS A
for u being Element of (NormForm A) ex v being Element of (NormForm A) st
( v in SUB u & (@ v) ^ {a} = {} & ( for b being Element of DISJOINT_PAIRS A st b in (diff u) . v holds
b \/ a in DISJOINT_PAIRS A ) )
Lm9:
now for A being set
for u, v being Element of (NormForm A) holds
( u "/\" H3(u,v) [= v & ( for w being Element of (NormForm A) st u "/\" v [= w holds
v [= H3(u,w) ) )
let A be
set ;
for u, v being Element of (NormForm A) holds
( u "/\" H3(u,v) [= v & ( for w being Element of (NormForm A) st u "/\" v [= w holds
v [= H3(u,w) ) )let u,
v be
Element of
(NormForm A);
( u "/\" H3(u,v) [= v & ( for w being Element of (NormForm A) st u "/\" v [= w holds
v [= H3(u,w) ) )deffunc H3(
Element of
(NormForm A),
Element of
(NormForm A))
-> Element of the
carrier of
(NormForm A) =
FinJoin (
(SUB $1),
(H2(A) .: ((pseudo_compl A),((StrongImpl A) [:] ((diff $1),$2)))));
set Psi =
H2(
A)
.: (
(pseudo_compl A),
((StrongImpl A) [:] ((diff u),v)));
A1:
now for w being Element of (NormForm A) st w in SUB u holds
(H2(A) [;] (u,(H2(A) .: ((pseudo_compl A),((StrongImpl A) [:] ((diff u),v)))))) . w [= v
let w be
Element of
(NormForm A);
( w in SUB u implies (H2(A) [;] (u,(H2(A) .: ((pseudo_compl A),((StrongImpl A) [:] ((diff u),v)))))) . w [= v )set u2 =
(diff u) . w;
set pc =
(pseudo_compl A) . w;
set si =
(StrongImpl A) . (
((diff u) . w),
v);
A2:
w "/\" (((pseudo_compl A) . w) "/\" ((StrongImpl A) . (((diff u) . w),v))) =
(w "/\" ((pseudo_compl A) . w)) "/\" ((StrongImpl A) . (((diff u) . w),v))
by LATTICES:def 7
.=
(Bottom (NormForm A)) "/\" ((StrongImpl A) . (((diff u) . w),v))
by Th23
.=
Bottom (NormForm A)
;
assume
w in SUB u
;
(H2(A) [;] (u,(H2(A) .: ((pseudo_compl A),((StrongImpl A) [:] ((diff u),v)))))) . w [= vthen A3:
w "\/" ((diff u) . w) = u
by Lm7;
(H2(A) [;] (u,(H2(A) .: ((pseudo_compl A),((StrongImpl A) [:] ((diff u),v)))))) . w =
H2(
A)
. (
u,
((H2(A) .: ((pseudo_compl A),((StrongImpl A) [:] ((diff u),v)))) . w))
by FUNCOP_1:53
.=
u "/\" ((H2(A) .: ((pseudo_compl A),((StrongImpl A) [:] ((diff u),v)))) . w)
by LATTICES:def 2
.=
u "/\" (H2(A) . (((pseudo_compl A) . w),(((StrongImpl A) [:] ((diff u),v)) . w)))
by FUNCOP_1:37
.=
u "/\" (((pseudo_compl A) . w) "/\" (((StrongImpl A) [:] ((diff u),v)) . w))
by LATTICES:def 2
.=
u "/\" (((pseudo_compl A) . w) "/\" ((StrongImpl A) . (((diff u) . w),v)))
by FUNCOP_1:48
.=
(w "/\" (((pseudo_compl A) . w) "/\" ((StrongImpl A) . (((diff u) . w),v)))) "\/" (((diff u) . w) "/\" (((pseudo_compl A) . w) "/\" ((StrongImpl A) . (((diff u) . w),v))))
by A3, LATTICES:def 11
.=
((diff u) . w) "/\" (((StrongImpl A) . (((diff u) . w),v)) "/\" ((pseudo_compl A) . w))
by A2
.=
(((diff u) . w) "/\" ((StrongImpl A) . (((diff u) . w),v))) "/\" ((pseudo_compl A) . w)
by LATTICES:def 7
;
then A4:
(H2(A) [;] (u,(H2(A) .: ((pseudo_compl A),((StrongImpl A) [:] ((diff u),v)))))) . w [= ((diff u) . w) "/\" ((StrongImpl A) . (((diff u) . w),v))
by LATTICES:6;
((diff u) . w) "/\" ((StrongImpl A) . (((diff u) . w),v)) [= v
by Th24;
hence
(H2(A) [;] (u,(H2(A) .: ((pseudo_compl A),((StrongImpl A) [:] ((diff u),v)))))) . w [= v
by A4, LATTICES:7;
verum
end;
u "/\" H3(
u,
v)
= FinJoin (
(SUB u),
(H2(A) [;] (u,(H2(A) .: ((pseudo_compl A),((StrongImpl A) [:] ((diff u),v)))))))
by LATTICE2:66;
hence
u "/\" H3(
u,
v)
[= v
by A1, LATTICE2:54;
for w being Element of (NormForm A) st u "/\" v [= w holds
v [= H3(u,w)let w be
Element of
(NormForm A);
( u "/\" v [= w implies v [= H3(u,w) )assume A5:
u "/\" v [= w
;
v [= H3(u,w)A6:
v = FinJoin (
(@ v),
(Atom A))
by Th10;
then A7:
u "/\" v = FinJoin (
(@ v),
(H2(A) [;] (u,(Atom A))))
by LATTICE2:66;
now for a being Element of DISJOINT_PAIRS A st a in @ v holds
(Atom A) . a [= H3(u,w)
set pf =
pseudo_compl A;
set sf =
(StrongImpl A) [:] (
(diff u),
w);
let a be
Element of
DISJOINT_PAIRS A;
( a in @ v implies (Atom A) . a [= H3(u,w) )assume
a in @ v
;
(Atom A) . a [= H3(u,w)then
(H2(A) [;] (u,(Atom A))) . a [= w
by A7, A5, LATTICE2:31;
then
H2(
A)
. (
u,
((Atom A) . a))
[= w
by FUNCOP_1:53;
then A8:
u "/\" ((Atom A) . a) [= w
by LATTICES:def 2;
consider v being
Element of
(NormForm A) such that A9:
v in SUB u
and A10:
(@ v) ^ {a} = {}
and A11:
for
b being
Element of
DISJOINT_PAIRS A st
b in (diff u) . v holds
b \/ a in DISJOINT_PAIRS A
by Lm8;
((diff u) . v) "/\" ((Atom A) . a) [= u "/\" ((Atom A) . a)
by Th22, LATTICES:9;
then
((diff u) . v) "/\" ((Atom A) . a) [= w
by A8, LATTICES:7;
then
(Atom A) . a [= (StrongImpl A) . (
((diff u) . v),
w)
by A11, Th26;
then A12:
(Atom A) . a [= ((StrongImpl A) [:] ((diff u),w)) . v
by FUNCOP_1:48;
A13:
((pseudo_compl A) . v) "/\" (((StrongImpl A) [:] ((diff u),w)) . v) =
H2(
A)
. (
((pseudo_compl A) . v),
(((StrongImpl A) [:] ((diff u),w)) . v))
by LATTICES:def 2
.=
(H2(A) .: ((pseudo_compl A),((StrongImpl A) [:] ((diff u),w)))) . v
by FUNCOP_1:37
;
(Atom A) . a [= (pseudo_compl A) . v
by A10, Th25;
then
(Atom A) . a [= (H2(A) .: ((pseudo_compl A),((StrongImpl A) [:] ((diff u),w)))) . v
by A12, A13, FILTER_0:7;
hence
(Atom A) . a [= H3(
u,
w)
by A9, LATTICE2:29;
verum
end;
hence
v [= H3(
u,
w)
by A6, LATTICE2:54;
verum
end;
Lm10:
for A being set holds NormForm A is implicative