Saturation of a submonoid #
We define a submonoid s to be saturated if x * y ∈ s → x ∈ s ∧ y ∈ s. The type of all
saturated submonoids forms a complete lattice. For a given submonoid s we construct the saturation
of s as the smallest saturated submonoid containing s, which when the underlying type is a
commutative monoid, is given by the formula {x : M | ∃ y : M, x * y ∈ s}.
Saturated submonoids are used in the context of localisations.
We also define the type of saturated submonoids, and endow on it the structure of a complete lattice.
Main Definitions #
Submonoid.MulSaturated: the conditionx * y ∈ s ↔ x ∈ s ∧ y ∈ s. Not to be confused withSubmonoid.PowSaturated.SaturatedSubmonoid: the type ofSubmonoidsatisfyingMulSaturated. It is a complete lattice.Submonoid.saturation: the smallest saturated submonoid containing a given submonoid.
Given a submonoid s of M, we say that s is saturated if it satisfies
x * y ∈ s → x ∈ s ∧ y ∈ s.
It is called MulSaturated here to be distinguished from Submonoid.PowSaturated or
AddSubmonoid.NSMulSaturated, which is also called "saturated" in the literature.
Instances For
Given an additive submonoid s of M, we say that s is saturated if it satisfies
x + y ∈ s → x ∈ s ∧ y ∈ s.
It is called AddSaturated here to be distinguished from Submonoid.PowSaturated or
AddSubmonoid.NSMulSaturated, which is also called "saturated" in the literature.
Instances For
If M is commutative, we only need to check the left condition x ∈ s.
If M is commutative, we only need to check the left condition x ∈ s.
If M is commutative, we only need to check the right condition y ∈ s.
If M is commutative, we only need to check the right condition y ∈ s.
A saturated additive submonoid is a submonoid s that satisfies x + y ∈ s → x ∈ s ∧ y ∈ s.
- addSaturated : self.AddSaturated
Instances For
A saturated submonoid is a submonoid s that satisfies x * y ∈ s → x ∈ s ∧ y ∈ s.
- mulSaturated : self.MulSaturated
Instances For
Equations
- SaturatedSubmonoid.instSetLike M = { coe := fun (x : SaturatedSubmonoid M) => x.carrier, coe_injective' := ⋯ }
Equations
- SaturatedAddSubmonoid.instSetLike M = { coe := fun (x : SaturatedAddSubmonoid M) => x.carrier, coe_injective' := ⋯ }
Equations
- SaturatedSubmonoid.instMin M = { min := fun (s₁ s₂ : SaturatedSubmonoid M) => let __src := s₁.toSubmonoid ⊓ s₂.toSubmonoid; { toSubmonoid := __src, mulSaturated := ⋯ } }
Equations
- One or more equations did not get rendered due to their size.
Equations
- SaturatedSubmonoid.instInfSet M = { sInf := fun (f : Set (SaturatedSubmonoid M)) => { carrier := ⋂ s ∈ f, ↑s, mul_mem' := ⋯, one_mem' := ⋯, mulSaturated := ⋯ } }
Equations
- SaturatedAddSubmonoid.instInfSet M = { sInf := fun (f : Set (SaturatedAddSubmonoid M)) => { carrier := ⋂ s ∈ f, ↑s, add_mem' := ⋯, zero_mem' := ⋯, addSaturated := ⋯ } }
Equations
- SaturatedSubmonoid.instCompleteSemilatticeInf M = { toPartialOrder := SaturatedSubmonoid.instPartialOrder, toInfSet := SaturatedSubmonoid.instInfSet M, sInf_le := ⋯, le_sInf := ⋯ }
Equations
- SaturatedAddSubmonoid.instCompleteSemilatticeInf M = { toPartialOrder := SaturatedAddSubmonoid.instPartialOrder, toInfSet := SaturatedAddSubmonoid.instInfSet M, sInf_le := ⋯, le_sInf := ⋯ }
The saturation of a submonoid s is the intersection of all saturated submonoids that contain
s.
If M is a commutative monoid, then this is {x : M | ∃ y : M, x * y ∈ s}.
Equations
- s.saturation = sInf {t : SaturatedSubmonoid M | s ≤ t.toSubmonoid}
Instances For
The saturation of an additive submonoid s is the intersection of all saturated submonoids
that contain s.
If M is a commutative additive monoid, then this is {x : M | ∃ y : M, x + y ∈ s}.
Equations
- s.saturation = sInf {t : SaturatedAddSubmonoid M | s ≤ t.toAddSubmonoid}
Instances For
saturation forms a GaloisInsertion with the forgetful functor
SaturatedSubmonoid.toSubmonoid.
Equations
- Submonoid.giSaturation M = { choice := fun (s : Submonoid M) (hs : s.saturation.toSubmonoid ≤ s) => { toSubmonoid := s, mulSaturated := ⋯ }, gc := ⋯, le_l_u := ⋯, choice_eq := ⋯ }
Instances For
saturation forms a GaloisInsertion with the forgetful functor
SaturatedAddSubmonoid.toAddSubmonoid.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Alias of the reverse direction of Submonoid.saturation_le_iff_le.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.