The comparison atoms, instantiated #
The first semantic instantiation: the element loop's run at the comparison
pack DescriptiveComplexity.Draw.Data.cmpArgs. The enumeration is the
lexicographic order on the narrow tuples, the generated family of
DescriptiveComplexity.Draw.elemFam carries the loop element and the three
bookkeeping flags, and the two inductions this file contributes are the
loop's two invariants:
- the loop element is the round's tuple
(
DescriptiveComplexity.Draw.Data.readLv_cmpFam), so the name guards stop at the padded cell of the enumerated tuple and the read bits are the two block values' membership bits there; - the flags fold the strict prefix
(
DescriptiveComplexity.Draw.Data.cmpFlags_cmpFam): agreement so far, a difference seen, and the first difference's verdict, over the tuples strictly below the round's.
DescriptiveComplexity.Draw.Data.cmp_run is the machine run; the final
control's verdict bit is characterized against the two tracks' padded bits
(DescriptiveComplexity.Draw.Data.ctlBit_avC_cmp_exit), which is the form
DescriptiveComplexity.Problems.Wide.DrawCmp turns into the equality and
order atoms.
The register a level reads, and its backing #
The register set a level's track holds: the working address for a
free level, the VAL register for a quantified one – the contents behind
DescriptiveComplexity.Draw.Data.lvTrack.
Instances For
Dependency graph
A level's track is backed by its register set.
Dependency graph
A level's track is backed by its register set, at the elementwise file:
the same statement read at DescriptiveComplexity.Draw.Data.back, which is
what a space-bounded program's files say.
Dependency graph
A level's register set depends on the mirror and VAL alone – which is what lets everything read through it be transported between states that share those two registers.
Dependency graph
The marker slot is not a level's track.
Dependency graph
The register mark is not a level's track.
Dependency graph
The loop element through the comparison's operations #
The loop element rides along cmpInit.
Dependency graph
The loop element rides along a read's store.
Dependency graph
The loop element after an advance is the next tuple.
Dependency graph
The comparison's generated family #
The two register sets a comparison reads: the level's register per paired read.
Equations
Instances For
Dependency graph
The cell of a comparison's round: the padded cell of the round's tuple, in the read's block.
Equations
Instances For
Dependency graph
The comparison's generated family, at its pack.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A comparison is blind to the two scratch registers: it reads the
levels' register sets, which are the mirror and VAL
(DescriptiveComplexity.Draw.Data.lvSet), and its background at the
working cell alone.
Dependency graph
The read tracks are backed by the register sets.
Dependency graph
The marker slot is no read track.
Dependency graph
The register mark is no read track.
Dependency graph
The loop element is the round's tuple #
The loop element rides along a stored read.
Dependency graph
The loop starts at the least tuple.
Dependency graph
An advance steps the tuple.
Dependency graph
The loop element rides along a whole round's reads.
Dependency graph
A cover in the lexicographic order steps to the next tuple.
Dependency graph
The bottom of the lexicographic order is the least tuple.
Dependency graph
The loop element is the round's tuple, at every stage of the family.
Dependency graph
The flags fold the strict prefix #
The two blocks agree at a tuple: the two reads' bits coincide.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The first difference is at this tuple, the second block holding it: everything below agrees, and here only the second block holds the cell.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A slot off the paired reads rides along the whole chain.
Dependency graph
A stored-read chain reads back, slot by slot: the chain writing each read into its own control slot delivers every bit already written.
Dependency graph
The whole chain's stored reads: the two bits of the round.
Dependency graph
A control slot off the loop variables rides along an advance, showing the fold's value.
Dependency graph
The flags fold the strict prefix: at every round's entry, the three bookkeeping bits are agreement everywhere below, a difference seen below, and a first difference below with the second block holding it.
Dependency graph
The greatest tuple #
The last tuple: every coordinate the greatest element.
Equations
Instances For
Dependency graph
Every element is below the last tuple's coordinates.
Dependency graph
The last tuple is exhausted.
Dependency graph
The comparison's machine run #
The comparison atom's machine run, on a clock: from the loop's entry checkpoint at the marker to the exit phase one cell to its right, the control carrying the whole enumeration's fold, two read trips paid per tuple.
Dependency graph
The comparison atom's machine run, the budget forgotten.
Dependency graph
The verdict, characterized #
The verdict the exit control carries: agreement everywhere for an
equality atom; agreement everywhere or a first difference the second
block's, for an order atom. This is exactly the shape
DescriptiveComplexity.Draw.Data.encMap_eq_iff_padBits and
DescriptiveComplexity.Draw.Data.encOrder_le_iff_padBits decide against the two
registers' contents.