Documentation

Mathlib.Computability.Halting

Computability theory and the halting problem #

A universal partial recursive function, Rice's theorem, and the halting problem.

References #

theorem ComputablePred.rice (C : Set ( →. )) (h : ComputablePred fun (c : Nat.Partrec.Code) => c.eval C) {f g : →. } (hf : Nat.Partrec f) (hg : Nat.Partrec g) (fC : f C) :
g C

Rice's Theorem

theorem ComputablePred.rice₂ (C : Set Nat.Partrec.Code) (H : ∀ (cf cg : Nat.Partrec.Code), cf.eval = cg.eval → (cf C cg C)) :

The Halting problem is recursively enumerable

The Halting problem is not computable