:: HEYTING1 semantic presentation
theorem Th1: :: HEYTING1:1
:: deftheorem Def1 defines c= HEYTING1:def 1 :
:: deftheorem Def2 defines [ HEYTING1:def 2 :
theorem Th2: :: HEYTING1:2
canceled;
theorem Th3: :: HEYTING1:3
:: deftheorem Def3 defines @ HEYTING1:def 3 :
Lemma41:
for A being set
for u, v being Element of (NormForm A) holds mi ((@ u) ^ (@ v)) = the L_meet of (NormForm A) . u,v
by NORMFORM:def 14;
Lemma42:
for A being set
for u, v being Element of (NormForm A) holds mi ((@ u) \/ (@ v)) = the L_join of (NormForm A) . u,v
by NORMFORM:def 14;
theorem Th4: :: HEYTING1:4
canceled;
theorem Th5: :: HEYTING1:5
canceled;
theorem Th6: :: HEYTING1:6
canceled;
theorem Th7: :: HEYTING1:7
theorem Th8: :: HEYTING1:8
theorem Th9: :: HEYTING1:9
canceled;
theorem Th10: :: HEYTING1:10
:: deftheorem Def4 defines Atom HEYTING1:def 4 :
theorem Th11: :: HEYTING1:11
theorem Th12: :: HEYTING1:12
theorem Th13: :: HEYTING1:13
theorem Th14: :: HEYTING1:14
theorem Th15: :: HEYTING1:15
Lemma78:
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 )
Lemma79:
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 ;
func pair_diff c1 -> BinOp of
[:(Fin a1),(Fin a1):] means :
Def5:
:: HEYTING1:def 5
for
a,
b being
Element of
[:(Fin A),(Fin A):] holds
it . a,
b = a \ b;
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;
:: deftheorem Def5 defines pair_diff HEYTING1:def 5 :
definition
let A be
set ;
let B be
Element of
Fin (DISJOINT_PAIRS A);
func - c2 -> Element of
Fin (DISJOINT_PAIRS a1) equals :: HEYTING1:def 6
(DISJOINT_PAIRS A) /\ { [{ (g . t1) where t1 is Element of DISJOINT_PAIRS A : ( g . t1 in t1 `2 & t1 in B ) } ,{ (g . t2) where t2 is Element of DISJOINT_PAIRS A : ( g . t2 in t2 `1 & t2 in B ) } ] where g is Element of Funcs (DISJOINT_PAIRS A),[A] : for s being Element of DISJOINT_PAIRS A st s in B holds
g . s in (s `1 ) \/ (s `2 ) } ;
coherence
(DISJOINT_PAIRS A) /\ { [{ (g . t1) where t1 is Element of DISJOINT_PAIRS A : ( g . t1 in t1 `2 & t1 in B ) } ,{ (g . t2) where t2 is Element of DISJOINT_PAIRS A : ( g . t2 in t2 `1 & t2 in B ) } ] where g is Element of Funcs (DISJOINT_PAIRS A),[A] : for s being Element of DISJOINT_PAIRS A st s in B holds
g . s in (s `1 ) \/ (s `2 ) } is Element of Fin (DISJOINT_PAIRS A)
correctness
;
let C be
Element of
Fin (DISJOINT_PAIRS A);
func c2 =>> c3 -> Element of
Fin (DISJOINT_PAIRS a1) equals :: HEYTING1:def 7
(DISJOINT_PAIRS A) /\ { (FinPairUnion B,((pair_diff A) .: f,(incl (DISJOINT_PAIRS A)))) where f is Element of Funcs (DISJOINT_PAIRS A),[:(Fin A),(Fin A):] : f .: B c= C } ;
coherence
(DISJOINT_PAIRS A) /\ { (FinPairUnion B,((pair_diff A) .: f,(incl (DISJOINT_PAIRS A)))) where f is Element of Funcs (DISJOINT_PAIRS A),[:(Fin A),(Fin A):] : f .: B c= C } is Element of Fin (DISJOINT_PAIRS A)
correctness
;
end;
:: deftheorem Def6 defines - HEYTING1:def 6 :
:: deftheorem Def7 defines =>> HEYTING1:def 7 :
theorem Th16: :: HEYTING1:16
theorem Th17: :: HEYTING1:17
theorem Th18: :: HEYTING1:18
theorem Th19: :: HEYTING1:19
theorem Th20: :: HEYTING1:20
theorem Th21: :: HEYTING1:21
Lemma102:
Fin (DISJOINT_PAIRS {} ) = {{} ,{[{} ,{} ]}}
theorem Th22: :: HEYTING1:22
theorem Th23: :: HEYTING1:23
theorem Th24: :: HEYTING1:24
theorem Th25: :: HEYTING1:25
Lemma111:
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 )
theorem Th26: :: HEYTING1:26
definition
let A be
set ;
func pseudo_compl c1 -> UnOp of the
carrier of
(NormForm a1) means :
Def8:
:: HEYTING1:def 8
for
u being
Element of
(NormForm A) holds
it . u = mi (- (@ u));
existence
ex b1 being UnOp of the carrier of (NormForm A) st
for u being Element of (NormForm A) holds b1 . u = mi (- (@ u))
correctness
uniqueness
for b1, b2 being UnOp of the carrier of (NormForm A) st ( for u being Element of (NormForm A) holds b1 . u = mi (- (@ u)) ) & ( for u being Element of (NormForm A) holds b2 . u = mi (- (@ u)) ) holds
b1 = b2;
func StrongImpl c1 -> BinOp of the
carrier of
(NormForm a1) means :
Def9:
:: HEYTING1:def 9
for
u,
v being
Element of
(NormForm A) holds
it . u,
v = mi ((@ u) =>> (@ v));
existence
ex b1 being BinOp of the carrier of (NormForm A) st
for u, v being Element of (NormForm A) holds b1 . u,v = mi ((@ u) =>> (@ v))
correctness
uniqueness
for b1, b2 being BinOp of the carrier of (NormForm A) st ( for u, v being Element of (NormForm A) holds b1 . u,v = mi ((@ u) =>> (@ v)) ) & ( for u, v being Element of (NormForm A) holds b2 . u,v = mi ((@ u) =>> (@ v)) ) holds
b1 = b2;
let u be
Element of
(NormForm A);
func SUB c2 -> Element of
Fin the
carrier of
(NormForm a1) equals :: HEYTING1:def 10
bool u;
coherence
bool u is Element of Fin the carrier of (NormForm A)
correctness
;
func diff c2 -> UnOp of the
carrier of
(NormForm a1) means :
Def11:
:: HEYTING1:def 11
for
v being
Element of
(NormForm A) holds
it . v = u \ v;
existence
ex b1 being UnOp of the carrier of (NormForm A) st
for v being Element of (NormForm A) holds b1 . v = u \ v
correctness
uniqueness
for b1, b2 being UnOp of the carrier of (NormForm A) st ( for v being Element of (NormForm A) holds b1 . v = u \ v ) & ( for v being Element of (NormForm A) holds b2 . v = u \ v ) holds
b1 = b2;
end;
:: deftheorem Def8 defines pseudo_compl HEYTING1:def 8 :
:: deftheorem Def9 defines StrongImpl HEYTING1:def 9 :
:: deftheorem Def10 defines SUB HEYTING1:def 10 :
:: deftheorem Def11 defines diff HEYTING1:def 11 :
deffunc H1( set ) -> Relation of [:the carrier of (NormForm a1),the carrier of (NormForm a1):],the carrier of (NormForm a1) = the L_join of (NormForm a1);
deffunc H2( set ) -> Relation of [:the carrier of (NormForm a1),the carrier of (NormForm a1):],the carrier of (NormForm a1) = the L_meet of (NormForm a1);
Lemma117:
for A being set
for u, v being Element of (NormForm A) st v in SUB u holds
v "\/" ((diff u) . v) = u
theorem Th27: :: HEYTING1:27
Lemma119:
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 ) )
theorem Th28: :: HEYTING1:28
theorem Th29: :: HEYTING1:29
theorem Th30: :: HEYTING1:30
theorem Th31: :: HEYTING1:31
E129:
now
let A be
set ;
let u be
Element of
(NormForm A);
let v be
Element of
(NormForm A);
deffunc H3(
Element of
(NormForm A),
Element of
(NormForm A))
-> Element of the
carrier of
(NormForm A) =
FinJoin (SUB a1),
(H2(A) .: (pseudo_compl A),((StrongImpl A) [:] (diff a1),a2));
set Psi =
H2(
A)
.: (pseudo_compl A),
((StrongImpl A) [:] (diff u),v);
E21:
now
let w be
Element of
(NormForm A);
set u2 =
(diff u) . w;
set pc =
(pseudo_compl A) . w;
set si =
(StrongImpl A) . ((diff u) . w),
v;
assume
w in SUB u
;
then E23:
w "\/" ((diff u) . w) = u
by ;
E52:
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
.=
Bottom (NormForm A)
by LATTICES:40
;
E56:
((diff u) . w) "/\" ((StrongImpl A) . ((diff u) . w),v) [= v
by Th3;
(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:66
.=
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:48
.=
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:60
.=
(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 , LATTICES:def 11
.=
((diff u) . w) "/\" (((StrongImpl A) . ((diff u) . w),v) "/\" ((pseudo_compl A) . w))
by Th7, LATTICES:39
.=
(((diff u) . w) "/\" ((StrongImpl A) . ((diff u) . w),v)) "/\" ((pseudo_compl A) . w)
by LATTICES:def 7
;
then
(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:23;
hence
(H2(A) [;] u,(H2(A) .: (pseudo_compl A),((StrongImpl A) [:] (diff u),v))) . w [= v
by Th8, LATTICES:25;
end;
u "/\" H3(
u,
v)
= FinJoin (SUB u),
(H2(A) [;] u,(H2(A) .: (pseudo_compl A),((StrongImpl A) [:] (diff u),v)))
by LATTICE2:83;
hence
u "/\" H3(
u,
v)
[= v
by , LATTICE2:70;
let w be
Element of
(NormForm A);
E59:
v = FinJoin (@ v),
(Atom A)
by ;
then E60:
u "/\" v = FinJoin (@ v),
(H2(A) [;] u,(Atom A))
by LATTICE2:83;
assume E61:
u "/\" v [= w
;
now
let a be
Element of
DISJOINT_PAIRS A;
assume
a in @ v
;
then
(H2(A) [;] u,(Atom A)) . a [= w
by Th7, Th8, LATTICE2:46;
then
H2(
A)
. u,
((Atom A) . a) [= w
by FUNCOP_1:66;
then E62:
u "/\" ((Atom A) . a) [= w
by LATTICES:def 2;
consider v being
Element of
(NormForm A) such that E64:
v in SUB u
and E65:
(@ v) ^ {a} = {}
and E66:
for
b being
Element of
DISJOINT_PAIRS A st
b in (diff u) . v holds
b \/ a in DISJOINT_PAIRS A
by ;
(diff u) . v [= u
by ;
then
((diff u) . v) "/\" ((Atom A) . a) [= u "/\" ((Atom A) . a)
by LATTICES:27;
then E67:
((diff u) . v) "/\" ((Atom A) . a) [= w
by , LATTICES:25;
set pf =
pseudo_compl A;
set sf =
(StrongImpl A) [:] (diff u),
w;
E68:
(Atom A) . a [= (pseudo_compl A) . v
by Def4, Lemma40;
(Atom A) . a [= (StrongImpl A) . ((diff u) . v),
w
by , , Lemma41;
then E69:
(Atom A) . a [= ((StrongImpl A) [:] (diff u),w) . v
by FUNCOP_1:60;
((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:48
;
then
(Atom A) . a [= (H2(A) .: (pseudo_compl A),((StrongImpl A) [:] (diff u),w)) . v
by , Th11, FILTER_0:7;
hence
(Atom A) . a [= H3(
u,
w)
by Th10, LATTICE2:44;
end;
hence
v [= H3(
u,
w)
by , LATTICE2:70;
end;
Lemma137:
for A being set holds NormForm A is implicative
theorem Th32: :: HEYTING1:32
canceled;
theorem Th33: :: HEYTING1:33
theorem Th34: :: HEYTING1:34