Sublattices #
This file defines sublattices.
TODO #
Subsemilattices, if people care about them.
Tags #
sublattice
A sublattice of a lattice is a set containing the suprema and infima of any of its elements.
- carrier : Set α
The underlying set of a sublattice. Do not use directly. Instead, use the coercion
Sublattice α → Set α
, which Lean should automatically insert for you in most cases. - supClosed' : SupClosed self.carrier
- infClosed' : InfClosed self.carrier
Instances For
Equations
- Sublattice.instSetLike = { coe := fun (L : Sublattice α) => L.carrier, coe_injective' := ⋯ }
Turn a set closed under supremum and infimum into a sublattice.
Equations
- Sublattice.ofIsSublattice s hs = { carrier := s, supClosed' := ⋯, infClosed' := ⋯ }
Instances For
Copy of a sublattice with a new carrier
equal to the old one. Useful to fix definitional
equalities.
Equations
- L.copy s hs = { carrier := s, supClosed' := ⋯, infClosed' := ⋯ }
Instances For
Two sublattices are equal if they have the same elements.
A sublattice of a lattice inherits a supremum.
A sublattice of a lattice inherits an infimum.
A sublattice of a lattice inherits a lattice structure.
Equations
- L.instLatticeCoe = Function.Injective.lattice (fun (a : ↥L) => ↑a) ⋯ ⋯ ⋯
A sublattice of a distributive lattice inherits a distributive lattice structure.
Equations
- L.instDistribLatticeCoe = Function.Injective.distribLattice (fun (a : ↥L) => ↑a) ⋯ ⋯ ⋯
The natural lattice hom from a sublattice to the original lattice.
Equations
- L.subtype = { toFun := Subtype.val, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
The inclusion homomorphism from a sublattice L
to a bigger sublattice M
.
Equations
- Sublattice.inclusion h = { toFun := Set.inclusion h, map_sup' := ⋯, map_inf' := ⋯ }
Instances For
The maximum sublattice of a lattice.
Equations
- Sublattice.instTop = { top := { carrier := Set.univ, supClosed' := ⋯, infClosed' := ⋯ } }
The empty sublattice of a lattice.
The inf of two sublattices is their intersection.
Equations
- Sublattice.instInf = { min := fun (L M : Sublattice α) => { carrier := ↑L ∩ ↑M, supClosed' := ⋯, infClosed' := ⋯ } }
The inf of sublattices is their intersection.
Equations
- Sublattice.instInfSet = { sInf := fun (S : Set (Sublattice α)) => { carrier := ⨅ L ∈ S, ↑L, supClosed' := ⋯, infClosed' := ⋯ } }
The top sublattice is isomorphic to the original lattice.
This is the sublattice version of Equiv.Set.univ α
.
Equations
- Sublattice.topEquiv = { toEquiv := Equiv.Set.univ α, map_rel_iff' := ⋯ }
Instances For
Sublattices of a lattice form a complete lattice.
Equations
- Sublattice.instCompleteLattice = CompleteLattice.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- Sublattice.instUniqueOfIsEmpty = { toInhabited := Sublattice.instInhabited, uniq := ⋯ }
The preimage of a sublattice along a lattice homomorphism.
Equations
- Sublattice.comap f L = { carrier := ⇑f ⁻¹' ↑L, supClosed' := ⋯, infClosed' := ⋯ }
Instances For
The image of a sublattice along a monoid homomorphism is a sublattice.
Equations
- Sublattice.map f L = { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯ }
Instances For
Binary product of sublattices as a sublattice.
Instances For
The product of sublattices is isomorphic to their product as lattices.
Equations
- L.prodEquiv M = { toEquiv := Equiv.Set.prod ↑L ↑M, map_rel_iff' := ⋯ }
Instances For
Arbitrary product of sublattices. Given an index set s
and a family of sublattices
L : Π i, Sublattice (α i)
, pi s L
is the sublattice of dependent functions f : Π i, α i
such
that f i
belongs to L i
whenever i ∈ s
.
Equations
- Sublattice.pi s L = { carrier := s.pi fun (i : κ) => ↑(L i), supClosed' := ⋯, infClosed' := ⋯ }