A size that only the length decides #
A PCP verifier's coin count is a function of the input's length. The graph
it reads therefore has to have a size the length alone decides, which the graph
of a formula does not. The remedy is to pad every graph up to one common size —
and for that one needs a size that is both computable and large enough for every
input of that length.
Any FP function has one: a machine that runs in time p writes at most
p |x| bits, so p bounds the output length uniformly over inputs of a given
length, and Cobham.exists_exact_ruler writes p |x| marks.
Main results #
Complexity.exists_length_bound— anFPfunction's output is polynomially longComplexity.exists_padRuler— hence a uniform, computable padding size
A formula is no longer than its encoding.
Rulers, structurally #
Writing a polynomial out and evaluating it is unworkable here: the constants involved are the alphabet's constraint count and the round's growth factor, and no tactic may be allowed near them. So the width is built from closure properties instead — a sum of rulers is an append, a product is a length multiplication — and no arithmetic is ever performed on a constant.
A function of the input's length that an FP string is long enough for.
Equations
- Complexity.HasRuler f = ∃ R ∈ Complexity.FP, ∀ (z : List Bool), f z.length ≤ (R z).length
Instances For
A polynomial's own values are polynomially bounded.