Multiplicative and additive equivalence acting on units. #
Left addition of an additive unit is a permutation of the underlying type.
Equations
- AddUnits.addLeft u = { toFun := fun (x : M) => ↑u + x, invFun := fun (x : M) => ↑(-u) + x, left_inv := ⋯, right_inv := ⋯ }
Instances For
Left multiplication by a unit of a monoid is a permutation of the underlying type.
Equations
- Units.mulLeft u = { toFun := fun (x : M) => ↑u * x, invFun := fun (x : M) => ↑u⁻¹ * x, left_inv := ⋯, right_inv := ⋯ }
Instances For
Right addition of an additive unit is a permutation of the underlying type.
Equations
- AddUnits.addRight u = { toFun := fun (x : M) => x + ↑u, invFun := fun (x : M) => x + ↑(-u), left_inv := ⋯, right_inv := ⋯ }
Instances For
Right multiplication by a unit of a monoid is a permutation of the underlying type.
Equations
- Units.mulRight u = { toFun := fun (x : M) => x * ↑u, invFun := fun (x : M) => x * ↑u⁻¹, left_inv := ⋯, right_inv := ⋯ }
Instances For
Left addition in an AddGroup is a permutation of the underlying type.
Equations
- Equiv.addLeft a = AddUnits.addLeft (toAddUnits a)
Instances For
Left multiplication in a Group is a permutation of the underlying type.
Equations
- Equiv.mulLeft a = Units.mulLeft (toUnits a)
Instances For
Extra simp lemma that dsimp can use. simp will never use this.
Extra simp lemma that dsimp can use. simp will never use this.
Right addition in an AddGroup is a permutation of the underlying type.
Equations
- Equiv.addRight a = AddUnits.addRight (toAddUnits a)
Instances For
Right multiplication in a Group is a permutation of the underlying type.
Equations
- Equiv.mulRight a = Units.mulRight (toUnits a)
Instances For
Extra simp lemma that dsimp can use. simp will never use this.
Extra simp lemma that dsimp can use. simp will never use this.
A version of Equiv.addLeft a (-b) that is defeq to a - b.
Equations
- Equiv.subLeft a = { toFun := fun (b : G) => a - b, invFun := fun (b : G) => -b + a, left_inv := ⋯, right_inv := ⋯ }
Instances For
A version of Equiv.mulLeft a b⁻¹ that is defeq to a / b.
Equations
- Equiv.divLeft a = { toFun := fun (b : G) => a / b, invFun := fun (b : G) => b⁻¹ * a, left_inv := ⋯, right_inv := ⋯ }
Instances For
A version of Equiv.addRight (-a) b that is defeq to b - a.
Equations
- Equiv.subRight a = { toFun := fun (b : G) => b - a, invFun := fun (b : G) => b + a, left_inv := ⋯, right_inv := ⋯ }
Instances For
A version of Equiv.mulRight a⁻¹ b that is defeq to b / a.
Equations
- Equiv.divRight a = { toFun := fun (b : G) => b / a, invFun := fun (b : G) => b * a, left_inv := ⋯, right_inv := ⋯ }
Instances For
In a DivisionCommMonoid, Equiv.inv is a MulEquiv. There is a variant of this
MulEquiv.inv' G : G ≃* Gᵐᵒᵖ for the non-commutative case.
Equations
- MulEquiv.inv G = let __src := Equiv.inv G; { toEquiv := { toFun := Inv.inv, invFun := Inv.inv, left_inv := ⋯, right_inv := ⋯ }, map_mul' := ⋯ }