mathlib documentation


Compactness properties for complete lattices #

For complete lattices, there are numerous equivalent ways to express the fact that the relation > is well-founded. In this file we define three especially-useful characterisations and provide proofs that they are indeed equivalent to well-foundedness.

Main definitions #

Main results #

The main result is that the following four conditions are equivalent for a complete lattice:

This is demonstrated by means of the following four lemmas:

We also show well-founded lattices are compactly generated (complete_lattice.compactly_generated_of_well_founded).

References #

Tags #

complete lattice, well-founded, compact

A compactness property for a complete lattice is that any sup-closed non-empty subset contains its Sup.


A compactness property for a complete lattice is that any subset has a finite subset with the same Sup.

def complete_lattice.is_compact_element {α : Type u_1} [complete_lattice α] (k : α) :

An element k of a complete lattice is said to be compact if any set with Sup above k has a finite subset with Sup above k. Such an element is also called "finite" or "S-compact".

theorem complete_lattice.is_compact_element_iff {α : Type u} [complete_lattice α] (k : α) :
complete_lattice.is_compact_element k (ι : Type u) (s : ι α), k supr s ( (t : finset ι), k t.sup s)

An element k is compact if and only if any directed set with Sup above k already got above k at some point in the set.

theorem complete_lattice.is_compact_element.exists_finset_of_le_supr (α : Type u_1) [complete_lattice α] {k : α} (hk : complete_lattice.is_compact_element k) {ι : Type u_2} (f : ι α) (h : k (i : ι), f i) :
(s : finset ι), k (i : ι) (H : i s), f i
theorem complete_lattice.is_compact_element.directed_Sup_lt_of_lt {α : Type u_1} [complete_lattice α] {k : α} (hk : complete_lattice.is_compact_element k) {s : set α} (hemp : s.nonempty) (hdir : directed_on has_le.le s) (hbelow : (x : α), x s x < k) :

A compact element k has the property that any directed set lying strictly below k has its Sup strictly below k.

theorem complete_lattice.well_founded.finite_of_independent {α : Type u_1} [complete_lattice α] (hwf : well_founded gt) {ι : Type u_2} {t : ι α} (ht : complete_lattice.independent t) (h_ne_bot : (i : ι), t i ) :
structure is_compactly_generated (α : Type u_2) [complete_lattice α] :

A complete lattice is said to be compactly generated if any element is the Sup of compact elements.

Instances of this typeclass
theorem inf_Sup_eq_of_directed_on {α : Type u_1} [complete_lattice α] [is_compactly_generated α] {a : α} {s : set α} (h : directed_on has_le.le s) :
a has_Sup.Sup s = (b : α) (H : b s), a b

This property is sometimes referred to as α being upper continuous.

theorem inf_Sup_eq_supr_inf_sup_finset {α : Type u_1} [complete_lattice α] [is_compactly_generated α] {a : α} {s : set α} :
a has_Sup.Sup s = (t : finset α) (H : t s), a t.sup id

This property is equivalent to α being upper continuous.

A compact element k has the property that any b < k lies below a "maximal element below k", which is to say [⊥, k] is coatomic.

@[protected, instance]

See Lemma 5.1, Călugăreanu

See Theorem 6.6, Călugăreanu