Modular Lattices #
This file defines (semi)modular lattices, a kind of lattice useful in algebra. For examples, look to the subobject lattices of abelian groups, submodules, and ideals, or consider any distributive lattice.
Typeclasses #
We define (semi)modularity typeclasses as Prop-valued mixins.
IsWeakUpperModularLattice: Weakly upper modular lattices. Lattice wherea ⊔ bcoversaandbifaandbboth covera ⊓ b.IsWeakLowerModularLattice: Weakly lower modular lattices. Lattice whereaandbcovera ⊓ bifa ⊔ bcovers bothaandbIsUpperModularLattice: Upper modular lattices. Lattices wherea ⊔ bcoversaifbcoversa ⊓ b.IsLowerModularLattice: Lower modular lattices. Lattices whereacoversa ⊓ bifa ⊔ bcoversb.
IsModularLattice: Modular lattices. Lattices wherea ≤ c → (a ⊔ b) ⊓ c = a ⊔ (b ⊓ c). We only require an inequality because the other direction holds in all lattices.
Main Definitions #
infIccOrderIsoIccSupgives an order isomorphism between the intervals[a ⊓ b, a]and[b, a ⊔ b]. This corresponds to the diamond (or second) isomorphism theorems of algebra.
Main Results #
isModularLattice_iff_inf_sup_inf_assoc: Modularity is equivalent to theinf_sup_inf_assoc:(x ⊓ z) ⊔ (y ⊓ z) = ((x ⊓ z) ⊔ y) ⊓ zDistribLattice.isModularLattice: Distributive lattices are modular.
References #
- [Manfred Stern, Semimodular lattices. {Theory} and applications][stern2009]
- [Wikipedia, Modular Lattice][https://en.wikipedia.org/wiki/Modular_lattice]
TODO #
- Relate atoms and coatoms in modular lattices
A weakly upper modular lattice is a lattice where a ⊔ b covers a and b if a and b both
cover a ⊓ b.
a ⊔ bcoversaandbifaandbboth covera ⊓ b.
Instances
A weakly lower modular lattice is a lattice where a and b cover a ⊓ b if a ⊔ b covers
both a and b.
aandbcovera ⊓ bifa ⊔ bcovers bothaandb
Instances
An upper modular lattice, aka semimodular lattice, is a lattice where a ⊔ b covers a and b
if either a or b covers a ⊓ b.
a ⊔ bcoversaandbif eitheraorbcoversa ⊓ b
Instances
a ⊔ b covers a and b if either a or b covers a ⊓ b
a and b both cover a ⊓ b if a ⊔ b covers either a or b
Alias of covBy_sup_of_inf_covBy_of_inf_covBy_left.
Equations
- ⋯ = ⋯
Alias of inf_covBy_of_covBy_sup_of_covBy_sup_left.
Equations
- ⋯ = ⋯
Alias of covBy_sup_of_inf_covBy_left.
Alias of covBy_sup_of_inf_covBy_right.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Alias of inf_covBy_of_covBy_sup_left.
Alias of inf_covBy_of_covBy_sup_right.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
A generalization of the theorem that if N is a submodule of M and
N and M / N are both Artinian, then M is Artinian.
A generalization of the theorem that if N is a submodule of M and
N and M / N are both Noetherian, then M is Noetherian.
The diamond isomorphism between the intervals [a ⊓ b, a] and [b, a ⊔ b]
Equations
Instances For
The diamond isomorphism between the intervals ]a ⊓ b, a[ and }b, a ⊔ b[.
Equations
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
The diamond isomorphism between the intervals Set.Iic a and Set.Ici b.
Equations
- h.IicOrderIsoIci = (OrderIso.setCongr (Set.Iic a) (Set.Icc (a ⊓ b) a) ⋯).trans ((infIccOrderIsoIccSup a b).trans (OrderIso.setCongr (Set.Icc b (a ⊔ b)) (Set.Ici b) ⋯))
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯