Proof with eauto; try now intuition.
intros. destruct H0 as [u [H0 H0']]. eapply Rice.
- intros. hnf. intuition. eapply H. exact H2. eauto. eauto. split; intros (? & ?); exists x; firstorder.
- eauto.
- eauto.
- firstorder.
Qed.

Theorem Rice_Theorem p :
closed_under_proc (fun s t => s ≈ t) p ->
(exists u, proc u /\ ~ p u) -> (exists u, proc u /\ p u) ->
~ decidable p.