. simp [Hne]
case cons.h1
α σ : Type
ε : σ → Type
α✝ σ✝ : Type
ε✝ : σ✝ → Type
δ : Dialect α✝ σ✝ ε✝
τ τ' : MLIRType δ
Hne : τ' ≠ τ
val : MLIRType.eval τ'
head : SSAVal × (τ : MLIRType δ) × MLIRType.eval τ
tail : List (SSAVal × (τ : MLIRType δ) × MLIRType.eval τ)
Hind : get head.fst (set head.fst τ' val tail) τ = none
⊢ τ' = τ → False

case cons.h2
α σ : Type
ε : σ → Type
α✝ σ✝ : Type
ε✝ : σ✝ → Type
δ : Dialect α✝ σ✝ ε✝
τ τ' : MLIRType δ
Hne : τ' ≠ τ
v : SSAVal
val : MLIRType.eval τ'
head : SSAVal × (τ : MLIRType δ) × MLIRType.eval τ
tail : List (SSAVal × (τ : MLIRType δ) × MLIRType.eval τ)
Hind : get v (set v τ' val tail) τ = none
H : ¬head.fst = v
⊢ get v (set v τ' val tail) τ = none
case cons.h2
α σ : Type
ε : σ → Type
α✝ σ✝ : Type
ε✝ : σ✝ → Type
δ : Dialect α✝ σ✝ ε✝
τ τ' : MLIRType δ
Hne : τ' ≠ τ
v : SSAVal
val : MLIRType.eval τ'
head : SSAVal × (τ : MLIRType δ) × MLIRType.eval τ
tail : List (SSAVal × (τ : MLIRType δ) × MLIRType.eval τ)
Hind : get v (set v τ' val tail) τ = none
H : ¬head.fst = v
⊢ get v (set v τ' val tail) τ = none