Library Rice
Definition self_diverging (s : term) := ¬ pi s s.
Definition self_diverging_comb := conj self_diverging closed.
Lemma self_div : ¬ lacc self_diverging.
Lemma self_div_comb : ¬ lacc self_diverging_comb.
Lemma Rice1 (M : term → Prop) : (M <=1 proc) →
(∀ (s t : term), proc t → M s → (∀ u, pi s u ↔ pi t u) → M t) →
(∃ p, proc p ∧ ¬ M p) → (∃ p, proc p ∧ M p) →
M (lam Omega) → ¬ lacc M.
Lemma Rice2 (M : term → Prop) : (M <=1 proc) →
(∀ (s t : term), proc t → M s → (∀ u, pi s u ↔ pi t u) → M t) →
(∃ p, proc p ∧ ¬ M p) → (∃ p, proc p ∧ M p) →
¬ M (lam Omega) → ¬ lacc (complement M).