@@ -92,7 +92,8 @@ instance instInv : Inv αˣ :=
92
92
attribute [instance] AddUnits.instNeg
93
93
94
94
/-- See Note [custom simps projection] -/
95
- @[to_additive "See Note [custom simps projection] "]
95
+ @[to_additive
96
+ "See Note [custom simps projection]" ]
96
97
def Simps.val_inv (u : αˣ) : α := ↑(u⁻¹)
97
98
98
99
initialize_simps_projections Units (as_prefix val, val_inv → null, inv → val_inv, as_prefix val_inv)
@@ -104,15 +105,20 @@ initialize_simps_projections AddUnits
104
105
theorem val_mk (a : α) (b h₁ h₂) : ↑(Units.mk a b h₁ h₂) = a :=
105
106
rfl
106
107
107
- @[to_additive (attr := ext) ]
108
- theorem ext : Function.Injective (val : αˣ → α)
108
+ @[to_additive]
109
+ theorem val_injective : Function.Injective (val : αˣ → α)
109
110
| ⟨v, i₁, vi₁, iv₁⟩, ⟨v', i₂, vi₂, iv₂⟩, e => by
110
111
simp only at e; subst v'; congr
111
112
simpa only [iv₂, vi₁, one_mul, mul_one] using mul_assoc i₂ v i₁
112
113
114
+ @[to_additive (attr := ext)]
115
+ theorem ext {u v : αˣ} (huv : u.val = v.val) : u = v := val_injective huv
116
+
113
117
@[to_additive (attr := norm_cast)]
114
- theorem eq_iff {a b : αˣ} : (a : α) = b ↔ a = b :=
115
- ext.eq_iff
118
+ theorem val_inj {a b : αˣ} : (a : α) = b ↔ a = b :=
119
+ val_injective.eq_iff
120
+
121
+ @[to_additive (attr := deprecated val_inj (since := "2025-06-21"))] alias eq_iff := val_inj
116
122
117
123
/-- Units have decidable equality if the base `Monoid` has decidable equality. -/
118
124
@[to_additive "Additive units have decidable equality
@@ -173,7 +179,7 @@ theorem val_one : ((1 : αˣ) : α) = 1 :=
173
179
rfl
174
180
175
181
@[to_additive (attr := simp, norm_cast)]
176
- theorem val_eq_one {a : αˣ} : (a : α) = 1 ↔ a = 1 := by rw [← Units.val_one, eq_iff ]
182
+ theorem val_eq_one {a : αˣ} : (a : α) = 1 ↔ a = 1 := by rw [← Units.val_one, val_inj ]
177
183
178
184
@[to_additive (attr := simp)]
179
185
theorem inv_mk (x y : α) (h₁ h₂) : (mk x y h₁ h₂)⁻¹ = mk y x h₂ h₁ :=
@@ -490,7 +496,7 @@ theorem unit_spec (h : IsUnit a) : ↑h.unit = a :=
490
496
491
497
@[to_additive (attr := simp)]
492
498
theorem unit_one (h : IsUnit (1 : M)) : h.unit = 1 :=
493
- Units.eq_iff. 1 rfl
499
+ Units.ext rfl
494
500
495
501
@[to_additive]
496
502
theorem unit_mul (ha : IsUnit a) (hb : IsUnit b) : (ha.mul hb).unit = ha.unit * hb.unit :=
0 commit comments