The halting verifier along the paper's route: the values at level C #
Blueprint thm:halting in the paper's form, at a fixed level, from the decider of
Paper/Decider.lean and gap-preserving compression: for a machine M and a parameter Ī»
such that š±^halt_{M,Ī»} is Ī»-bounded (the accounting of Paper/Cost.lean supplies one),
- if
Mhalts on the empty input,š±^halthas a value-1PCC strategy at levelC; - if it does not,
val*(š±^halt_C) ⤠1/2;
with C = max Cā 2 and answers of length at most G.bound (C + Ī»).
The argument is the criterion's (Cost.compressibility_criterion_levels) at the fixed level
C, along the levels C, 2 ^ C, 2 ^ (2 ^ C), ⦠of the recursion (lv): the two classes are
A n, a value-1 PCC strategy at level n with answers of length at most n ^ Ī», and B n,
value at most 1/2 there; GapCompression.completeness and soundness carry A (2 ^ n) ā A n
and B (2 ^ n) ā B n at every level where neither of the decider's first two branches fires
(lem:dhalt-values, the acceptance agreement with the compressed verifier); branch 1 puts a
level in A outright and branch 2 in B; and the search halts exactly when the start level
has value above 1/2 (exists_semL, tabL_value), which is what rules the search out below
the level where M halts, and rules the start level out of B's complement when M does not.
The level the reduction outputs: max Cā 2, so that the time clauses of IsBounded apply
there.
Equations
- MIPRE.Halting.C G = max G.Cā 2
Instances For
The levels of the recursion started at C: C, 2 ^ C, 2 ^ (2 ^ C), ā¦.
Equations
- MIPRE.Halting.lv G 0 = MIPRE.Halting.C G
- MIPRE.Halting.lv G j.succ = 2 ^ MIPRE.Halting.lv G j
Instances For
The compressed verifier of š±^halt, the same at every level.
Equations
- MIPRE.Halting.W G U UT S' M lam = G.output ((MIPRE.Halting.Vhalt G U UT S' M lam).sampler.prog, (MIPRE.Halting.Vhalt G U UT S' M lam).decider.prog) lam
Instances For
The second branch fires: the search halts within Nat.size n.
Equations
- MIPRE.Halting.branch2 G U UT S' M lam n = ((MIPRE.Cost.evalWithin (MIPRE.Halting.searchP S' lam (MIPRE.Halting.dec G U UT S' M lam)) MIPRE.Cost.Data.nil n.size).isSome = true)
Instances For
The acceptance of š±^halt at a level, by branch #
Below the first branch, š±^halt rejects every answer longer than the compressed bound.
The two classes and the compression steps #
The class A at level n: a value-1 PCC strategy with answers of length at most n ^ Ī».
Equations
- MIPRE.Halting.A G U UT S' M lam n = (MIPRE.Halting.Vhalt G U UT S' M lam).HasPerfectPCC n (n ^ lam)
Instances For
The class B at level n: value at most 1/2 with answers of length at most n ^ Ī».
Equations
- MIPRE.Halting.B G U UT S' M lam n = ((MIPRE.Halting.Vhalt G U UT S' M lam).valStar n (n ^ lam) ⤠1 / 2)
Instances For
Completeness carried down a level, where neither branch fires.
Soundness carried down a level, where neither branch fires.
The search and the start level #
The search halts exactly when the start level has value above 1/2.
The start level is in B only if its value is at most 1/2 ā with the answer bound of the
statement, once the first branch does not fire there.
The two cases #
Below a level where the search fires while M has not halted, every level of the recursion
is in B.
The halting case: š±^halt has a value-1 PCC strategy at level C.
The non-halting case: val*(š±^halt_C) ⤠1/2.