simp [h₁, h₂]
E : Type → Type
ε : Type
F : Type → Type
T R : Type
h : E ~> ExceptT ε (Fitree F)
k : T → Fitree E R
T✝ : Type
e✝ : E T✝
k✝ : T✝ → Fitree E T
ih :
  ∀ (a : T✝),
    interp h (bind (k✝ a) k) =
      bind (interp h (k✝ a)) fun x? =>
        match x? with
        | Except.error ε_1 => ret (Except.error ε_1)
        | Except.ok x => interp h (k x)
α : Sort ?u.50273
β : Sort ?u.50274
f g : α → β
x y : α
h₁ : f = g
h₂ : x = y
⊢ f x = g y
no goals