Modular Lattices #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
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.
is_weak_upper_modular_lattice
: Weakly upper modular lattices. Lattice wherea ⊔ b
coversa
andb
ifa
andb
both covera ⊓ b
.is_weak_lower_modular_lattice
: Weakly lower modular lattices. Lattice wherea
andb
covera ⊓ b
ifa ⊔ b
covers botha
andb
is_upper_modular_lattice
: Upper modular lattices. Lattices wherea ⊔ b
coversa
ifb
coversa ⊓ b
.is_lower_modular_lattice
: Lower modular lattices. Lattices wherea
coversa ⊓ b
ifa ⊔ b
coversb
.
is_modular_lattice
: 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 #
inf_Icc_order_iso_Icc_sup
gives 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 #
is_modular_lattice_iff_inf_sup_inf_assoc
: Modularity is equivalent to theinf_sup_inf_assoc
:(x ⊓ z) ⊔ (y ⊓ z) = ((x ⊓ z) ⊔ y) ⊓ z
distrib_lattice.is_modular_lattice
: Distributive lattices are modular.
References #
- Manfred Stern, Semimodular lattices. {Theory} and applications
- [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
.
Instances of this typeclass
A weakly lower modular lattice is a lattice where a
and b
cover a ⊓ b
if a ⊔ b
covers
both a
and b
.
Instances of this typeclass
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
.
Instances of this typeclass
A lower modular lattice is a lattice where a
and b
both cover a ⊓ b
if a ⊔ b
covers
either a
or b
.
Instances of this typeclass
A modular lattice is one with a limited associativity between ⊓
and ⊔
.
Alias of covby_sup_of_inf_covby_of_inf_covby_left
.
Alias of inf_covby_of_covby_sup_of_covby_sup_left
.
Alias of covby_sup_of_inf_covby_left
.
Alias of covby_sup_of_inf_covby_right
.
Alias of inf_covby_of_covby_sup_left
.
Alias of inf_covby_of_covby_sup_right
.
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]
The diamond isomorphism between the intervals ]a ⊓ b, a[
and }b, a ⊔ b[
.
The diamond isomorphism between the intervals set.Iic a
and set.Ici b
.
Equations
- h.Iic_order_iso_Ici = (order_iso.set_congr (set.Iic a) (set.Icc (a ⊓ b) a) _).trans ((inf_Icc_order_iso_Icc_sup a b).trans (order_iso.set_congr (set.Icc b (a ⊔ b)) (set.Ici b) _))