Section hoas. Import HOAS_Notations.
Definition Eval :term := Eval cbn in
(λ u, !!(ext eva)
(!!mu (λ n, !!(ext doesHaltIn) u n)) u !!I !!I).
End hoas.

Lemma Eval_correct (s v:term) : lambda v -> (Eval (ext s) == v <-> exists (n:nat) (v':term), (ext eva) (ext n) (ext s) == ext (Some v') /\ v = ext v' /\ lambda v').