simp[run_TopM_get_success (ENV := ENV)]
α₁ σ₁ : Type
ε₁ : σ₁ → Type
δ₁ : Dialect α₁ σ₁ ε₁
α₂ σ₂ : Type
ε₂ : σ₂ → Type
δ₂ : Dialect α₂ σ₂ ε₂
α σ : Type
ε : σ → Type
Δ : Dialect α σ ε
S : Semantics Δ
env : SSAEnv Δ
ty : MLIRType Δ
v : MLIRType.eval ty
name : SSAVal
ENV : SSAEnv.get name ty env = some v
args : List (TypedSSAVal Δ)
⊢ (match run (TopM.get ty name) env with
    | Except.ok (a, env') =>
      match run (denoteOpArgs Δ args) env' with
      | Except.ok (a_1, env') => run (pure ({ fst := ty, snd := a } :: a_1)) env'
      | Except.error e => Except.error e
    | Except.error e => Except.error e) =
    match run (denoteOpArgs Δ args) env with
    | Except.ok (xs, env') => Except.ok ({ fst := ty, snd := v } :: xs, env')
    | Except.error e => Except.error e
α₁ σ₁ : Type
ε₁ : σ₁ → Type
δ₁ : Dialect α₁ σ₁ ε₁
α₂ σ₂ : Type
ε₂ : σ₂ → Type
δ₂ : Dialect α₂ σ₂ ε₂
α σ : Type
ε : σ → Type
Δ : Dialect α σ ε
S : Semantics Δ
env : SSAEnv Δ
ty : MLIRType Δ
v : MLIRType.eval ty
name : SSAVal
ENV : SSAEnv.get name ty env = some v
args : List (TypedSSAVal Δ)
⊢ (match run (denoteOpArgs Δ args) env with
    | Except.ok (a, env') => run (pure ({ fst := ty, snd := v } :: a)) env'
    | Except.error e => Except.error e) =
    match run (denoteOpArgs Δ args) env with
    | Except.ok (xs, env') => Except.ok ({ fst := ty, snd := v } :: xs, env')
    | Except.error e => Except.error e