@@ -42,6 +42,8 @@ lemma snd_mul [has_mul M] [has_mul N] (p q : M × N) : (p * q).2 = p.2 * q.2 :=
42
42
@[simp, to_additive]
43
43
lemma mk_mul_mk [has_mul M] [has_mul N] (a₁ a₂ : M) (b₁ b₂ : N) :
44
44
(a₁, b₁) * (a₂, b₂) = (a₁ * a₂, b₁ * b₂) := rfl
45
+ @[simp, to_additive]
46
+ lemma swap_mul [has_mul M] [has_mul N] (p q : M × N) : (p * q).swap = p.swap * q.swap := rfl
45
47
@[to_additive]
46
48
lemma mul_def [has_mul M] [has_mul N] (p q : M × N) : p * q = (p.1 * q.1 , p.2 * q.2 ) := rfl
47
49
@@ -57,6 +59,8 @@ lemma one_eq_mk [has_one M] [has_one N] : (1 : M × N) = (1, 1) := rfl
57
59
@[simp, to_additive]
58
60
lemma mk_eq_one [has_one M] [has_one N] {x : M} {y : N} : (x, y) = 1 ↔ x = 1 ∧ y = 1 :=
59
61
mk.inj_iff
62
+ @[simp, to_additive]
63
+ lemma swap_one [has_one M] [has_one N] : (1 : M × N).swap = 1 := rfl
60
64
61
65
@[to_additive]
62
66
lemma fst_mul_snd [mul_one_class M] [mul_one_class N] (p : M × N) :
@@ -72,14 +76,18 @@ lemma fst_inv [has_inv G] [has_inv H] (p : G × H) : (p⁻¹).1 = (p.1)⁻¹ :=
72
76
lemma snd_inv [has_inv G] [has_inv H] (p : G × H) : (p⁻¹).2 = (p.2 )⁻¹ := rfl
73
77
@[simp, to_additive]
74
78
lemma inv_mk [has_inv G] [has_inv H] (a : G) (b : H) : (a, b)⁻¹ = (a⁻¹, b⁻¹) := rfl
79
+ @[simp, to_additive]
80
+ lemma swap_inv [has_inv G] [has_inv H] (p : G × H) : (p⁻¹).swap = p.swap⁻¹ := rfl
75
81
76
82
@[to_additive]
77
83
instance [has_div M] [has_div N] : has_div (M × N) := ⟨λ p q, ⟨p.1 / q.1 , p.2 / q.2 ⟩⟩
78
84
79
- @[simp] lemma fst_sub [add_group A] [add_group B] (a b : A × B) : (a - b).1 = a.1 - b.1 := rfl
80
- @[simp] lemma snd_sub [add_group A] [add_group B] (a b : A × B) : (a - b).2 = a.2 - b.2 := rfl
81
- @[simp] lemma mk_sub_mk [add_group A] [add_group B] (x₁ x₂ : A) (y₁ y₂ : B) :
82
- (x₁, y₁) - (x₂, y₂) = (x₁ - x₂, y₁ - y₂) := rfl
85
+ @[simp, to_additive] lemma fst_div [group G] [group H] (a b : G × H) : (a / b).1 = a.1 / b.1 := rfl
86
+ @[simp, to_additive] lemma snd_div [group G] [group H] (a b : G × H) : (a / b).2 = a.2 / b.2 := rfl
87
+ @[simp, to_additive] lemma mk_div_mk [group G] [group H] (x₁ x₂ : G) (y₁ y₂ : H) :
88
+ (x₁, y₁) / (x₂, y₂) = (x₁ / x₂, y₁ / y₂) := rfl
89
+ @[simp, to_additive] lemma swap_div [group G] [group H] (a b : G × H) :
90
+ (a / b).swap = a.swap / b.swap := rfl
83
91
84
92
instance [mul_zero_class M] [mul_zero_class N] : mul_zero_class (M × N) :=
85
93
{ zero_mul := assume a, prod.rec_on a $ λa b, mk.inj_iff.mpr ⟨zero_mul _, zero_mul _⟩,
0 commit comments