The round flags and the pass's pack, at an arbitrary file #
DescriptiveComplexity.Problems.Wide.DrawRoundSem read at a coarse file: the
flags' semantic readings, the pass they jointly deliver, the valuation and the
semantic pack built from it, and the leaf's two readings.
The flags along the VAL loop, without quantified levels #
Without quantified levels the two flags are constant along the VAL
loop: the entry seeded them True, the inner-gates thread is empty, and
no fold update writes a flag.
Dependency graph
A round flag at the round's exit reads as the per-polarity pass:
every quantified level of the flag's polarity holds an encoding-shaped,
one-hot, domain-satisfying block value. The capstone's hEx/hAll.
Dependency graph
The two polarity readings deliver the full pass: every level's
flag is one of the two. The capstone's hPass.
Dependency graph
The pack, built from the pass #
The valuation a passing round holds: the gated address's points at the free levels, the points the pass's encodings choose at the quantified ones.
Equations
Instances For
Dependency graph
The master encoding fact of a passing round: every level's block –
the working address's at the free levels, the round register's at the
quantified ones – encodes the valuation's point. The capstone's hENC,
and DescriptiveComplexity.Draw.Data.ixMkKindSem's input.
Dependency graph
The semantic pack of a passing round, constructed: the capstone's
semOf, with hsem definitional.
Equations
- dt.ixPassSem F hpassEnc vi stV hp mbW hmb b = dt.ixMkKindSem zero one vi stV (dt.ixPassW F zero one hpassEnc vi stV hp mbW) ⋯ (dt.kindOf vi b)
Instances For
Dependency graph
The stage tracks at the composed target #
The composed TARGET's address, in closed form: the coarse file's
DescriptiveComplexity.Draw.Data.ixStageTgt read as a set of elements is
the elementwise closed form – the destination cells are the elements the
destination registers stand for, and the source bits are read at the source
registers' elements.
Dependency graph
The composed TARGET's argument blocks are the sources': after all
copy loops, block ℓ of TARGET is the position's source block – the copy
is faithful on the padded cells, and an encoding holds no others.
Dependency graph
The composed TARGET is the canonical address of the points it names:
its blocks below the arity are their encodings and it marks nothing else, which
is tupAddr_of_blocks. This is what lets a dictionary be asked for at canonical
addresses alone – and so lets one be read off an arbitrary set of marked
addresses, which is what a backward reading of a run has to do.
Dependency graph
A stage track reads the dictionary at the composed target, asking for
the dictionary at canonical addresses only: the target is the canonical
address of the points it names (ixAddr_ixStageTgt_eq_tupAddr), so what a run
has to know about its stage tracks is one bit per tuple, not one per address.
Forwards that is weaker than asking for the dictionary at every address, and
the guess supplies it just the same; backwards it is the difference between a
dictionary that can be read off a run and one that cannot.
Dependency graph
The leaf, read at the round's register #
A per-polarity pass is the split's gate clause, reindexed from the quantified levels to the pack's indices.
Dependency graph
The valuation the leaf decodes is the pass's: every level's block
of the leaf's reading encodes ixPassW's point.
Dependency graph
The leaf at a passing round is the matrix's value at the pass's
points – the capstone's hPsPass, with Ps the gated matrix
DescriptiveComplexity.Draw.Data.leafP.
Dependency graph
The leaf at a failing round is the ∃-clause alone – the capstone's
hPsFail: the ∀-clause's implication is vacuous when the two readings do
not both hold.