Operations on submonoid
s
In this file we define various operations on submonoid
s and monoid_hom
s.
Main definitions
Conversion between multiplicative and additive definitions
submonoid.to_add_submonoid
,submonoid.of_add_submonoid
,add_submonoid.to_submonoid
,add_submonoid.of_submonoid
: convert between multiplicative and additive submonoids ofM
,multiplicative M
, andadditive M
.submonoid.add_submonoid_equiv
: equivalence betweensubmonoid M
andadd_submonoid (additive M)
.
(Commutative) monoid structure on a submonoid
submonoid.to_monoid
,submonoid.to_comm_monoid
: a submonoid inherits a (commutative) monoid structure.
Operations on submonoids
submonoid.comap
: preimage of a submonoid under a monoid homomorphism as a submonoid of the domain;submonoid.map
: image of a submonoid under a monoid homomorphism as a submonoid of the codomain;submonoid.prod
: product of two submonoidss : submonoid M
andt : submonoid N
as a submonoid ofM × N
;
Monoid homomorphisms between submonoid
submonoid.subtype
: embedding of a submonoid into the ambient monoid.submonoid.inclusion
: given two submonoidsS
,T
such thatS ≤ T
,S.inclusion T
is the inclusion ofS
intoT
as a monoid homomorphism;mul_equiv.submonoid_congr
: converts a proof ofS = T
into a monoid isomorphism betweenS
andT
.submonoid.prod_equiv
: monoid isomorphism betweens.prod t
ands × t
;
Operations on monoid_hom
s
monoid_hom.mrange
: range of a monoid homomorphism as a submonoid of the codomain;monoid_hom.mrestrict
: restrict a monoid homomorphism to a submonoid;monoid_hom.cod_mrestrict
: restrict the codomain of a monoid homomorphism to a submonoid;monoid_hom.mrange_restrict
: restrict a monoid homomorphism to its range;
Tags
submonoid, range, product, map, comap
Conversion to/from additive
/multiplicative
Map from submonoids of monoid M
to add_submonoid
s of additive M
.
Map from add_submonoid
s of additive M
to submonoids of M
.
Map from add_submonoid
s of add_monoid M
to submonoids of multiplicative M
.
Map from submonoids of multiplicative M
to add_submonoid
s of add_monoid M
.
Submonoids of monoid M
are isomorphic to additive submonoids of additive M
.
Equations
- submonoid.add_submonoid_equiv M = {to_fun := submonoid.to_add_submonoid _inst_4, inv_fun := submonoid.of_add_submonoid _inst_4, left_inv := _, right_inv := _}
comap
and map
The preimage of an add_submonoid
along an add_monoid
homomorphism is an
add_submonoid
.
The image of an add_submonoid
along an add_monoid
homomorphism is
an add_submonoid
.
map f
and comap f
form a galois_coinsertion
when f
is injective.
Equations
map f
and comap f
form a galois_insertion
when f
is surjective.
Equations
An add_submonoid
of an add_monoid
inherits an addition.
An add_submonoid
of an add_monoid
inherits a zero.
An add_submonoid
of an add_monoid
inherits an add_monoid
structure.
A submonoid of a monoid inherits a monoid structure.
Equations
- S.to_monoid = function.injective.monoid coe _ _ _
An add_submonoid
of an add_comm_monoid
is
an add_comm_monoid
.
The natural monoid hom from an add_submonoid
of add_monoid
M
to M
.
Given add_submonoid
s s
, t
of add_monoid
s A
, B
respectively, s × t
as an add_submonoid
of A × B
.
The product of additive submonoids is isomorphic to their product as additive monoids
The product of submonoids is isomorphic to their product as monoids.
The range of an add_monoid_hom
is an add_submonoid
.
The range of a monoid homomorphism is a submonoid.
Equations
- f.mrange = submonoid.map f ⊤
The range of a surjective monoid hom is the whole of the codomain.
The range of a surjective add_monoid
hom is the whole of the codomain.
The image under an add_monoid
hom of the add_submonoid
generated by a set equals
the add_submonoid
generated by the image of the set.
The image under a monoid hom of the submonoid generated by a set equals the submonoid generated by the image of the set.
Restriction of an add_monoid hom to an add_submonoid
of the domain.
Restriction of a monoid hom to a submonoid of the codomain.
Restriction of an add_monoid
hom to an add_submonoid
of the codomain.
Restriction of an add_monoid
hom to its range interpreted as a submonoid.
Restriction of a monoid hom to its range interpreted as a submonoid.
Equations
- f.mrange_restrict = f.cod_mrestrict f.mrange _
The add_monoid
hom associated to an inclusion of submonoids.
The monoid hom associated to an inclusion of submonoids.
Equations
- submonoid.inclusion h = S.subtype.cod_mrestrict T _
Makes the identity isomorphism from a proof that two submonoids of a multiplicative monoid are equal.
Equations
- mul_equiv.submonoid_congr h = {to_fun := (equiv.set_congr _).to_fun, inv_fun := (equiv.set_congr _).inv_fun, left_inv := _, right_inv := _, map_mul' := _}
Makes the identity additive isomorphism from a proof two submonoids of an additive monoid are equal.