-- Lean 4 proof step from Mathlib.Algebra.Homology.Augment (goal)
Goal:
V : Type u
inst : Category.{v, u} V
inst_1 : HasZeroMorphisms.{v, u} V
C : CochainComplex.{v, u, 0} V ℕ
X : V
f : X ⟶ C.X 0
w : Eq (α := X ⟶ C.X 1) (f ≫ C.d 0 1) 0
i : ℕ
s : ¬(ComplexShape.up ℕ).Rel i (HAdd.hAdd (α := ℕ) 0 1)
succ :
  ∀ (s : ¬(ComplexShape.up ℕ).Rel 0 (HAdd.hAdd (α := ℕ) 0 1)),
    Eq.{v + 1} (α :=
      Quiver.Hom.{v, u} (V := V)
        (match (motive := ℕ → V) 0 with
          | 0 => X
          | i.succ => C.X i :
          V)
        (match (motive := ℕ → V) HAdd.hAdd (α := ℕ) 0 1 with
          | 0 => X
          | i.succ => C.X i :
          V))
      (match (motive :=
          (x x_1 : ℕ) →
            Quiver.Hom.{v, u} (V := V)
              (match (motive := ℕ → V) x with
                | 0 => X
                | i.succ => C.X i :
                V)
              (match (motive := ℕ → V) x_1 with
                | 0 => X
                | i.succ => C.X i :
                V))
          0, HAdd.hAdd (α := ℕ) 0 1 with
        | 0, 1 => f
        | i.succ, j.succ => C.d i j
        | x, x_1 => 0 :
        Quiver.Hom.{v, u} (V := V)
          (match (motive := ℕ → V) 0 with
            | 0 => X
            | i.succ => C.X i :
            V)
          (match (motive := ℕ → V) HAdd.hAdd (α := ℕ) 0 1 with
            | 0 => X
            | i.succ => C.X i :
            V))
      (0 :
        Quiver.Hom.{v, u} (V := V)
          (match (motive := ℕ → V) 0 with
            | 0 => X
            | i.succ => C.X i :
            V)
          (match (motive := ℕ → V) HAdd.hAdd (α := ℕ) 0 1 with
            | 0 => X
            | i.succ => C.X i :
            V))
⊢ Eq.{v + 1} (α :=
    Quiver.Hom.{v, u} (V := V)
      (match (motive := ℕ → V) i with
        | 0 => X
        | i.succ => C.X i :
        V)
      (match (motive := ℕ → V) HAdd.hAdd (α := ℕ) 0 1 with
        | 0 => X
        | i.succ => C.X i :
        V))
    (match (motive :=
        (x x_1 : ℕ) →
          Quiver.Hom.{v, u} (V := V)
            (match (motive := ℕ → V) x with
              | 0 => X
              | i.succ => C.X i :
              V)
            (match (motive := ℕ → V) x_1 with
              | 0 => X
              | i.succ => C.X i :
              V))
        i, HAdd.hAdd (α := ℕ) 0 1 with
      | 0, 1 => f
      | i.succ, j.succ => C.d i j
      | x, x_1 => 0 :
      Quiver.Hom.{v, u} (V := V)
        (match (motive := ℕ → V) i with
          | 0 => X
          | i.succ => C.X i :
          V)
        (match (motive := ℕ → V) HAdd.hAdd (α := ℕ) 0 1 with
          | 0 => X
          | i.succ => C.X i :
          V))
    (0 :
      Quiver.Hom.{v, u} (V := V)
        (match (motive := ℕ → V) i with
          | 0 => X
          | i.succ => C.X i :
          V)
        (match (motive := ℕ → V) HAdd.hAdd (α := ℕ) 0 1 with
          | 0 => X
          | i.succ => C.X i :
          V))
have succ₁ : ∀ (n : ℕ) (s : ¬(ComplexShape.up ℕ).Rel (n + 1) (HAdd.hAdd (α := ℕ) 0 1)),
  Eq.{v + 1} (α :=
    Quiver.Hom.{v, u} (V := V)
      (match (motive := ℕ → V) n + 1 with
        | 0 => X
        | i.succ => C.X i :
        V)
      (match (motive := ℕ → V) HAdd.hAdd (α := ℕ) 0 1 with
        | 0 => X
        | i.succ => C.X i :
        V))
    (match (motive :=
        (x x_1 : ℕ) →
          Quiver.Hom.{v, u} (V := V)
            (match (motive := ℕ → V) x with
              | 0 => X
              | i.succ => C.X i :
              V)
            (match (motive := ℕ → V) x_1 with
              | 0 => X
              | i.succ => C.X i :
              V))
        n + 1, HAdd.hAdd (α := ℕ) 0 1 with
      | 0, 1 => f
      | i.succ, j.succ => C.d i j
      | x, x_1 => 0 :
      Quiver.Hom.{v, u} (V := V)
        (match (motive := ℕ → V) n + 1 with
          | 0 => X
          | i.succ => C.X i :
          V)
        (match (motive := ℕ → V) HAdd.hAdd (α := ℕ) 0 1 with
          | 0 => X
          | i.succ => C.X i :
          V))
    (0 :
      Quiver.Hom.{v, u} (V := V)
        (match (motive := ℕ → V) n + 1 with
          | 0 => X
          | i.succ => C.X i :
          V)
        (match (motive := ℕ → V) HAdd.hAdd (α := ℕ) 0 1 with
          | 0 => X
          | i.succ => C.X i :
          V))
Tactic: cases i
Cleared hypotheses: i, s