:: Noetherian Lattices
:: by Christoph Schwarzweller
::
:: Received June 9, 1999
:: Copyright (c) 1999-2017 Association of Mizar Users
:: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.
environ
vocabularies FINSET_1, LATTICES, LATTICE3, XBOOLE_0, STRUCT_0, ZFMISC_1,
SUBSET_1, XXREAL_0, NUMBERS, FINSEQ_1, RELAT_1, ARYTM_3, CARD_1, FUNCT_1,
TARSKI, ORDERS_2, FILTER_1, EQREL_1, PBOOLE, REWRITE1, WELLORD1,
WAYBEL_6, RELAT_2, ZF_LANG, BINOP_1, LATTICE6, NAT_1;
notations TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, ORDINAL1, NUMBERS, XXREAL_0,
RELAT_1, FUNCT_1, XCMPLX_0, NAT_1, BINOP_1, FINSET_1, WELLORD1, WAYBEL_6,
STRUCT_0, LATTICES, LATTICE3, ORDERS_2, FINSEQ_1, WELLFND1, YELLOW_0,
LATTICE2;
constructors WELLORD1, BINOP_1, REAL_1, REALSET2, LATTICE2, WAYBEL_0,
WAYBEL_6, WELLFND1, RELSET_1, LATTICE3;
registrations XBOOLE_0, RELAT_1, FUNCT_1, FINSET_1, XREAL_0, INT_1, FINSEQ_1,
FINSEQ_6, STRUCT_0, LATTICES, ORDERS_2, LATTICE2, LATTICE3, WAYBEL_0,
KNASTER, YELLOW_1, ORDINAL1, CARD_1;
requirements NUMERALS, BOOLE, SUBSET, ARITHM;
begin
registration
cluster finite for Lattice;
end;
registration
cluster finite -> complete for Lattice;
end;
definition
let L be Lattice;
let D be Subset of L;
func D% -> Subset of LattPOSet L equals
:: LATTICE6:def 1
{d% where d is Element of L : d in D
};
end;
definition
let L be Lattice;
let D be Subset of LattPOSet L;
func %D -> Subset of L equals
:: LATTICE6:def 2
{%d where d is Element of LattPOSet L : d in D
};
end;
registration
let L be finite Lattice;
cluster LattPOSet L -> well_founded;
end;
definition
let L be Lattice;
attr L is noetherian means
:: LATTICE6:def 3
LattPOSet L is well_founded;
attr L is co-noetherian means
:: LATTICE6:def 4
(LattPOSet L)~ is well_founded;
end;
registration
cluster noetherian upper-bounded lower-bounded complete for Lattice;
end;
registration
cluster co-noetherian upper-bounded lower-bounded complete for Lattice;
end;
theorem :: LATTICE6:1
for L being Lattice holds L is noetherian iff L.: is co-noetherian;
registration
cluster finite -> noetherian for Lattice;
cluster finite -> co-noetherian for Lattice;
end;
definition
let L be Lattice;
let a,b be Element of L;
pred a is-upper-neighbour-of b means
:: LATTICE6:def 5
a <> b & b [= a & for c being
Element of L holds b [= c & c [= a implies (c = a or c = b);
end;
notation
let L be Lattice;
let a,b be Element of L;
synonym b is-lower-neighbour-of a for a is-upper-neighbour-of b;
end;
theorem :: LATTICE6:2
for L being Lattice for a being Element of L for b,c being
Element of L st b <> c holds ( b is-upper-neighbour-of a & c
is-upper-neighbour-of a implies a = c "/\" b) & ( b is-lower-neighbour-of a & c
is-lower-neighbour-of a implies a = c "\/" b);
theorem :: LATTICE6:3
for L being noetherian Lattice for a being Element of L for d
being Element of L st a [= d & a <> d holds ex c being Element of L st c [= d &
c is-upper-neighbour-of a;
theorem :: LATTICE6:4
for L being co-noetherian Lattice for a being Element of L for d
being Element of L st d [= a & a <> d holds ex c being Element of L st d [= c &
c is-lower-neighbour-of a;
theorem :: LATTICE6:5
for L being upper-bounded Lattice holds not(ex b being Element of
L st b is-upper-neighbour-of Top L);
theorem :: LATTICE6:6
for L being noetherian upper-bounded Lattice for a being Element
of L holds a = Top L iff not(ex b being Element of L st b is-upper-neighbour-of
a);
theorem :: LATTICE6:7
for L being lower-bounded Lattice holds not(ex b being Element of
L st b is-lower-neighbour-of Bottom L);
theorem :: LATTICE6:8
for L being co-noetherian lower-bounded Lattice for a being
Element of L holds a = Bottom L iff not(ex b being Element of L st b
is-lower-neighbour-of a);
definition
let L be complete Lattice;
let a be Element of L;
func a*' -> Element of L equals
:: LATTICE6:def 6
"/\"({d where d is Element of L : a [= d & d
<> a},L);
func *'a -> Element of L equals
:: LATTICE6:def 7
"\/"({d where d is Element of L : d [= a & d
<> a},L);
end;
definition
let L be complete Lattice;
let a be Element of L;
attr a is completely-meet-irreducible means
:: LATTICE6:def 8
a*' <> a;
attr a is completely-join-irreducible means
:: LATTICE6:def 9
*'a <> a;
end;
theorem :: LATTICE6:9
for L being complete Lattice for a being Element of L holds a [=
a*' & *'a [= a;
theorem :: LATTICE6:10
for L being complete Lattice holds Top L*' = Top L & (Top L)% is
meet-irreducible;
theorem :: LATTICE6:11
for L being complete Lattice holds *'Bottom L = Bottom L & (Bottom L)%
is join-irreducible;
theorem :: LATTICE6:12
for L being complete Lattice for a being Element of L st a is
completely-meet-irreducible holds a*' is-upper-neighbour-of a & for c being
Element of L holds c is-upper-neighbour-of a implies c = a*';
theorem :: LATTICE6:13
for L being complete Lattice for a being Element of L st a is
completely-join-irreducible holds *'a is-lower-neighbour-of a & for c being
Element of L holds c is-lower-neighbour-of a implies c = *'a;
theorem :: LATTICE6:14
for L being noetherian complete Lattice for a being Element of L
holds a is completely-meet-irreducible iff ex b being Element of L st b
is-upper-neighbour-of a & for c being Element of L holds c
is-upper-neighbour-of a implies c = b;
theorem :: LATTICE6:15
for L being co-noetherian complete Lattice for a being Element
of L holds a is completely-join-irreducible iff ex b being Element of L st b
is-lower-neighbour-of a & for c being Element of L holds c
is-lower-neighbour-of a implies c = b;
theorem :: LATTICE6:16
for L being complete Lattice for a being Element of L holds a is
completely-meet-irreducible implies a% is meet-irreducible;
theorem :: LATTICE6:17
for L being complete noetherian Lattice for a being Element of L
st a <> Top L holds a is completely-meet-irreducible iff a% is meet-irreducible
;
theorem :: LATTICE6:18
for L being complete Lattice for a being Element of L holds a is
completely-join-irreducible implies a% is join-irreducible;
theorem :: LATTICE6:19
for L being complete co-noetherian Lattice for a being Element
of L st a <> Bottom L holds a is completely-join-irreducible iff a% is
join-irreducible;
theorem :: LATTICE6:20
for L being finite Lattice for a being Element of L st a <> Bottom L &
a <> Top L holds (a is completely-meet-irreducible iff a% is meet-irreducible)
& (a is completely-join-irreducible iff a% is join-irreducible);
definition
let L be Lattice;
let a be Element of L;
attr a is atomic means
:: LATTICE6:def 10
a is-upper-neighbour-of Bottom L;
attr a is co-atomic means
:: LATTICE6:def 11
a is-lower-neighbour-of Top L;
end;
theorem :: LATTICE6:21
for L being complete Lattice for a being Element of L st a is atomic
holds a is completely-join-irreducible;
theorem :: LATTICE6:22
for L being complete Lattice for a being Element of L st a is
co-atomic holds a is completely-meet-irreducible;
definition
let L be Lattice;
attr L is atomic means
:: LATTICE6:def 12
for a being Element of L holds ex X being
Subset of L st (for x being Element of L st x in X holds x is atomic) & a =
"\/"(X,L);
end;
registration
cluster strict 1-element for Lattice;
end;
registration
cluster atomic complete for Lattice;
end;
definition
let L be complete Lattice;
let D be Subset of L;
attr D is supremum-dense means
:: LATTICE6:def 13
for a being Element of L holds ex D9 being Subset of D st a = "\/"(D9,L);
attr D is infimum-dense means
:: LATTICE6:def 14
for a being Element of L holds ex D9 being Subset of D st a = "/\"(D9,L);
end;
theorem :: LATTICE6:23
for L being complete Lattice for D being Subset of L holds D is
supremum-dense iff for a being Element of L holds a = "\/"({d where d is
Element of L: d in D & d [= a},L);
theorem :: LATTICE6:24
for L being complete Lattice for D being Subset of L holds D is
infimum-dense iff for a being Element of L holds a = "/\"({d where d is Element
of L : d in D & a [= d},L);
theorem :: LATTICE6:25
for L being complete Lattice for D being Subset of L holds D is
infimum-dense iff D% is order-generating;
definition
let L be complete Lattice;
func MIRRS(L) -> Subset of L equals
:: LATTICE6:def 15
{a where a is Element of L : a is
completely-meet-irreducible};
func JIRRS(L) -> Subset of L equals
:: LATTICE6:def 16
{a where a is Element of L : a is
completely-join-irreducible };
end;
theorem :: LATTICE6:26
for L being complete Lattice for D being Subset of L st D is
supremum-dense holds JIRRS(L) c= D;
theorem :: LATTICE6:27
for L being complete Lattice for D being Subset of L st D is
infimum-dense holds MIRRS(L) c= D;
registration
let L be co-noetherian complete Lattice;
cluster MIRRS(L) -> infimum-dense;
end;
registration
let L be noetherian complete Lattice;
cluster JIRRS(L) -> supremum-dense;
end;