:: LATTICE3 semantic presentation
deffunc H1( LattStr ) -> set = the carrier of a1;
deffunc H2( LattStr ) -> Relation of [:the carrier of a1,the carrier of a1:],the carrier of a1 = the L_join of a1;
deffunc H3( LattStr ) -> Relation of [:the carrier of a1,the carrier of a1:],the carrier of a1 = the L_meet of a1;
definition
let c1 be
set ;
func BooleLatt c1 -> strict LattStr means :
Def1:
:: LATTICE3:def 1
( the
carrier of
a2 = bool a1 & ( for
b1,
b2 being
Subset of
a1 holds
( the
L_join of
a2 . b1,
b2 = b1 \/ b2 & the
L_meet of
a2 . b1,
b2 = b1 /\ b2 ) ) );
existence
ex b1 being strict LattStr st
( the carrier of b1 = bool c1 & ( for b2, b3 being Subset of c1 holds
( the L_join of b1 . b2,b3 = b2 \/ b3 & the L_meet of b1 . b2,b3 = b2 /\ b3 ) ) )
uniqueness
for b1, b2 being strict LattStr st the carrier of b1 = bool c1 & ( for b3, b4 being Subset of c1 holds
( the L_join of b1 . b3,b4 = b3 \/ b4 & the L_meet of b1 . b3,b4 = b3 /\ b4 ) ) & the carrier of b2 = bool c1 & ( for b3, b4 being Subset of c1 holds
( the L_join of b2 . b3,b4 = b3 \/ b4 & the L_meet of b2 . b3,b4 = b3 /\ b4 ) ) holds
b1 = b2
end;
:: deftheorem Def1 defines BooleLatt LATTICE3:def 1 :
theorem Th1: :: LATTICE3:1
theorem Th2: :: LATTICE3:2
theorem Th3: :: LATTICE3:3
theorem Th4: :: LATTICE3:4
theorem Th5: :: LATTICE3:5
:: deftheorem Def2 defines LattPOSet LATTICE3:def 2 :
theorem Th6: :: LATTICE3:6
:: deftheorem Def3 defines % LATTICE3:def 3 :
:: deftheorem Def4 defines % LATTICE3:def 4 :
theorem Th7: :: LATTICE3:7
:: deftheorem Def5 defines ~ LATTICE3:def 5 :
theorem Th8: :: LATTICE3:8
:: deftheorem Def6 defines ~ LATTICE3:def 6 :
:: deftheorem Def7 defines ~ LATTICE3:def 7 :
theorem Th9: :: LATTICE3:9
:: deftheorem Def8 defines is_<=_than LATTICE3:def 8 :
:: deftheorem Def9 defines is_<=_than LATTICE3:def 9 :
:: deftheorem Def10 defines with_suprema LATTICE3:def 10 :
:: deftheorem Def11 defines with_infima LATTICE3:def 11 :
theorem Th10: :: LATTICE3:10
theorem Th11: :: LATTICE3:11
:: deftheorem Def12 defines complete LATTICE3:def 12 :
theorem Th12: :: LATTICE3:12
:: deftheorem Def13 defines "\/" LATTICE3:def 13 :
:: deftheorem Def14 defines "/\" LATTICE3:def 14 :
theorem Th13: :: LATTICE3:13
theorem Th14: :: LATTICE3:14
theorem Th15: :: LATTICE3:15
theorem Th16: :: LATTICE3:16
theorem Th17: :: LATTICE3:17
theorem Th18: :: LATTICE3:18
theorem Th19: :: LATTICE3:19
:: deftheorem Def15 defines latt LATTICE3:def 15 :
theorem Th20: :: LATTICE3:20
:: deftheorem Def16 defines is_less_than LATTICE3:def 16 :
:: deftheorem Def17 defines is_less_than LATTICE3:def 17 :
theorem Th21: :: LATTICE3:21
theorem Th22: :: LATTICE3:22
:: deftheorem Def18 defines complete LATTICE3:def 18 :
:: deftheorem Def19 defines \/-distributive LATTICE3:def 19 :
:: deftheorem Def20 defines /\-distributive LATTICE3:def 20 :
theorem Th23: :: LATTICE3:23
theorem Th24: :: LATTICE3:24
theorem Th25: :: LATTICE3:25
theorem Th26: :: LATTICE3:26
theorem Th27: :: LATTICE3:27
theorem Th28: :: LATTICE3:28
theorem Th29: :: LATTICE3:29
theorem Th30: :: LATTICE3:30
theorem Th31: :: LATTICE3:31
:: deftheorem Def21 defines "\/" LATTICE3:def 21 :
:: deftheorem Def22 defines "/\" LATTICE3:def 22 :
theorem Th32: :: LATTICE3:32
theorem Th33: :: LATTICE3:33
theorem Th34: :: LATTICE3:34
theorem Th35: :: LATTICE3:35
theorem Th36: :: LATTICE3:36
theorem Th37: :: LATTICE3:37
theorem Th38: :: LATTICE3:38
theorem Th39: :: LATTICE3:39
canceled;
theorem Th40: :: LATTICE3:40
theorem Th41: :: LATTICE3:41
theorem Th42: :: LATTICE3:42
theorem Th43: :: LATTICE3:43
theorem Th44: :: LATTICE3:44
theorem Th45: :: LATTICE3:45
theorem Th46: :: LATTICE3:46
theorem Th47: :: LATTICE3:47
theorem Th48: :: LATTICE3:48
theorem Th49: :: LATTICE3:49
theorem Th50: :: LATTICE3:50
theorem Th51: :: LATTICE3:51
theorem Th52: :: LATTICE3:52
theorem Th53: :: LATTICE3:53
theorem Th54: :: LATTICE3:54
theorem Th55: :: LATTICE3:55
E50:
now
let c1 be non
empty set ;
let c2 be
Function of
bool c1,
c1;
assume that E51:
for
b1 being
Element of
c1 holds
c2 . {b1} = b1
and E52:
for
b1 being
Subset-Family of
c1 holds
c2 . (c2 .: b1) = c2 . (union b1)
;
defpred S1[
set ,
set ]
means c2 . {a1,a2} = a2;
consider c3 being
Relation of
c1 such that E53:
for
b1,
b2 being
set holds
(
[b1,b2] in c3 iff (
b1 in c1 &
b2 in c1 &
S1[
b1,
b2] ) )
from RELSET_1:sch 1();
E54:
dom c2 = bool c1
by FUNCT_2:def 1;
E56:
for
b1,
b2 being
Element of
c1 for
b3 being
Subset of
c1 st
b2 in b3 holds
c2 . (b3 \/ {b1}) = c2 . { (c2 . {b4,b1}) where B is Element of c1 : b4 in b3 }
E57:
c3 is_reflexive_in c1
E58:
c3 is_antisymmetric_in c1
E59:
c3 is_transitive_in c1
proof
let c4,
c5,
c6 be
set ;
:: according to RELAT_2:def 8
assume E60:
(
c4 in c1 &
c5 in c1 &
c6 in c1 &
[c4,c5] in c3 &
[c5,c6] in c3 )
;
then reconsider c7 =
c4,
c8 =
c5,
c9 =
c6 as
Element of
c1 ;
E61:
(
c2 . {c4,c5} = c5 &
c2 . {c5,c6} = c6 )
by E53, E60;
then c2 . {c7,c9} =
c2 . {(c2 . {c7}),(c2 . {c8,c9})}
by E51
.=
c2 . ({c7} \/ {c8,c9})
by E55
.=
c2 . {c7,c8,c9}
by ENUMSET1:42
.=
c2 . ({c7,c8} \/ {c9})
by ENUMSET1:43
.=
c2 . {(c2 . {c7,c8}),(c2 . {c9})}
by E55
.=
c9
by E51, E61
;
hence
[c4,c6] in c3
by E53;
end;
E60:
dom c3 = c1
by E57, ORDERS_1:98;
field c3 = c1
by E57, ORDERS_1:98;
then reconsider c4 =
c3 as
Order of
c1 by E57, E58, E59, E60, PARTFUN1:def 4, RELAT_2:def 9, RELAT_2:def 12, RELAT_2:def 16;
set c5 =
RelStr(#
c1,
c4 #);
RelStr(#
c1,
c4 #) is
complete
then reconsider c6 =
RelStr(#
c1,
c4 #) as non
empty strict complete Poset ;
take c7 =
latt c6;
E61:
(
c6 is
with_suprema &
c6 is
with_infima )
by Th12;
then E62:
(
c6 = LattPOSet c7 &
LattPOSet c7 = RelStr(#
H1(
c7),
(LattRel c7) #) )
by Def15;
hence
H1(
c7)
= c1
;
let c8 be
Subset of
c7;
reconsider c9 =
c8 as
Subset of
c1 by E62;
reconsider c10 =
c2 . c9 as
Element of
(LattPOSet c7) by E61, Def15;
set c11 =
% c10;
c8 is_<=_than c10
then E63:
c8 is_less_than % c10
by Th31;
hence "\/" c8 =
% c10
by E63, Def21
.=
c2 . c8
;
end;
theorem Th56: :: LATTICE3:56