# Documentation

Mathlib.Order.Birkhoff

# Birkhoff's representation theorem #

This file proves the Birkhoff representation theorem: Any finite distributive lattice can be represented as a sublattice of some powerset algebra.

Precisely, any nonempty finite distributive lattice is isomorphic to the lattice of lower sets of its irreducible elements. And conversely it is isomorphic to the order of its irreducible lower sets.

## Main declarations #

For a nonempty finite distributive lattice α:

• OrderIso.lowerSetSupIrred: α is isomorphic to the lattice of lower sets of its irreducible elements.
• OrderIso.supIrredLowerSet: α is isomorphic to the order of its irreducible lower sets.
• OrderEmbedding.birkhoffSet, OrderEmbedding.birkhoffFinset: Order embedding of α into the powerset lattice of its irreducible elements.
• LatticeHom.birkhoffSet, LatticeHom.birkhoffFinet: Same as the previous two, but bundled as an injective lattice homomorphism.
• exists_birkhoff_representation: α embeds into some powerset algebra. You should prefer using this over the explicit Birkhoff embedding because the Birkhoff embedding is littered with decidability footguns that this existential-packaged version can afford to avoid.

This correspondence between finite distributive lattices and finite boolean algebras is made functorial in... TODO: Actually do it.

## Tags #

birkhoff, representation, stone duality, lattice embedding

@[simp]
theorem UpperSet.infIrred_Ici {α : Type u_1} [] (a : α) :
@[simp]
theorem UpperSet.infIrred_iff_of_finite {α : Type u_1} [] {s : } [] :
∃ (a : α),
@[simp]
theorem LowerSet.supIrred_Iic {α : Type u_1} [] (a : α) :
@[simp]
theorem LowerSet.supIrred_iff_of_finite {α : Type u_1} [] {s : } [] :
∃ (a : α),
noncomputable def OrderIso.lowerSetSupIrred {α : Type u_1} [] [] [] :
α ≃o LowerSet { a : α // }

Birkhoff's Representation Theorem. Any nonempty finite distributive lattice is isomorphic to the lattice of lower sets of its sup-irreducible elements.

Equations
• One or more equations did not get rendered due to their size.
Instances For
noncomputable def OrderIso.supIrredLowerSet {α : Type u_1} [] [] [] :
α ≃o { s : // }

Any nonempty finite distributive lattice is isomorphic to its lattice of sup-irreducible lower sets. This is the other unitor of Birkhoff's representation theorem.

Equations
• One or more equations did not get rendered due to their size.
Instances For
noncomputable def OrderEmbedding.birkhoffSet (α : Type u_1) [] [] :
α ↪o Set { a : α // }

Birkhoff's Representation Theorem. Any finite distributive lattice can be embedded in a powerset lattice.

Equations
• One or more equations did not get rendered due to their size.
Instances For
noncomputable def OrderEmbedding.birkhoffFinset (α : Type u_1) [] [] [DecidablePred SupIrred] :
α ↪o Finset { a : α // }

Birkhoff's Representation Theorem. Any finite distributive lattice can be embedded in a powerset lattice.

Equations
Instances For
@[simp]
theorem OrderEmbedding.coe_birkhoffFinset {α : Type u_1} [] [] [DecidablePred SupIrred] (a : α) :
() =
@[simp]
theorem OrderEmbedding.birkhoffSet_sup {α : Type u_1} [] [] (a : α) (b : α) :
(a b) =
@[simp]
theorem OrderEmbedding.birkhoffSet_inf {α : Type u_1} [] [] (a : α) (b : α) :
(a b) =
@[simp]
theorem OrderEmbedding.birkhoffFinset_sup {α : Type u_1} [] [] [DecidablePred SupIrred] [] (a : α) (b : α) :
(a b) =
@[simp]
theorem OrderEmbedding.birkhoffFinset_inf {α : Type u_1} [] [] [DecidablePred SupIrred] [] (a : α) (b : α) :
(a b) =
@[simp]
theorem OrderEmbedding.birkhoffSet_apply {α : Type u_1} [] [] [] (a : α) :
= (OrderIso.lowerSetSupIrred a)
noncomputable def LatticeHom.birkhoffSet (α : Type u_1) [] [] :
LatticeHom α (Set { a : α // })

Birkhoff's Representation Theorem. Any finite distributive lattice can be embedded in a powerset lattice.

Equations
• One or more equations did not get rendered due to their size.
Instances For
noncomputable def LatticeHom.birkhoffFinset (α : Type u_1) [] [] [] [DecidablePred SupIrred] :
LatticeHom α (Finset { a : α // })

Birkhoff's Representation Theorem. Any finite distributive lattice can be embedded in a powerset lattice.

Equations
• One or more equations did not get rendered due to their size.
Instances For
theorem LatticeHom.birkhoffFinset_injective (α : Type u_1) [] [] [] [DecidablePred SupIrred] :
theorem exists_birkhoff_representation (α : Type u) [] [] :
∃ (β : Type u) (x : ) (x_1 : ) (f : LatticeHom α ()),