Complete Sublattices #
This file defines complete sublattices. These are subsets of complete lattices which are closed under arbitrary suprema and infima. As a standard example one could take the complete sublattice of invariant submodules of some module with respect to a linear map.
Main definitions: #
CompleteSublattice
: the definition of a complete sublatticeCompleteSublattice.mk'
: an alternate constructor for a complete sublattice, demanding fewer hypothesesCompleteSublattice.instCompleteLattice
: a complete sublattice is a complete latticeCompleteSublattice.map
: complete sublattices push forward under complete lattice morphisms.CompleteSublattice.comap
: complete sublattices pull back under complete lattice morphisms.
A complete sublattice is a subset of a complete lattice that is closed under arbitrary suprema and infima.
- supClosed' : SupClosed self.carrier
- infClosed' : InfClosed self.carrier
Instances For
To check that a subset is a complete sublattice, one does not need to check that it is closed
under binary Sup
since this follows from the stronger sSup
condition. Likewise for infima.
Equations
- CompleteSublattice.mk' carrier sSupClosed' sInfClosed' = { carrier := carrier, supClosed' := ⋯, infClosed' := ⋯, sSupClosed' := sSupClosed', sInfClosed' := sInfClosed' }
Instances For
Equations
- CompleteSublattice.instSetLike = { coe := fun (L : CompleteSublattice α) => L.carrier, coe_injective' := ⋯ }
Equations
- CompleteSublattice.instMaxSubtypeMem = Sublattice.instSupCoe
Equations
- CompleteSublattice.instMinSubtypeMem = Sublattice.instInfCoe
Equations
- CompleteSublattice.instCompleteLattice = Function.Injective.completeLattice (fun (a : ↥L) => ↑a) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
The natural complete lattice hom from a complete sublattice to the original lattice.
Equations
- L.subtype = { toFun := Subtype.val, map_sInf' := ⋯, map_sSup' := ⋯ }
Instances For
The push forward of a complete sublattice under a complete lattice hom is a complete sublattice.
Equations
- CompleteSublattice.map f L = { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯, sSupClosed' := ⋯, sInfClosed' := ⋯ }
Instances For
The pull back of a complete sublattice under a complete lattice hom is a complete sublattice.
Equations
- CompleteSublattice.comap f L = { carrier := ⇑f ⁻¹' ↑L, supClosed' := ⋯, infClosed' := ⋯, sSupClosed' := ⋯, sInfClosed' := ⋯ }
Instances For
Equations
- CompleteSublattice.instTop_1 = { top := CompleteSublattice.mk' Set.univ ⋯ ⋯ }
Copy of a complete sublattice with a new carrier
equal to the old one. Useful to fix
definitional equalities.
Equations
- L.copy s hs = CompleteSublattice.mk' s ⋯ ⋯
Instances For
The range of a CompleteLatticeHom
is a CompleteSublattice
.
See Note [range copy pattern].
Equations
- f.range = (CompleteSublattice.map f ⊤).copy (Set.range ⇑f) ⋯
Instances For
We can regard a complete lattice homomorphism as an order equivalence to its range.
Equations
- f.toOrderIsoRangeOfInjective hf = OrderEmbedding.orderIso