Fact (1), p. A:41 — -compatibility with is decidable with oracle access to
ProvedObfImpossibility.RiceSimulator.fact_1_compatibility_decidableLet and be machines and , and recall that is -compatible with when for all and all inputs with .
There is a single oracle machine that decides -compatibility with using only oracle access to : for all machines , and all ,
In particular halts on every input.
This is fact (1) in the proof of Theorem A.2: the simulator built there recomputes the set of machines of size that are -compatible with at every stage, and this is the uniform procedure that does it.
Formalization Note The pair is passed as Nat.pair n (encode N). The same program must work for every , , (the existential quantifier precedes them), so the statement asserts uniform computability relative to the oracle, not a per-instance property.
import Mathlib import Definitions.Def_ObfImpossibility_RiceSimulator_Setting
namespace ObfImpossibility.RiceSimulator
/-- Fact (1), p. A:41: `n`-compatibility with `M` can be decided using oracle access to `⟨M⟩`,
by one oracle machine `C` that works for every `M`, on input the pair `(n, N)`. -/
theorem fact_1_compatibility_decidable :
∃ C : FriedbergMuchnik.Program, ∀ (M N : Machine) (n : ℕ),
(Compatible n N M → simRun C M (Nat.pair n (Encodable.encode N)) = Part.some 1) ∧
(¬ Compatible n N M → simRun C M (Nat.pair n (Encodable.encode N)) = Part.some 0) := by sorry
end ObfImpossibility.RiceSimulator
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.