@@ -90,60 +90,60 @@ class Invertible [Mul α] [One α] (a : α) : Type u where
90
90
91
91
/-- The inverse of an `Invertible` element -/
92
92
-- This notation has the same precedence as `Inv.inv`.
93
- prefix :max "⅟ " => Invertible.invOf
93
+ prefix :max "⅟" => Invertible.invOf
94
94
95
95
@[simp]
96
- theorem invOf_mul_self' [Mul α] [One α] (a : α) {_ : Invertible a} : ⅟ a * a = 1 :=
96
+ theorem invOf_mul_self' [Mul α] [One α] (a : α) {_ : Invertible a} : ⅟a * a = 1 :=
97
97
Invertible.invOf_mul_self
98
98
99
- theorem invOf_mul_self [Mul α] [One α] (a : α) [Invertible a] : ⅟ a * a = 1 := invOf_mul_self' _
99
+ theorem invOf_mul_self [Mul α] [One α] (a : α) [Invertible a] : ⅟a * a = 1 := invOf_mul_self' _
100
100
101
101
@[simp]
102
- theorem mul_invOf_self' [Mul α] [One α] (a : α) {_ : Invertible a} : a * ⅟ a = 1 :=
102
+ theorem mul_invOf_self' [Mul α] [One α] (a : α) {_ : Invertible a} : a * ⅟a = 1 :=
103
103
Invertible.mul_invOf_self
104
104
105
- theorem mul_invOf_self [Mul α] [One α] (a : α) [Invertible a] : a * ⅟ a = 1 := mul_invOf_self' _
105
+ theorem mul_invOf_self [Mul α] [One α] (a : α) [Invertible a] : a * ⅟a = 1 := mul_invOf_self' _
106
106
107
107
@[simp]
108
- theorem invOf_mul_cancel_left' [Monoid α] (a b : α) {_ : Invertible a} : ⅟ a * (a * b) = b := by
108
+ theorem invOf_mul_cancel_left' [Monoid α] (a b : α) {_ : Invertible a} : ⅟a * (a * b) = b := by
109
109
rw [← mul_assoc, invOf_mul_self, one_mul]
110
110
example {G} [Group G] (a b : G) : a⁻¹ * (a * b) = b := inv_mul_cancel_left a b
111
111
112
- theorem invOf_mul_cancel_left [Monoid α] (a b : α) [Invertible a] : ⅟ a * (a * b) = b :=
112
+ theorem invOf_mul_cancel_left [Monoid α] (a b : α) [Invertible a] : ⅟a * (a * b) = b :=
113
113
invOf_mul_cancel_left' _ _
114
114
115
115
@[simp]
116
- theorem mul_invOf_cancel_left' [Monoid α] (a b : α) {_ : Invertible a} : a * (⅟ a * b) = b := by
116
+ theorem mul_invOf_cancel_left' [Monoid α] (a b : α) {_ : Invertible a} : a * (⅟a * b) = b := by
117
117
rw [← mul_assoc, mul_invOf_self, one_mul]
118
118
example {G} [Group G] (a b : G) : a * (a⁻¹ * b) = b := mul_inv_cancel_left a b
119
119
120
- theorem mul_invOf_cancel_left [Monoid α] (a b : α) [Invertible a] : a * (⅟ a * b) = b :=
120
+ theorem mul_invOf_cancel_left [Monoid α] (a b : α) [Invertible a] : a * (⅟a * b) = b :=
121
121
mul_invOf_cancel_left' a b
122
122
123
123
@[simp]
124
- theorem invOf_mul_cancel_right' [Monoid α] (a b : α) {_ : Invertible b} : a * ⅟ b * b = a := by
124
+ theorem invOf_mul_cancel_right' [Monoid α] (a b : α) {_ : Invertible b} : a * ⅟b * b = a := by
125
125
simp [mul_assoc]
126
126
example {G} [Group G] (a b : G) : a * b⁻¹ * b = a := inv_mul_cancel_right a b
127
127
128
- theorem invOf_mul_cancel_right [Monoid α] (a b : α) [Invertible b] : a * ⅟ b * b = a :=
128
+ theorem invOf_mul_cancel_right [Monoid α] (a b : α) [Invertible b] : a * ⅟b * b = a :=
129
129
invOf_mul_cancel_right' _ _
130
130
131
131
@[simp]
132
- theorem mul_invOf_cancel_right' [Monoid α] (a b : α) {_ : Invertible b} : a * b * ⅟ b = a := by
132
+ theorem mul_invOf_cancel_right' [Monoid α] (a b : α) {_ : Invertible b} : a * b * ⅟b = a := by
133
133
simp [mul_assoc]
134
134
example {G} [Group G] (a b : G) : a * b * b⁻¹ = a := mul_inv_cancel_right a b
135
135
136
- theorem mul_invOf_cancel_right [Monoid α] (a b : α) [Invertible b] : a * b * ⅟ b = a :=
136
+ theorem mul_invOf_cancel_right [Monoid α] (a b : α) [Invertible b] : a * b * ⅟b = a :=
137
137
mul_invOf_cancel_right' _ _
138
138
139
- theorem invOf_eq_right_inv [Monoid α] {a b : α} [Invertible a] (hac : a * b = 1 ) : ⅟ a = b :=
139
+ theorem invOf_eq_right_inv [Monoid α] {a b : α} [Invertible a] (hac : a * b = 1 ) : ⅟a = b :=
140
140
left_inv_eq_right_inv (invOf_mul_self _) hac
141
141
142
- theorem invOf_eq_left_inv [Monoid α] {a b : α} [Invertible a] (hac : b * a = 1 ) : ⅟ a = b :=
142
+ theorem invOf_eq_left_inv [Monoid α] {a b : α} [Invertible a] (hac : b * a = 1 ) : ⅟a = b :=
143
143
(left_inv_eq_right_inv hac (mul_invOf_self _)).symm
144
144
145
145
theorem invertible_unique {α : Type u} [Monoid α] (a b : α) [Invertible a] [Invertible b]
146
- (h : a = b) : ⅟ a = ⅟ b := by
146
+ (h : a = b) : ⅟a = ⅟b := by
147
147
apply invOf_eq_right_inv
148
148
rw [h, mul_invOf_self]
149
149
@@ -159,7 +159,7 @@ theorem Invertible.congr [Monoid α] (a b : α) [Invertible a] [Invertible b] (h
159
159
160
160
/-- If `r` is invertible and `s = r` and `si = ⅟r`, then `s` is invertible with `⅟s = si`. -/
161
161
def Invertible.copy' [MulOneClass α] {r : α} (hr : Invertible r) (s : α) (si : α) (hs : s = r)
162
- (hsi : si = ⅟ r) : Invertible s where
162
+ (hsi : si = ⅟r) : Invertible s where
163
163
invOf := si
164
164
invOf_mul_self := by rw [hs, hsi, invOf_mul_self]
165
165
mul_invOf_self := by rw [hs, hsi, mul_invOf_self]
@@ -174,38 +174,38 @@ def invertibleOfGroup [Group α] (a : α) : Invertible a :=
174
174
⟨a⁻¹, inv_mul_cancel a, mul_inv_cancel a⟩
175
175
176
176
@[simp]
177
- theorem invOf_eq_group_inv [Group α] (a : α) [Invertible a] : ⅟ a = a⁻¹ :=
177
+ theorem invOf_eq_group_inv [Group α] (a : α) [Invertible a] : ⅟a = a⁻¹ :=
178
178
invOf_eq_right_inv (mul_inv_cancel a)
179
179
180
180
/-- `1` is the inverse of itself -/
181
181
def invertibleOne [Monoid α] : Invertible (1 : α) :=
182
182
⟨1 , mul_one _, one_mul _⟩
183
183
184
184
@[simp]
185
- theorem invOf_one' [Monoid α] {_ : Invertible (1 : α)} : ⅟ (1 : α) = 1 :=
185
+ theorem invOf_one' [Monoid α] {_ : Invertible (1 : α)} : ⅟(1 : α) = 1 :=
186
186
invOf_eq_right_inv (mul_one _)
187
187
188
- theorem invOf_one [Monoid α] [Invertible (1 : α)] : ⅟ (1 : α) = 1 := invOf_one'
188
+ theorem invOf_one [Monoid α] [Invertible (1 : α)] : ⅟(1 : α) = 1 := invOf_one'
189
189
190
190
/-- `a` is the inverse of `⅟a`. -/
191
- instance invertibleInvOf [One α] [Mul α] {a : α} [Invertible a] : Invertible (⅟ a) :=
191
+ instance invertibleInvOf [One α] [Mul α] {a : α} [Invertible a] : Invertible (⅟a) :=
192
192
⟨a, mul_invOf_self a, invOf_mul_self a⟩
193
193
194
194
@[simp]
195
- theorem invOf_invOf [Monoid α] (a : α) [Invertible a] [Invertible (⅟ a)] : ⅟ (⅟ a) = a :=
195
+ theorem invOf_invOf [Monoid α] (a : α) [Invertible a] [Invertible (⅟a)] : ⅟(⅟ a) = a :=
196
196
invOf_eq_right_inv (invOf_mul_self _)
197
197
198
198
@[simp]
199
- theorem invOf_inj [Monoid α] {a b : α} [Invertible a] [Invertible b] : ⅟ a = ⅟ b ↔ a = b :=
199
+ theorem invOf_inj [Monoid α] {a b : α} [Invertible a] [Invertible b] : ⅟a = ⅟b ↔ a = b :=
200
200
⟨invertible_unique _ _, invertible_unique _ _⟩
201
201
202
202
/-- `⅟b * ⅟a` is the inverse of `a * b` -/
203
203
def invertibleMul [Monoid α] (a b : α) [Invertible a] [Invertible b] : Invertible (a * b) :=
204
- ⟨⅟ b * ⅟ a, by simp [← mul_assoc], by simp [← mul_assoc]⟩
204
+ ⟨⅟b * ⅟a, by simp [← mul_assoc], by simp [← mul_assoc]⟩
205
205
206
206
@[simp]
207
207
theorem invOf_mul [Monoid α] (a b : α) [Invertible a] [Invertible b] [Invertible (a * b)] :
208
- ⅟ (a * b) = ⅟ b * ⅟ a :=
208
+ ⅟(a * b) = ⅟b * ⅟a :=
209
209
invOf_eq_right_inv (by simp [← mul_assoc])
210
210
211
211
/-- A copy of `invertibleMul` for dot notation. -/
0 commit comments