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

Commit 8ac2fa0

Browse files
committed
chore(linear_algebra/affine_space/affine_map): make affine_map.coe_sub true by definition (#10182)
This makes life slightly easier in some work following on from #10161 Formalized as part of the Sphere Eversion project.
1 parent b22a7c7 commit 8ac2fa0

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/linear_algebra/affine_space/affine_map.lean

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ def mk' (f : P1 → P2) (f' : V1 →ₗ[k] V2) (p : P1) (h : ∀ p' : P1, f p' =
169169
instance : add_comm_group (P1 →ᵃ[k] V2) :=
170170
{ zero := ⟨0, 0, λ p v, (zero_vadd _ _).symm⟩,
171171
add := λ f g, ⟨f + g, f.linear + g.linear, λ p v, by simp [add_add_add_comm]⟩,
172+
sub := λ f g, ⟨f - g, f.linear - g.linear, λ p v, by simp [sub_add_comm]⟩,
173+
sub_eq_add_neg := λ f g, ext $ λ p, sub_eq_add_neg _ _,
172174
neg := λ f, ⟨-f, -f.linear, λ p v, by simp [add_comm]⟩,
173175
add_assoc := λ f₁ f₂ f₃, ext $ λ p, add_assoc _ _ _,
174176
zero_add := λ f, ext $ λ p, zero_add (f p),
@@ -180,9 +182,10 @@ instance : add_comm_group (P1 →ᵃ[k] V2) :=
180182
@[simp] lemma zero_linear : (0 : P1 →ᵃ[k] V2).linear = 0 := rfl
181183
@[simp, norm_cast] lemma coe_add (f g : P1 →ᵃ[k] V2) : ⇑(f + g) = f + g := rfl
182184
@[simp, norm_cast] lemma coe_neg (f : P1 →ᵃ[k] V2) : ⇑(-f) = -f := rfl
183-
@[simp, norm_cast] lemma coe_sub (f g : P1 →ᵃ[k] V2) : ⇑(f - g) = f - g := by simp [sub_eq_add_neg]
184-
@[simp]
185-
lemma add_linear (f g : P1 →ᵃ[k] V2) : (f + g).linear = f.linear + g.linear := rfl
185+
@[simp, norm_cast] lemma coe_sub (f g : P1 →ᵃ[k] V2) : ⇑(f - g) = f - g := rfl
186+
@[simp] lemma add_linear (f g : P1 →ᵃ[k] V2) : (f + g).linear = f.linear + g.linear := rfl
187+
@[simp] lemma sub_linear (f g : P1 →ᵃ[k] V2) : (f - g).linear = f.linear - g.linear := rfl
188+
@[simp] lemma neg_linear (f : P1 →ᵃ[k] V2) : (-f).linear = -f.linear := rfl
186189

187190
/-- The space of affine maps from `P1` to `P2` is an affine space over the space of affine maps
188191
from `P1` to the vector space `V2` corresponding to `P2`. -/

0 commit comments

Comments
 (0)