The range of a MonoidWithZeroHom #
Given a MonoidWithZeroHom f : A → B whose codomain B is a MonoidWithZero, we define the
type MonoidWithZeroHom.valueMonoid as the submonoid of Bˣ generated by the invertible elements
in the range of f. For example, if A = ℕ, f is the natural cast to B where B is
ℝ≥0, thenMonoidWithZero.valueMonoidare the positive natural numbers inℝ≥0;WithZero ℤ, thenMonoidWithZero.valueMonoid = {1}.
MonoidWithZeroHom.ValueMonoid₀ is the MonoidWithZero obtained by
adjoining 0 to the previous type.
Likewise, MonoidWithZeroHom.valueGroup is the subgroup of Bˣ generated by the invertible
elements in range f and MonoidWithZeroHom.ValueGroup₀ adds a 0 to the previous group.
When B is commutative, then both MonoidWithZeroHom.valueGroup f and
MonoidWithZeroHom.ValueGroup₀ f are also commutative and the former can be described more
explicitly (see MonoidWithZeroHom.mem_valueGroup_iff_of_comm).
Main declarations #
valueMonoid fis the smallest submonoid ofBˣcontaining the range off;ValueMonoid₀ fis the smallest monoid with0containing the range off;valueGroup fis the smallest subgroup ofBˣcontaining the range off;ValueMonoid₀ fis the smallest group with0containing the range off;- When
Bis a group with zero, rather than merely a monoid with zero, the above definitions all coincide: seevalueMonoid_eq_valueGroupfor an equality as submonoids andvalueMonoid_eq_valueGroup'for an equality as subsets. - When
Bis a commutative group with zero,MonoidWithZeroHom.valueGroupcan be explicitly described as the elements that are ratios of terms inrange f, seeMonoidWithZeroHom.mem_valueGroup_iff_of_comm.
Implementation details #
MonoidWithZeroHom.valueMonoid is defined explicitly in terms of its carrier, by proving the
required properties; that it coincides with the submonoid generated by the closure is proven in
MonoidWithZeroHom.valueMonoid_eq_closure, but using the latter as definition yields to unwanted
unfolding.
For a morphism of monoids with zero f, this is a smallest submonoid of the invertible
elements in the codomain containing the range of f.
Equations
Instances For
For a morphism of monoids with zero f, this is the smallest subgroup of the invertible
elements in the codomain containing the range of f.
Equations
Instances For
For a morphism of monoids with zero f, this is the smallest submonoid with zero of the
codomain containing the range of f.
Equations
Instances For
Alias of MonoidWithZeroHom.ValueMonoid₀.
For a morphism of monoids with zero f, this is the smallest submonoid with zero of the
codomain containing the range of f.
Instances For
For a morphism of monoids with zero f, this is a smallest subgroup with zero of the
codomain containing the range of f.
Equations
Instances For
Alias of MonoidWithZeroHom.ValueGroup₀.
For a morphism of monoids with zero f, this is a smallest subgroup with zero of the
codomain containing the range of f.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Alias of MonoidWithZeroHom.valueMonoid.
For a morphism of monoids with zero f, this is a smallest submonoid of the invertible
elements in the codomain containing the range of f.
Instances For
Alias of MonoidWithZeroHom.valueGroup.
For a morphism of monoids with zero f, this is the smallest subgroup of the invertible
elements in the codomain containing the range of f.
Instances For
Alias of MonoidWithZeroHom.ValueMonoid₀.
For a morphism of monoids with zero f, this is the smallest submonoid with zero of the
codomain containing the range of f.
Instances For
Alias of MonoidWithZeroHom.ValueGroup₀.
For a morphism of monoids with zero f, this is a smallest subgroup with zero of the
codomain containing the range of f.