Theorem: Wbtw.collinear
File: Mathlib/Analysis/Convex/Between.lean

tactic: rw [collinear_iff_exists_forall_eq_smul_vadd]
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.589540
P : Type u_3
P' : Type ?u.589546
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y z : P
h : Wbtw R x y z
⊢ Collinear R {x, y, z}

tactic: refine' ⟨x, z -ᵥ x, _⟩
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.589540
P : Type u_3
P' : Type ?u.589546
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y z : P
h : Wbtw R x y z
⊢ ∃ p₀ v, ∀ (p : P), p ∈ {x, y, z} → ∃ r, p = r • v +ᵥ p₀

tactic: intro p hp
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.589540
P : Type u_3
P' : Type ?u.589546
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y z : P
h : Wbtw R x y z
⊢ ∀ (p : P), p ∈ {x, y, z} → ∃ r, p = r • (z -ᵥ x) +ᵥ x

tactic: simp_rw [Set.mem_insert_iff, Set.mem_singleton_iff] at hp
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.589540
P : Type u_3
P' : Type ?u.589546
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y z : P
h : Wbtw R x y z
p : P
hp : p ∈ {x, y, z}
⊢ ∃ r, p = r • (z -ᵥ x) +ᵥ x

tactic: rcases hp with (rfl | rfl | rfl)
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.589540
P : Type u_3
P' : Type ?u.589546
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y z : P
h : Wbtw R x y z
p : P
hp : p = x ∨ p = y ∨ p = z
⊢ ∃ r, p = r • (z -ᵥ x) +ᵥ x

tactic: refine' ⟨0, _⟩
state_before: case inl
R : Type u_1
V : Type u_2
V' : Type ?u.589540
P : Type u_3
P' : Type ?u.589546
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
y z p : P
h : Wbtw R p y z
⊢ ∃ r, p = r • (z -ᵥ p) +ᵥ p

tactic: simp
state_before: case inl
R : Type u_1
V : Type u_2
V' : Type ?u.589540
P : Type u_3
P' : Type ?u.589546
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
y z p : P
h : Wbtw R p y z
⊢ p = 0 • (z -ᵥ p) +ᵥ p

tactic: rcases h with ⟨t, -, rfl⟩
state_before: case inr.inl
R : Type u_1
V : Type u_2
V' : Type ?u.589540
P : Type u_3
P' : Type ?u.589546
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x z p : P
h : Wbtw R x p z
⊢ ∃ r, p = r • (z -ᵥ x) +ᵥ x

tactic: exact ⟨t, rfl⟩
state_before: case inr.inl.intro.intro
R : Type u_1
V : Type u_2
V' : Type ?u.589540
P : Type u_3
P' : Type ?u.589546
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x z : P
t : R
⊢ ∃ r, ↑(lineMap x z) t = r • (z -ᵥ x) +ᵥ x

tactic: refine' ⟨1, _⟩
state_before: case inr.inr
R : Type u_1
V : Type u_2
V' : Type ?u.589540
P : Type u_3
P' : Type ?u.589546
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y p : P
h : Wbtw R x y p
⊢ ∃ r, p = r • (p -ᵥ x) +ᵥ x

tactic: simp
state_before: case inr.inr
R : Type u_1
V : Type u_2
V' : Type ?u.589540
P : Type u_3
P' : Type ?u.589546
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y p : P
h : Wbtw R x y p
⊢ p = 1 • (p -ᵥ x) +ᵥ x