Skip to content

Commit 2cc3e7e

Browse files
committed
feat: fun y ↦ x / y as an involutive equivalence in commutative groups
1 parent 4a14c8e commit 2cc3e7e

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

Mathlib/Algebra/AddTorsor/Basic.lean

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,4 +207,8 @@ theorem injective_pointReflection_left_of_injective_two_nsmul {G P : Type*} [Add
207207
@[deprecated (since := "2024-11-18")] alias injective_pointReflection_left_of_injective_bit0 :=
208208
injective_pointReflection_left_of_injective_two_nsmul
209209

210+
lemma pointReflection_eq_constSub {G : Type*} [AddCommGroup G] (x : G) :
211+
pointReflection x = constSub (2 • x) := by
212+
ext; simp [pointReflection, sub_add_eq_add_sub, two_nsmul]
213+
210214
end Equiv

Mathlib/Algebra/Group/Equiv/Basic.lean

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,4 +184,28 @@ theorem inv_symm : (Equiv.inv G).symm = Equiv.inv G := rfl
184184

185185
end InvolutiveInv
186186

187+
section CommGroup
188+
189+
variable [CommGroup G] (x : G)
190+
191+
/-- The involution in a commutative group given by `fun y ↦ x / y` where `x` is fixed. -/
192+
@[to_additive (attr := simps)
193+
"The involution in an additive commutative group given by `fun y ↦ x - y` where `x` is fixed."]
194+
def constDiv : Perm G where
195+
toFun := (x / ·)
196+
invFun := (x / ·)
197+
left_inv := div_div_self' _
198+
right_inv := div_div_self' _
199+
200+
@[to_additive (attr := simp)]
201+
lemma symm_constDiv : (constDiv x).symm = constDiv x := rfl
202+
203+
@[to_additive (attr := simp)]
204+
lemma constDiv_involutive : Function.Involutive (constDiv x) := (constDiv x).left_inv
205+
206+
@[to_additive (attr := simp)]
207+
lemma const_div_involutive : Function.Involutive (x / ·) := constDiv_involutive x
208+
209+
end CommGroup
210+
187211
end Equiv

0 commit comments

Comments
 (0)