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

Commit

Permalink
feat(linear_algebra/affine_space/midpoint): midpoint_vsub, `vsub_mi…
Browse files Browse the repository at this point in the history
…dpoint` (#17278)

Add lemmas about subtracting an arbitrary point from a midpoint (or vice versa), in relation to subtractions involving the endpoints.
  • Loading branch information
jsm28 committed Nov 11, 2022
1 parent 878c628 commit e3968f6
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/linear_algebra/affine_space/midpoint.lean
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,17 @@ left_vsub_line_map _ _ _
@[simp] lemma right_vsub_midpoint (p₁ p₂ : P) : p₂ -ᵥ midpoint R p₁ p₂ = (⅟2:R) • (p₂ -ᵥ p₁) :=
by rw [midpoint_comm, left_vsub_midpoint]

lemma midpoint_vsub (p₁ p₂ p : P) :
midpoint R p₁ p₂ -ᵥ p = (⅟2:R) • (p₁ -ᵥ p) + (⅟2:R) • (p₂ -ᵥ p) :=
by rw [←vsub_sub_vsub_cancel_right p₁ p p₂, smul_sub, sub_eq_add_neg, ←smul_neg,
neg_vsub_eq_vsub_rev, add_assoc, inv_of_two_smul_add_inv_of_two_smul, ←vadd_vsub_assoc,
midpoint_comm, midpoint, line_map_apply]

lemma vsub_midpoint (p₁ p₂ p : P) :
p -ᵥ midpoint R p₁ p₂ = (⅟2:R) • (p -ᵥ p₁) + (⅟2:R) • (p -ᵥ p₂) :=
by rw [←neg_vsub_eq_vsub_rev, midpoint_vsub, neg_add, ←smul_neg, ←smul_neg,
neg_vsub_eq_vsub_rev, neg_vsub_eq_vsub_rev]

@[simp] lemma midpoint_sub_left (v₁ v₂ : V) : midpoint R v₁ v₂ - v₁ = (⅟2:R) • (v₂ - v₁) :=
midpoint_vsub_left v₁ v₂

Expand Down

0 comments on commit e3968f6

Please sign in to comment.