The padded five-block clause describer #
The construction in prop:exciting-padding-prop of answer_reduction.tex,
applied to the formula used by the existing decoupled describer. Five index
blocks acquire the common width m; the two answer tails are forced to be blank.
Formula renaming preserves the original tree, so the construction remains
polynomial in the old formula and the new width.
Where the original five blocks and signs lie in the padded input.
Equations
- MIPRE.TM.CookLevin.Pad.layout ℓ r m = List.range' 0 ℓ ++ List.range' m ℓ ++ List.range' (2 * m) r ++ List.range' (3 * m) r ++ List.range' (4 * m) r ++ List.range' (5 * m) 5
Instances For
Test that the m-bit index at base is below 2^old. The comparison uses
one extra zero bit, so it also works at old = m.
Equations
- MIPRE.TM.CookLevin.Pad.low base old m = MIPRE.SAT.Fml.ltConst (MIPRE.SAT.Fml.padTo (m + 1) (MIPRE.SAT.Fml.field base m)) (MIPRE.TM.CookLevin.Desc.nbits (m + 1) (2 ^ old))
Instances For
The positive-at-even, negative-at-odd blank sign for one answer index.
Equations
- MIPRE.TM.CookLevin.Pad.blankSign base sign = (MIPRE.SAT.Fml.inp sign).xnor (MIPRE.SAT.Fml.inp base).not
Instances For
The padded formula: old clauses on old indices, or either answer-tail clause.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The padded circuit, before padding its number of gates to the exact PCP count.
Equations
- MIPRE.TM.CookLevin.Pad.circuit ℓ r m f = MIPRE.SAT.Fml.toCircuit (5 * m + 5) (MIPRE.TM.CookLevin.Pad.formula ℓ r m f)
Instances For
Reading the renaming table in a padded clause recovers the original input bits.
On an embedded clause, the renamed old formula has exactly its old value.
The constructed circuit describes exactly the padded clause set.
Input-width padding preserves the full decider description.
Padding does not introduce references beyond the new input arity.
The constructed circuit is well formed in the existing circuit interface.
Equations
Instances For
The five-block offset table as an ambient program.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The original-width test, including the boundary case where both widths agree.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
The padded clause formula, constructed uniformly in polynomial time.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The padded circuit itself, with the correct input count, as an ambient program.
Equations
- MIPRE.TM.CookLevin.Pad.circuitR lu ru mu f = MIPRE.SAT.Fml.toCircuitF.ap₂ ((MIPRE.TM.CookLevin.Desc.incN 5).ap₁ (MIPRE.TM.CookLevin.Pad.baseR mu 5)) (MIPRE.TM.CookLevin.Pad.formulaR lu ru mu f)
Instances For
Applying the construction to the existing decoupled describer #
The common power-of-two index width. The old auxiliary width dominates the old answer width, so this pads all five blocks.
Equations
Instances For
The common width in unary, computed directly from the succinct parameters.
Equations
Instances For
The effective padded describer, before exact gate-count padding.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A polynomial bound for the padded circuit, derived from its verified program.