feat(library/init/algebra/group,ring): alternative names for calculation lemmas
This commit is contained in:
parent
da6dfa6fdd
commit
acb58e8a87
2 changed files with 17 additions and 0 deletions
|
|
@ -59,6 +59,8 @@ monoid.mul_one
|
|||
@[simp] lemma mul_left_inv [group α] : ∀ a : α, a⁻¹ * a = 1 :=
|
||||
group.mul_left_inv
|
||||
|
||||
def inv_mul_self := @mul_left_inv
|
||||
|
||||
@[simp] lemma inv_mul_cancel_left [group α] (a b : α) : a⁻¹ * (a * b) = b :=
|
||||
by rw [-mul_assoc, mul_left_inv, one_mul]
|
||||
|
||||
|
|
@ -78,6 +80,8 @@ inv_eq_of_mul_eq_one (mul_left_inv a)
|
|||
have a⁻¹⁻¹ * a⁻¹ = 1, by rw mul_left_inv,
|
||||
by rwa [inv_inv] at this
|
||||
|
||||
def mul_inv_self := @mul_right_inv
|
||||
|
||||
lemma inv_inj [group α] {a b : α} (h : a⁻¹ = b⁻¹) : a = b :=
|
||||
have a = a⁻¹⁻¹, by simp,
|
||||
begin rw this, simp [h] end
|
||||
|
|
@ -274,6 +278,11 @@ run_command transport_to_additive `eq_mul_of_inv_mul_eq `eq_add_of_neg_add_eq
|
|||
run_command transport_to_additive `mul_eq_of_eq_inv_mul `add_eq_of_eq_neg_add
|
||||
run_command transport_to_additive `mul_eq_of_eq_mul_inv `add_eq_of_eq_add_neg
|
||||
|
||||
def neg_add_self := @add_left_neg
|
||||
def add_neg_self := @add_right_neg
|
||||
def eq_of_add_eq_add_left := @add_left_cancel
|
||||
def eq_of_add_eq_add_right := @add_right_cancel
|
||||
|
||||
@[reducible] protected def algebra.sub [add_group α] (a b : α) : α :=
|
||||
a + -b
|
||||
|
||||
|
|
|
|||
|
|
@ -21,9 +21,13 @@ variable {α : Type u}
|
|||
lemma left_distrib [distrib α] (a b c : α) : a * (b + c) = a * b + a * c :=
|
||||
distrib.left_distrib a b c
|
||||
|
||||
def mul_add := @left_distrib
|
||||
|
||||
lemma right_distrib [distrib α] (a b c : α) : (a + b) * c = a * c + b * c :=
|
||||
distrib.right_distrib a b c
|
||||
|
||||
def add_mul := @right_distrib
|
||||
|
||||
class mul_zero_class (α : Type u) extends has_mul α, has_zero α :=
|
||||
(zero_mul : ∀ a : α, 0 * a = 0)
|
||||
(mul_zero : ∀ a : α, a * 0 = 0)
|
||||
|
|
@ -141,11 +145,15 @@ calc
|
|||
a * (b - c) = a * b + a * -c : left_distrib a b (-c)
|
||||
... = a * b - a * c : by simp
|
||||
|
||||
def mul_sub := @mul_sub_left_distrib
|
||||
|
||||
lemma mul_sub_right_distrib [s : ring α] (a b c : α) : (a - b) * c = a * c - b * c :=
|
||||
calc
|
||||
(a - b) * c = a * c + -b * c : right_distrib a (-b) c
|
||||
... = a * c - b * c : by simp
|
||||
|
||||
def sub_mul := @mul_sub_right_distrib
|
||||
|
||||
class comm_ring (α : Type u) extends ring α, comm_semigroup α
|
||||
|
||||
instance comm_ring.to_comm_semiring [s : comm_ring α] : comm_semiring α :=
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue