Padding a prefix normal form #
DescriptiveComplexity.Draw.exists_prenexPack puts every formula into the prefix
normal form the program's control is built from, but it puts it in the shortest
one: a quantifier-free sentence gets a pack with no levels at all. The reduction
cannot live with that – its address blocks are Fin ko ⊕ₗ Fin ki, and a step
definition all of whose variables are nullary and all of whose packs are
quantifier-free leaves that type empty, which is exactly the hypothesis
reaches_mainB spends. So the packs are padded rather than cased on.
Padding is one vacuous innermost level: the matrix is lifted past a new bound
variable it does not mention, and the prefix walks one step further. The whole
content is DescriptiveComplexity.Draw.altQuantFrom_liftLast – a prefix over a
predicate that ignores its last coordinate is the prefix without it – whose
Nonempty hypothesis is what makes the new level vacuous in both polarities.
A vacuous innermost level #
A prefix over a predicate that ignores its last coordinate is the prefix without it. The new level is vacuous whichever polarity it is given, the universe being nonempty.
Dependency graph
One more level #
A prefix normal form with one more level: the matrix lifted past a new innermost variable it does not mention. Iterating it puts any pack above any level count, which is how the reduction's block index is kept nonempty.
Equations
Instances For
Dependency graph
The padded pack has one more level.
Dependency graph
The encoding layout, and the record a source is packed into #
The encoding budget: one coordinate per component of the one-hot code, one per payload position, and nothing else.
Equations
Instances For
Dependency graph
The code components, numbered.
Equations
Instances For
Dependency graph
The standard layout: the code in the first coordinates, the payload
right after it, both read off DescriptiveComplexity.Draw.ptFin.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The layout inhabits the budget: every coordinate it names is below
encDim.
Dependency graph
A source packed into a DescriptiveComplexity.Draw.Data: the prenex
packs of every formula the program evaluates, each padded by one level so that
the block index is nonempty, and the standard layout at a dimension the caller
chooses.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The packed record's block index is nonempty: the output pack was padded.