theorem extracted_formal_statement_0.{u} {Ω : Type u} [inst : MeasurableSpace Ω] {μ : Measure Ω}
  [inst_1 : IsProbabilityMeasure μ] {n : ℕ} (s : Fin (n + 1) → Set Ω) (hs : ∀ (i : Fin (n + 1)), MeasurableSet (s i))
  (this : (fun f x => Fin.snoc f.2 f.1 x) ⁻¹' Set.univ.pi s = s (Fin.last n) ×ˢ Set.univ.pi (s ∘ Fin.castSucc))
  (i : Fin (n + 1)) (h_original_goal : (if ↑i < n then μ (s i) else μ (s ↑n)) = μ (s i)) : i = Fin.last n := sorry

State before:
case e_f.h
Ω : Type u
inst✝¹ : MeasurableSpace Ω
μ : Measure Ω
inst✝ : IsProbabilityMeasure μ
n : ℕ
s : Fin (n + 1) → Set Ω
hs : ∀ (i : Fin (n + 1)), MeasurableSet (s i)
this : (fun f x => Fin.snoc f.2 f.1 x) ⁻¹' Set.univ.pi s = s (Fin.last n) ×ˢ Set.univ.pi (s ∘ Fin.castSucc)
i : Fin (n + 1)
⊢ (if ↑i < n then μ (s i) else μ (s ↑n)) = μ (s i)

Tactic: simp only [Fin.natCast_eq_last, ite_eq_left_iff, not_lt]
    intro h
    congr
    apply congr_arg
    apply Eq.symm

State after:
[case e_f.h.h.e_6.h.h.h
 Ω : Type u
 inst✝¹ : MeasurableSpace Ω
 μ : Measure Ω
 inst✝ : IsProbabilityMeasure μ
 n : ℕ
 s : Fin (n + 1) → Set Ω
 hs : ∀ (i : Fin (n + 1)), MeasurableSet (s i)
 this : (fun f x => Fin.snoc f.2 f.1 x) ⁻¹' Set.univ.pi s = s (Fin.last n) ×ˢ Set.univ.pi (s ∘ Fin.castSucc)
 i : Fin (n + 1)
 h : n ≤ ↑i
 ⊢ i = Fin.last n]

Relevant lemmas:
ite_eq_left_iff : ∀ {α : Sort u_1} {p : Prop} [inst : Decidable p] {x y : α}, (if p then x else y) = x ↔ ¬p → y = x
not_lt : ∀ {α : Type u_1} [inst : LinearOrder α] {a b : α}, ¬a < b ↔ b ≤ a
congr_arg : ∀ {α : Sort u} {β : Sort v} {a₁ a₂ : α} (f : α → β), a₁ = a₂ → f a₁ = f a₂
Eq.symm : ∀ {α : Sort u} {a b : α}, a = b → b = a
Fin.natCast_eq_last : ∀ (n : ℕ), ↑n = Fin.last n