. case succ i => 
  cases jv
  . simp [List.get] at iej
    let xs := differsHead p iej.symm
    contradiction
  . case succ j => 
    simp [List.get] at iej
    simp
    simp [differs] at p
    cases p with | intro _ tdiff =>
    let td := correctLeft t tdiff        
    let u := td _ _ iej
    simp at u
    assumption
case mk.mk.a.succ
α : Type u_1
inst✝ : DecidableEq α
h : α
t : List α
p : differs (h :: t) = true
jv : Nat
jlt : jv < List.length (h :: t)
n✝ : Nat
ilt : Nat.succ n✝ < List.length (h :: t)
iej : List.get (h :: t) { val := Nat.succ n✝, isLt := ilt } = List.get (h :: t) { val := jv, isLt := jlt }
⊢ Nat.succ n✝ = jv
no goals