Fact (3), p. A:41 — if then is eventually not -compatible with
ProvedObfImpossibility.RiceSimulator.fact_3_eventually_incompatiblecomputabilityp2o-batch-pfp2bp2o-gran-per-chapterp2o-plan-paperp2o-v1rice-theorem
Let and be machines whose computed partial functions differ, . Then there is a number such that
Functional inequivalence is witnessed by a finite amount of bounded computation, and compatibility at stage inspects all budgets and inputs up to ; this fact is what eventually removes every inequivalent machine from the simulator's candidate sets in the proof of Theorem A.2.
Formalization Note is inequality of the partial functions Code.eval M and Code.eval N: they may differ in a value or in where they are defined.
Preamble
import Mathlib import Definitions.Def_ObfImpossibility_RiceSimulator_Setting
Formal statement
namespace ObfImpossibility.RiceSimulator
/-- Fact (3), p. A:41: if `[M] ≢ [N]` then there is `n'` such that `N` is not
`n`-compatible with `M` for all `n > n'`. -/
theorem fact_3_eventually_incompatible (M N : Machine) (h : fn M ≠ fn N) :
∃ n' : ℕ, ∀ n : ℕ, n' < n → ¬ Compatible n N M := by sorry
end ObfImpossibility.RiceSimulator
Source
Barak et al., On the (Im)possibility of Obfuscating Programs, J. ACM 59(2) (2012), author's copy, p. A:41, proof of Theorem A.2, fact (3)
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.