. cases jv
  simp
  case succ j => 
    simp [List.get] at iej
    let xs := differsHead p iej
    contradiction
case mk.mk.a.zero
α : Type u_1
inst✝ : DecidableEq α
h : α
t : List α
p : differs (h :: t) = true
jv : Nat
jlt : jv < List.length (h :: t)
ilt : Nat.zero < List.length (h :: t)
iej : List.get (h :: t) { val := Nat.zero, isLt := ilt } = List.get (h :: t) { val := jv, isLt := jlt }
⊢ Nat.zero = jv

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
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