mathlib documentation

order.atoms

Atoms, Coatoms, and Simple Lattices #

This module defines atoms, which are minimal non- elements in bounded lattices, simple lattices, which are lattices with only two elements, and related ideas.

Main definitions #

Atoms and Coatoms #

Atomic and Atomistic Lattices #

Simple Lattices #

Main results #

def is_atom {α : Type u_1} [order_bot α] (a : α) :
Prop

An atom of an order_bot is an element with no other element between it and , which is not .

Equations
theorem eq_bot_or_eq_of_le_atom {α : Type u_1} [order_bot α] {a b : α} (ha : is_atom a) (hab : b a) :
b = b = a
theorem is_atom.Iic {α : Type u_1} [order_bot α] {x a : α} (ha : is_atom a) (hax : a x) :
is_atom a, hax⟩
theorem is_atom.of_is_atom_coe_Iic {α : Type u_1} [order_bot α] {x : α} {a : (set.Iic x)} (ha : is_atom a) :
def is_coatom {α : Type u_1} [order_top α] (a : α) :
Prop

A coatom of an order_top is an element with no other element between it and , which is not .

Equations
theorem eq_top_or_eq_of_coatom_le {α : Type u_1} [order_top α] {a b : α} (ha : is_coatom a) (hab : a b) :
b = b = a
theorem is_coatom.Ici {α : Type u_1} [order_top α] {x a : α} (ha : is_coatom a) (hax : x a) :
is_coatom a, hax⟩
theorem is_coatom.of_is_coatom_coe_Ici {α : Type u_1} [order_top α] {x : α} {a : (set.Ici x)} (ha : is_coatom a) :
theorem is_atom.inf_eq_bot_of_ne {α : Type u_1} [semilattice_inf_bot α] {a b : α} (ha : is_atom a) (hb : is_atom b) (hab : a b) :
a b =
theorem is_atom.disjoint_of_ne {α : Type u_1} [semilattice_inf_bot α] {a b : α} (ha : is_atom a) (hb : is_atom b) (hab : a b) :
theorem is_coatom.sup_eq_top_of_ne {α : Type u_1} [semilattice_sup_top α] {a b : α} (ha : is_coatom a) (hb : is_coatom b) (hab : a b) :
a b =
@[simp]
theorem is_coatom_dual_iff_is_atom {α : Type u_1} [bounded_lattice α] {a : α} :
@[simp]
theorem is_atom_dual_iff_is_coatom {α : Type u_1} [bounded_lattice α] {a : α} :
@[class]
structure is_atomic (α : Type u_1) [bounded_lattice α] :
Prop

A lattice is atomic iff every element other than has an atom below it.

Instances
@[class]
structure is_coatomic (α : Type u_1) [bounded_lattice α] :
Prop

A lattice is coatomic iff every element other than has a coatom above it.

Instances
@[simp]
@[simp]
@[instance]
def is_atomic.is_coatomic_dual {α : Type u_1} [bounded_lattice α] [h : is_atomic α] :
@[instance]
def is_atomic.set.Iic.is_atomic {α : Type u_1} [bounded_lattice α] [is_atomic α] {x : α} :
@[instance]
def is_coatomic.is_coatomic {α : Type u_1} [bounded_lattice α] [h : is_coatomic α] :
@[instance]
def is_coatomic.set.Ici.is_coatomic {α : Type u_1} [bounded_lattice α] [is_coatomic α] {x : α} :
theorem is_atomic_iff_forall_is_atomic_Iic {α : Type u_1} [bounded_lattice α] :
is_atomic α ∀ (x : α), is_atomic (set.Iic x)
@[class]
structure is_atomistic (α : Type u_1) [complete_lattice α] :
Prop

A lattice is atomistic iff every element is a Sup of a set of atoms.

Instances
@[class]
structure is_coatomistic (α : Type u_1) [complete_lattice α] :
Prop

A lattice is coatomistic iff every element is an Inf of a set of coatoms.

Instances
@[instance]
@[instance]
def is_atomistic.is_atomic {α : Type u_1} [complete_lattice α] [is_atomistic α] :
@[simp]
theorem Sup_atoms_le_eq {α : Type u_1} [complete_lattice α] [is_atomistic α] (b : α) :
Sup {a : α | is_atom a a b} = b
@[simp]
theorem Sup_atoms_eq_top {α : Type u_1} [complete_lattice α] [is_atomistic α] :
Sup {a : α | is_atom a} =
theorem le_iff_atom_le_imp {α : Type u_1} [complete_lattice α] [is_atomistic α] {a b : α} :
a b ∀ (c : α), is_atom cc ac b
@[instance]
@[instance]
@[class]
structure is_simple_lattice (α : Type u_2) [bounded_lattice α] :
Prop

A lattice is simple iff it has only two elements, and .

Instances
@[simp]
theorem is_atom_top {α : Type u_1} [bounded_lattice α] [is_simple_lattice α] :
@[simp]
theorem is_coatom_bot {α : Type u_1} [bounded_lattice α] [is_simple_lattice α] :
@[instance]
@[instance]

Every simple lattice is order-isomorphic to bool.

Equations
@[instance]
@[simp]
theorem order_iso.is_atom_iff {α : Type u_1} [bounded_lattice α] {β : Type u_2} [bounded_lattice β] (f : α ≃o β) (a : α) :
@[simp]
theorem order_iso.is_coatom_iff {α : Type u_1} [bounded_lattice α] {β : Type u_2} [bounded_lattice β] (f : α ≃o β) (a : α) :
theorem order_iso.is_simple_lattice_iff {α : Type u_1} [bounded_lattice α] {β : Type u_2} [bounded_lattice β] (f : α ≃o β) :
theorem order_iso.is_simple_lattice {α : Type u_1} [bounded_lattice α] {β : Type u_2} [bounded_lattice β] [h : is_simple_lattice β] (f : α ≃o β) :
theorem order_iso.is_atomic_iff {α : Type u_1} [bounded_lattice α] {β : Type u_2} [bounded_lattice β] (f : α ≃o β) :
theorem order_iso.is_coatomic_iff {α : Type u_1} [bounded_lattice α] {β : Type u_2} [bounded_lattice β] (f : α ≃o β) :
theorem is_compl.is_atom_iff_is_coatom {α : Type u_1} [bounded_lattice α] [is_modular_lattice α] {a b : α} (hc : is_compl a b) :
theorem is_compl.is_coatom_iff_is_atom {α : Type u_1} [bounded_lattice α] [is_modular_lattice α] {a b : α} (hc : is_compl a b) :