Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 0935e8b

Browse files
urkudmergify[bot]
authored andcommitted
feat(algebra/group/units): add some lemmas about divp (#1388)
* feat(algebra/group/units): add some lemmas about `divp` * Rename lemmas, add new ones
1 parent fe1575a commit 0935e8b

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

src/algebra/group/units.lean

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ section monoid
111111
theorem divp_assoc (a b : α) (u : units α) : a * b /ₚ u = a * (b /ₚ u) :=
112112
mul_assoc _ _ _
113113

114+
@[simp] theorem divp_inv (x : α) (u : units α) : a /ₚ u⁻¹ = a * u := rfl
115+
114116
@[simp] theorem divp_mul_cancel (a : α) (u : units α) : a /ₚ u * u = a :=
115117
(mul_assoc _ _ _).trans $ by rw [units.inv_mul, mul_one]
116118

@@ -120,14 +122,34 @@ section monoid
120122
@[simp] theorem divp_right_inj (u : units α) {a b : α} : a /ₚ u = b /ₚ u ↔ a = b :=
121123
units.mul_right_inj _
122124

123-
theorem divp_eq_one (a : α) (u : units α) : a /ₚ u = 1 ↔ a = u :=
125+
theorem divp_divp_eq_divp_mul (x : α) (u₁ u₂ : units α) : (x /ₚ u₁) /ₚ u₂ = x /ₚ (u₂ * u₁) :=
126+
by simp only [divp, mul_inv_rev, units.coe_mul, mul_assoc]
127+
128+
theorem divp_eq_iff_mul_eq (x : α) (u : units α) (y : α) : x /ₚ u = y ↔ y * u = x :=
129+
u.mul_right_inj.symm.trans $ by rw [divp_mul_cancel]; exact ⟨eq.symm, eq.symm⟩
130+
131+
theorem divp_eq_one_iff_eq (a : α) (u : units α) : a /ₚ u = 1 ↔ a = u :=
124132
(units.mul_right_inj u).symm.trans $ by rw [divp_mul_cancel, one_mul]
125133

126134
@[simp] theorem one_divp (u : units α) : 1 /ₚ u = ↑u⁻¹ :=
127135
one_mul _
128136

129137
end monoid
130138

139+
section comm_monoid
140+
141+
variables [comm_monoid α]
142+
143+
theorem divp_eq_divp_iff {x y : α} {ux uy : units α} :
144+
x /ₚ ux = y /ₚ uy ↔ x * uy = y * ux :=
145+
by rw [divp_eq_iff_mul_eq, mul_comm, ← divp_assoc, divp_eq_iff_mul_eq, mul_comm y ux]
146+
147+
theorem divp_mul_divp (x y : α) (ux uy : units α) :
148+
(x /ₚ ux) * (y /ₚ uy) = (x * y) /ₚ (ux * uy) :=
149+
by rw [← divp_divp_eq_divp_mul, divp_assoc, mul_comm x, divp_assoc, mul_comm]
150+
151+
end comm_monoid
152+
131153
section group
132154
variables [group α]
133155

0 commit comments

Comments
 (0)