Submonoid of inverses #
Given a submonoid N of a monoid M, we define the submonoid N.leftInv as the submonoid of
left inverses of N. When M is commutative, we may define fromCommLeftInv : N.leftInv →* N
since the inverses are unique. When N ≤ IsUnit.Submonoid M, this is precisely
the pointwise inverse of N, and we may define leftInvEquiv : S.leftInv ≃* S.
For the pointwise inverse of submonoids of groups, please refer to
GroupTheory.Submonoid.Pointwise.
N.leftInv is distinct from N.units, which is the subgroup of Mˣ containing all units that
are in N. See the implementation notes of GroupTheory/Submonoid/Units for more details on
related constructions.
TODO #
Define the submonoid of right inverses and two-sided inverses. See the comments of #10679 for a possible implementation.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Submonoid.instGroupSubtypeMemSubmonoidToMulOneClassInstMembershipInstSetLikeSubmonoidSubmonoid = let __src := inferInstanceAs (Monoid ↥(IsUnit.submonoid M)); Group.mk ⋯
Equations
- One or more equations did not get rendered due to their size.
Equations
- Submonoid.instCommGroupSubtypeMemSubmonoidToMulOneClassToMonoidInstMembershipInstSetLikeSubmonoidSubmonoid = let __src := inferInstanceAs (Group ↥(IsUnit.submonoid M)); CommGroup.mk ⋯
S.leftNeg is the additive submonoid containing all the left additive inverses of S.
Equations
- AddSubmonoid.leftNeg S = { toAddSubsemigroup := { carrier := {x : M | ∃ (y : ↥S), x + ↑y = 0}, add_mem' := ⋯ }, zero_mem' := ⋯ }
Instances For
The function from S.leftAdd to S sending an element to its right additive
inverse in S. This is an AddMonoidHom when M is commutative.
Equations
Instances For
The function from S.leftInv to S sending an element to its right inverse in S.
This is a MonoidHom when M is commutative.
Equations
Instances For
Equations
- ⋯ = ⋯
Instances For
The AddMonoidHom from S.leftNeg to S sending an element to its
right additive inverse in S.
Equations
- AddSubmonoid.fromCommLeftNeg S = { toZeroHom := { toFun := AddSubmonoid.fromLeftNeg S, map_zero' := ⋯ }, map_add' := ⋯ }
Instances For
The MonoidHom from S.leftInv to S sending an element to its right inverse in S.
Equations
- Submonoid.fromCommLeftInv S = { toOneHom := { toFun := Submonoid.fromLeftInv S, map_one' := ⋯ }, map_mul' := ⋯ }
Instances For
The additive submonoid of pointwise additive inverse of S is
AddEquiv to S.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The submonoid of pointwise inverse of S is MulEquiv to S.
Equations
- One or more equations did not get rendered due to their size.