What a coarse file's gate test is, elementwise #
The gates' shape test reads four slots of the background – the block one-hot,
the mirror bit, the padding flag and the name coordinates – and none of the
address-side ones. Each of the four is a fact about the register's own index,
and at a file whose registers stand for elements each is the same fact about the
element: the block is the element's tag's (hblkP), the tuple is the element's
(hargP), and the mirror bit at the register is the mirror's address at the
element (ixAddr_elt).
So a coarse file's shape test at a register is the elementwise test at the
element it stands for, which is the step the two bridges hpassEnc and
hgateEnc need: DescriptiveComplexity.Draw.Data.gate_trichotomy is stated
elementwise and reaches a coarse file through this file.
A coarse background's block one-hot, at a register: the register's own
block, which by hblkP is the block of the element it stands for.
Dependency graph
A coarse background's mirror bit, at a register: the mirror at that register.
Dependency graph
A coarse background's padding flag, at a register: the register's tuple
is zero above dd₀.
Dependency graph
A coarse background's name slots, at a register: the register's own tuple.
Dependency graph
A coarse background's VAL bit, at a register: VAL at that register.
Dependency graph
A coarse file's shape test is the elementwise one: the gate's four slots
are the register's block, mirror bit, padding and tuple, and each of them is the
same fact about the element the register stands for. So a program whose
registers are not the elements asks exactly the question
DescriptiveComplexity.Draw.Data.gate_trichotomy answers.
Dependency graph
An inner gate's shape test is the elementwise one too: the same four slots, with VAL where the outer gate reads the mirror.
Dependency graph
The gates' trichotomy at a coarse file: either the block of the
mirror's address is an encoding, or some register fails the shape test, or
every register passes it and the tag half fails. This is
DescriptiveComplexity.Draw.Data.gate_trichotomy read at a file whose
registers are not the elements: the shape test is the same question
(wellShapedG_ixBack_iff), and what carries the failing witness across costs
nothing: an element that fails the shape test is one the address holds, so it
is a register's element already, and no file has to have a register for every
element of a block.