The guess the forward direction makes #
DescriptiveComplexity.SecondOrderNewExpPull reads an assignment of the guessed
block as a naming of the points of an exponential expansion. This file goes the
other way: given a linear order of the instance and an assignment of the source
problem's block over the expansion, it builds the assignment of the guessed
block that the sentence asks for, one invented value per assignment of the
tagged block, and checks every guard.
The value naming an assignment is fixed by an arbitrary enumeration of the assignments; the meaning variables then say “this tuple of original elements belongs to that value's assignment”, the order variable says “both entries are original and the first is below the second”, and the source problem's variables say “these values name points the certificate relates”. Nothing here is a choice: the guards pin the guess down to exactly this, up to which value gets which assignment.
The guess #
The assignment the forward direction guesses: the order of the instance, one invented value per assignment of the tagged block, and the certificate read at the values naming the points.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
What the meaning variables say #
Dependency graph
Dependency graph
Dependency graph
The meaning guards #
Dependency graph
Dependency graph
The order guard #
Dependency graph
Dependency graph
The naming, the certificate, and the sentence #
Dependency graph
Dependency graph
Dependency graph
How many values the guess invents #
The assignments of the tagged block are exponentially many: one variable per index, each a relation of arity at most the block's bound, so an assignment is read off a set of pairs of an index and a tuple of that length.