Proof of Thm A.4, p. A:42 — a halting run only sees queries with
ProvedObfImpossibility.RiceNoSize.finite_queriescomputabilityoracle-machinesp2o-batch-pfp2bp2o-gran-per-chapterp2o-plan-paperp2o-v1
Let be an oracle machine and a machine such that halts with output . Then there is an bounding and over the queries that matter, in the following sense: for every machine ,
In the proof of Theorem A.4 this is applied with and : the halting run of on asks only finitely many queries, so any machine with the same bounded behaviour on those queries receives the same answer from .
Formalization Note The statement holds for every oracle program and every machine; it is the "use principle" of oracle computation specialised to the oracle . Queries are coded as Nat.pair t x.
Preamble
import Mathlib import Definitions.Def_ObfImpossibility_RiceNoSize_ProofObjects
Formal statement
namespace ObfImpossibility.RiceNoSize
/-- p. A:42: a halting run `S^{⟨M₀⟩}() = σ` makes oracle queries `(1^t, x)` with `t` and `|x|`
bounded by some `n`; hence every machine `M` with `⟨M⟩(1^t, x) = ⟨M₀⟩(1^t, x)` for all
`t, |x| ≤ n` also has `S^{⟨M⟩}() = σ`. -/
theorem finite_queries (S : FriedbergMuchnik.Program) (M₀ : Machine) (σ : ℕ)
(h : simRun S M₀ = Part.some σ) :
∃ n : ℕ, ∀ M : Machine,
(∀ t x : ℕ, t ≤ n → x ≤ n → bounded M t x = bounded M₀ t x) →
simRun S M = Part.some σ := by sorry
end ObfImpossibility.RiceNoSize
Source
Barak et al., On the (Im)possibility of Obfuscating Programs, J. ACM 59(2) (2012), author's copy, p. A:42, proof of Theorem A.4 ("Let n be an upper bound on |x| and t over all oracle queries (1^t, x) of S^⟨Z⟩().")
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.