Journal of Formalized Mathematics
Volume 2, 1990
University of Bialystok
Copyright (c) 1990
Association of Mizar Users
The abstract of the Mizar article:
-
- by
- Andrzej Trybulec
- Received August 10, 1990
- MML identifier: LATTICE2
- [
Mizar article,
MML identifier index
]
environ
vocabulary FUNCT_1, RELAT_1, BOOLE, FUNCT_4, FINSUB_1, BINOP_1, LATTICES,
SETWISEO, FUNCOP_1, FILTER_0, FINSET_1, LATTICE2;
notation TARSKI, XBOOLE_0, SUBSET_1, RELAT_1, FUNCT_1, FUNCT_2, FUNCT_4,
PARTFUN1, FUNCOP_1, BINOP_1, STRUCT_0, LATTICES, FINSET_1, FINSUB_1,
GROUP_1, SETWISEO, FILTER_0;
constructors FUNCT_4, FUNCOP_1, BINOP_1, GROUP_1, SETWISEO, FILTER_0,
PARTFUN1, MEMBERED, XBOOLE_0;
clusters LATTICES, STRUCT_0, RELSET_1, MEMBERED, ZFMISC_1, FUNCT_2, PARTFUN1,
XBOOLE_0;
requirements SUBSET, BOOLE;
begin :: Auxiliary theorems
reserve A for set, C for non empty set,
B for Subset of A,
x for Element of A,
f,g for Function of A,C;
canceled;
theorem :: LATTICE2:2
dom (g|B) = B;
canceled 2;
theorem :: LATTICE2:5
f|B = g|B iff for x st x in B holds g.x = f.x;
theorem :: LATTICE2:6
for B being set holds f +* g|B is Function of A,C;
theorem :: LATTICE2:7
g|B +* f = f;
theorem :: LATTICE2:8
for f,g being Function holds g <= f implies f +* g = f;
theorem :: LATTICE2:9
f +* f|B = f;
theorem :: LATTICE2:10
(for x st x in B holds g.x = f.x) implies f +* g|B = f;
reserve B for Finite_Subset of A;
canceled;
theorem :: LATTICE2:12
g|B +* f = f;
theorem :: LATTICE2:13
dom (g|B) = B;
theorem :: LATTICE2:14
(for x st x in B holds g.x = f.x) implies f +* g|B = f;
canceled;
theorem :: LATTICE2:16
f|B = g|B implies f.:B = g.:B;
definition let D be non empty set;
let o,o' be BinOp of D;
pred o absorbs o' means
:: LATTICE2:def 1
for x,y being Element of D holds o.(x,o'.(x,y)) = x;
antonym o doesn't_absorb o';
end;
:: Dual Lattice structures
reserve L for non empty LattStr,
a,b,c for Element of L;
theorem :: LATTICE2:17
the L_join of L is commutative associative &
the L_meet of L is commutative associative &
the L_join of L absorbs the L_meet of L &
the L_meet of L absorbs the L_join of L
implies L is Lattice-like;
definition let L be LattStr;
func L.: -> strict LattStr equals
:: LATTICE2:def 2
LattStr(#the carrier of L, the L_meet of L, the L_join of L#);
end;
definition let L be non empty LattStr;
cluster L.: -> non empty;
end;
theorem :: LATTICE2:18
the carrier of L = the carrier of L.: &
the L_join of L = the L_meet of L.: &
the L_meet of L = the L_join of L.:;
theorem :: LATTICE2:19
for L being strict non empty LattStr holds L.:.: = L;
:: General Lattices
reserve L for Lattice;
reserve a,b,c,u,v for Element of L;
canceled;
theorem :: LATTICE2:21
(for v holds u "\/" v = v) implies u = Bottom L;
theorem :: LATTICE2:22
(for v holds (the L_join of L).(u,v) = v) implies u = Bottom L;
canceled;
theorem :: LATTICE2:24
(for v holds u "/\" v = v) implies u = Top L;
theorem :: LATTICE2:25
(for v holds (the L_meet of L).(u,v) = v) implies u = Top L;
theorem :: LATTICE2:26
the L_join of L is idempotent;
theorem :: LATTICE2:27
for L being join-commutative (non empty \/-SemiLattStr) holds
the L_join of L is commutative;
theorem :: LATTICE2:28
the L_join of L has_a_unity implies Bottom L = the_unity_wrt the L_join of L;
theorem :: LATTICE2:29
for L being join-associative (non empty \/-SemiLattStr) holds
the L_join of L is associative;
theorem :: LATTICE2:30
the L_meet of L is idempotent;
theorem :: LATTICE2:31
for L being meet-commutative (non empty /\-SemiLattStr) holds
the L_meet of L is commutative;
theorem :: LATTICE2:32
for L being meet-associative (non empty /\-SemiLattStr) holds
the L_meet of L is associative;
definition let L be join-commutative (non empty \/-SemiLattStr);
cluster the L_join of L -> commutative;
end;
definition let L be join-associative (non empty \/-SemiLattStr);
cluster the L_join of L -> associative;
end;
definition let L be meet-commutative (non empty /\-SemiLattStr);
cluster the L_meet of L -> commutative;
end;
definition let L be meet-associative (non empty /\-SemiLattStr);
cluster the L_meet of L -> associative;
end;
theorem :: LATTICE2:33
the L_meet of L has_a_unity implies Top L = the_unity_wrt the L_meet of L;
theorem :: LATTICE2:34
the L_join of L is_distributive_wrt the L_join of L;
theorem :: LATTICE2:35
L is D_Lattice implies
the L_join of L is_distributive_wrt the L_meet of L;
theorem :: LATTICE2:36
the L_join of L is_distributive_wrt the L_meet of L
implies L is distributive;
theorem :: LATTICE2:37
L is D_Lattice implies
the L_meet of L is_distributive_wrt the L_join of L;
theorem :: LATTICE2:38
the L_meet of L is_distributive_wrt the L_join of L
implies L is distributive;
theorem :: LATTICE2:39
the L_meet of L is_distributive_wrt the L_meet of L;
theorem :: LATTICE2:40
the L_join of L absorbs the L_meet of L;
theorem :: LATTICE2:41
the L_meet of L absorbs the L_join of L;
definition let A be non empty set, L be Lattice;
let B be Finite_Subset of A; let f be Function of A, the carrier of L;
func FinJoin(B, f) -> Element of L equals
:: LATTICE2:def 3
(the L_join of L)$$(B,f);
func FinMeet(B, f) -> Element of L equals
:: LATTICE2:def 4
(the L_meet of L)$$(B,f);
end;
reserve A for non empty set,
x for Element of A,
B for Finite_Subset of A,
f,g for Function of A, the carrier of L;
canceled;
theorem :: LATTICE2:43
x in B implies f.x [= FinJoin(B,f);
theorem :: LATTICE2:44
(ex x st x in B & u [= f.x) implies u [= FinJoin(B,f);
theorem :: LATTICE2:45
(for x st x in B holds f.x = u) & B <> {} implies FinJoin(B,f) = u;
theorem :: LATTICE2:46
FinJoin(B,f) [= u implies for x st x in B holds f.x [= u;
theorem :: LATTICE2:47
B <> {} & (for x st x in B holds f.x [= u) implies FinJoin(B,f) [= u;
theorem :: LATTICE2:48
B <> {} & (for x st x in B holds f.x [= g.x)
implies FinJoin(B,f) [= FinJoin(B,g);
theorem :: LATTICE2:49
B <> {} & f|B = g|B implies FinJoin(B,f) = FinJoin(B,g);
theorem :: LATTICE2:50
B <> {} implies v "\/" FinJoin(B,f) = FinJoin(B, (the L_join of L)[;](v,f)
);
definition let L be Lattice;
cluster L.: -> Lattice-like;
end;
theorem :: LATTICE2:51
for L being Lattice,
B being Finite_Subset of A
for f being Function of A, the carrier of L,
f' being Function of A, the carrier of L.: st f = f'
holds FinJoin(B,f) = FinMeet(B,f') &
FinMeet(B,f) = FinJoin(B,f');
theorem :: LATTICE2:52
for a',b' being Element of L.: st a = a' & b = b' holds
a "/\" b = a'"\/" b' & a "\/" b = a'"/\" b';
theorem :: LATTICE2:53
a [= b implies
for a',b' being Element of L.: st a = a' & b = b'
holds b' [= a';
theorem :: LATTICE2:54
for a',b' being Element of L.:
st a' [= b' & a = a' & b = b'
holds b [= a;
:: Dualizations
theorem :: LATTICE2:55
x in B implies FinMeet(B,f) [= f.x;
theorem :: LATTICE2:56
(ex x st x in B & f.x [= u) implies FinMeet(B,f)[= u;
theorem :: LATTICE2:57
(for x st x in B holds f.x = u) & B <> {} implies FinMeet(B,f) = u;
theorem :: LATTICE2:58
B <> {} implies v "/\" FinMeet(B,f) = FinMeet(B, (the L_meet of L)[;](v,f))
;
theorem :: LATTICE2:59
u [= FinMeet(B,f) implies for x st x in B holds u [= f.x;
theorem :: LATTICE2:60
B <> {} & f|B = g|B implies FinMeet(B,f) = FinMeet(B,g);
theorem :: LATTICE2:61
B <> {} & (for x st x in B holds u [= f.x) implies u [= FinMeet(B,f);
theorem :: LATTICE2:62
B <> {} & (for x st x in B holds f.x [= g.x)
implies FinMeet(B,f) [= FinMeet(B,g);
theorem :: LATTICE2:63
for L being Lattice holds L is lower-bounded iff L.: is upper-bounded;
theorem :: LATTICE2:64
for L being Lattice holds L is upper-bounded iff L.: is lower-bounded;
theorem :: LATTICE2:65
L is D_Lattice iff L.: is D_Lattice;
:::::::::::::::::::::::::::
::
:: Lower bounded lattices
::
:::::::::::::::::::::::::::
reserve L for 0_Lattice,
f,g for Function of A, the carrier of L,
u for Element of L;
theorem :: LATTICE2:66
Bottom L is_a_unity_wrt the L_join of L;
theorem :: LATTICE2:67
the L_join of L has_a_unity;
theorem :: LATTICE2:68
Bottom L = the_unity_wrt the L_join of L;
theorem :: LATTICE2:69
f|B = g|B implies FinJoin(B,f) = FinJoin(B,g);
theorem :: LATTICE2:70
(for x st x in B holds f.x [= u) implies FinJoin(B,f) [= u;
theorem :: LATTICE2:71
(for x st x in B holds f.x [= g.x)
implies FinJoin(B,f) [= FinJoin(B,g);
:::::::::::::::::::::::::::
::
:: Upper bounded lattices
::
:::::::::::::::::::::::::::
reserve L for 1_Lattice,
f,g for Function of A, the carrier of L,
u for Element of L;
theorem :: LATTICE2:72
Top L is_a_unity_wrt the L_meet of L;
theorem :: LATTICE2:73
the L_meet of L has_a_unity;
theorem :: LATTICE2:74
Top L = the_unity_wrt the L_meet of L;
theorem :: LATTICE2:75
f|B = g|B implies FinMeet(B,f) = FinMeet(B,g);
theorem :: LATTICE2:76
(for x st x in B holds u [= f.x) implies u [= FinMeet(B,f);
theorem :: LATTICE2:77
(for x st x in B holds f.x [= g.x)
implies FinMeet(B,f) [= FinMeet(B,g);
theorem :: LATTICE2:78
for L being 0_Lattice holds Bottom L = Top (L.:);
theorem :: LATTICE2:79
for L being 1_Lattice holds Top L = Bottom (L.:);
:::::::::::::::::::::::::::
::
:: Distributive lattices with the minimal element
::
:::::::::::::::::::::::::::
definition
mode D0_Lattice is distributive lower-bounded Lattice;
end;
reserve L for D0_Lattice,
f,g for (Function of A, the carrier of L),
u for Element of L;
theorem :: LATTICE2:80
the L_meet of L is_distributive_wrt the L_join of L;
theorem :: LATTICE2:81
(the L_meet of L).(u, FinJoin(B, f))
= FinJoin(B, (the L_meet of L)[;](u,f));
theorem :: LATTICE2:82
(for x st x in B holds g.x = u "/\" f.x)
implies u "/\" FinJoin(B,f) = FinJoin(B,g);
theorem :: LATTICE2:83
u "/\" FinJoin(B,f) = FinJoin(B, (the L_meet of L)[;](u, f));
:: Heyting Lattices
definition
let IT be Lattice;
canceled;
attr IT is Heyting means
:: LATTICE2:def 6
IT is implicative lower-bounded;
end;
definition
cluster Heyting Lattice;
end;
definition
cluster Heyting -> implicative lower-bounded Lattice;
cluster implicative lower-bounded -> Heyting Lattice;
end;
definition
mode H_Lattice is Heyting Lattice;
end;
definition
cluster Heyting strict Lattice;
end;
theorem :: LATTICE2:84
for L being 0_Lattice holds
L is H_Lattice iff
for x,z being Element of L
ex y being Element of L st x "/\" y [= z
& for v being Element of L st x "/\" v [= z holds v [= y;
theorem :: LATTICE2:85
for L being Lattice holds L is finite iff L.: is finite;
definition
cluster finite -> lower-bounded Lattice;
cluster finite -> upper-bounded Lattice;
end;
definition
cluster finite -> bounded Lattice;
end;
definition
cluster distributive finite -> Heyting Lattice;
end;
Back to top