-- Lean 4 proof step from Mathlib.Analysis.Convex.Between (goal)
Goal:
R : Type u_1
V : Type u_2
P : Type u_4
inst : Ring R
inst_1 : LinearOrder R
inst_2 : IsStrictOrderedRing R
inst_3 : AddCommGroup V
inst_4 : Module R V
inst_5 : AddTorsor V P
inst_6 : IsTorsionFree R V
t : Affine.Triangle R P
i₁ i₂ i₃ : Fin 3
h₁₂ : i₁ ≠ i₂
h₁₃ : i₁ ≠ i₃
h₂₃ : i₂ ≠ i₃
h3 : ∀ (i : Fin 3), i = i₁ ∨ i = i₂ ∨ i = i₃
hu : Eq (α := Finset (Fin 3)) Finset.univ {i₁, i₂, i₃}
r₁ : R
hr₁0 : 0 < r₁
hr₁1 : r₁ < 1
h₁ : Sbtw R (t.points i₂) ((lineMap (t.points i₂) (t.points i₃) : (a : R) → P) r₁) (t.points i₃)
r₂ : R
hr₂0 : 0 < r₂
hr₂1 : r₂ < 1
h₂ : Sbtw R (t.points i₁) ((lineMap (t.points i₁) (t.points i₃) : (a : R) → P) r₂) (t.points i₃)
w : Fin (HAdd.hAdd (α := ℕ) 2 1) → R
hw : Eq.{u_1 + 1} (α := R) (∑ i : Fin (2 + 1), w i) 1
hp :
  Membership.mem (α := P) (γ := AffineSubspace R P) (affineSpan R (Set.range t.points))
    ((Finset.affineCombination R Finset.univ t.points : (a : Fin (2 + 1) → R) → P) w : P)
h₁' :
  Membership.mem (α := P) (γ := AffineSubspace R P)
    (affineSpan R
      (insert (t.points i₁) (singleton (α := P) ((lineMap (t.points i₂) (t.points i₃) : (a : R) → P) r₁ : P))))
    ((Finset.affineCombination R Finset.univ t.points : (a : Fin (2 + 1) → R) → P) w : P)
h₂' :
  Membership.mem (α := P) (γ := AffineSubspace R P)
    (affineSpan R
      (insert (t.points i₂) (singleton (α := P) ((lineMap (t.points i₁) (t.points i₃) : (a : R) → P) r₂ : P))))
    ((Finset.affineCombination R Finset.univ t.points : (a : Fin (2 + 1) → R) → P) w : P)
h₁s :
  Eq (α := SignType) ((SignType.sign : (a : R) → SignType) (w i₂) : SignType)
    ((SignType.sign : (a : R) → SignType) (w i₃) : SignType)
h₂s :
  Eq (α := SignType) ((SignType.sign : (a : R) → SignType) (w i₁) : SignType)
    ((SignType.sign : (a : R) → SignType) (w i₃) : SignType)
⊢ Sbtw R (t.points i₁) ((Finset.affineCombination R Finset.univ t.points : (a : Fin (2 + 1) → R) → P) w)
    ((lineMap (t.points i₂) (t.points i₃) : (a : R) → P) r₁)
have rw : ∀
  (h₁' :
    Membership.mem (α := P) (γ := AffineSubspace R P)
      (affineSpan R
        (insert (α := P)
          ((Finset.affineCombination R Finset.univ t.points : (a : Fin (2 + 1) → R) → P)
              (Pi.single (M := fun (a : Fin (HAdd.hAdd (α := ℕ) 2 1)) ↦ R) i₁ 1) :
            P)
          (singleton (α := P)
            ((Finset.affineCombination R Finset.univ t.points : (a : Fin (2 + 1) → R) → P)
                (Finset.affineCombinationLineMapWeights i₂ i₃ r₁) :
              P))))
      ((Finset.affineCombination R Finset.univ t.points : (a : Fin (2 + 1) → R) → P) w : P))
  (h₂' :
    Membership.mem (α := P) (γ := AffineSubspace R P)
      (affineSpan R
        (insert (t.points i₂) (singleton (α := P) ((lineMap (t.points i₁) (t.points i₃) : (a : R) → P) r₂ : P))))
      ((Finset.affineCombination R Finset.univ t.points : (a : Fin (2 + 1) → R) → P) w : P))
  (h₁s :
    Eq (α := SignType) ((SignType.sign : (a : R) → SignType) (w i₂) : SignType)
      ((SignType.sign : (a : R) → SignType) (w i₃) : SignType))
  (h₂s :
    Eq (α := SignType) ((SignType.sign : (a : R) → SignType) (w i₁) : SignType)
      ((SignType.sign : (a : R) → SignType) (w i₃) : SignType)),
  Sbtw.{u_1, u_2, u_4} R (P := P)
    ((Finset.affineCombination R Finset.univ t.points : (a : Fin (2 + 1) → R) → P)
        (Pi.single (M := fun (a : Fin (HAdd.hAdd (α := ℕ) 2 1)) ↦ R) i₁ 1) :
      P)
    ((Finset.affineCombination R Finset.univ t.points : (a : Fin (2 + 1) → R) → P) w : P)
    ((Finset.affineCombination R Finset.univ t.points : (a : Fin (2 + 1) → R) → P)
        (Finset.affineCombinationLineMapWeights i₂ i₃ r₁) :
      P)
Tactic: rw [← Finset.univ.affineCombination_piSingle R t.points
      (Finset.mem_univ i₁),
    ← Finset.univ.affineCombination_affineCombinationLineMapWeights t.points (Finset.mem_univ _)
      (Finset.mem_univ _)] at h₁' ⊢
Cleared hypotheses: h₁', h₂', h₁s, h₂s