Modular Lattices #
This file defines 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.
Main Definitions #
is_modular_lattice
defines a modular lattice to be one such thatx ≤ z → (x ⊔ y) ⊓ z ≤ x ⊔ (y ⊓ z)
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.
To do #
- Relate atoms and coatoms in modular lattices
@[class]
A modular lattice is one with a limited associativity between ⊓
and ⊔
.
theorem
sup_inf_assoc_of_le
{α : Type u_1}
[lattice α]
[is_modular_lattice α]
{x : α}
(y : α)
{z : α}
(h : x ≤ z) :
theorem
inf_sup_assoc_of_le
{α : Type u_1}
[lattice α]
[is_modular_lattice α]
{x : α}
(y : α)
{z : α}
(h : z ≤ x) :
@[protected, instance]
theorem
well_founded_lt_exact_sequence
{α : Type u_1}
[lattice α]
[is_modular_lattice α]
{β : Type u_2}
{γ : Type u_3}
[partial_order β]
[preorder γ]
(h₁ : well_founded has_lt.lt)
(h₂ : well_founded has_lt.lt)
(K : α)
(f₁ : β → α)
(f₂ : α → β)
(g₁ : γ → α)
(g₂ : α → γ)
(gci : galois_coinsertion f₁ f₂)
(gi : galois_insertion g₂ g₁)
(hf : ∀ (a : α), f₁ (f₂ a) = a ⊓ K)
(hg : ∀ (a : α), g₁ (g₂ a) = a ⊔ K) :
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.
theorem
well_founded_gt_exact_sequence
{α : Type u_1}
[lattice α]
[is_modular_lattice α]
{β : Type u_2}
{γ : Type u_3}
[preorder β]
[partial_order γ]
(h₁ : well_founded gt)
(h₂ : well_founded gt)
(K : α)
(f₁ : β → α)
(f₂ : α → β)
(g₁ : γ → α)
(g₂ : α → γ)
(gci : galois_coinsertion f₁ f₂)
(gi : galois_insertion g₂ g₁)
(hf : ∀ (a : α), f₁ (f₂ a) = a ⊓ K)
(hg : ∀ (a : α), g₁ (g₂ a) = a ⊔ K) :
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]
def
is_compl.Iic_order_iso_Ici
{α : Type u_1}
[lattice α]
[bounded_order α]
[is_modular_lattice α]
{a b : α}
(h : is_compl 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) _))
@[protected, instance]
theorem
disjoint.disjoint_sup_right_of_disjoint_sup_left
{α : Type u_1}
[lattice α]
[order_bot α]
[is_modular_lattice α]
{a b c : α}
(h : disjoint a b)
(hsup : disjoint (a ⊔ b) c) :
theorem
disjoint.disjoint_sup_left_of_disjoint_sup_right
{α : Type u_1}
[lattice α]
[order_bot α]
[is_modular_lattice α]
{a b c : α}
(h : disjoint b c)
(hsup : disjoint a (b ⊔ c)) :
@[protected, instance]
def
is_modular_lattice.is_modular_lattice_Iic
{α : Type u_1}
[lattice α]
[is_modular_lattice α]
{a : α} :
@[protected, instance]
def
is_modular_lattice.is_modular_lattice_Ici
{α : Type u_1}
[lattice α]
[is_modular_lattice α]
{a : α} :
@[protected, instance]
def
is_modular_lattice.is_complemented_Iic
{α : Type u_1}
[lattice α]
[is_modular_lattice α]
{a : α}
[bounded_order α]
[is_complemented α] :
@[protected, instance]
def
is_modular_lattice.is_complemented_Ici
{α : Type u_1}
[lattice α]
[is_modular_lattice α]
{a : α}
[bounded_order α]
[is_complemented α] :