The tuple loop's run #
The run theorem of DescriptiveComplexity.Draw.tupleRule: per enumerated
tuple, a read trip at the source cell, the bit stored into the control, a
write trip at the destination cell reading it back, and the advance – so the
loop copies a bit per round, and the destination track evolves.
That evolution is what distinguishes this statement from the element loop's:
the background is a family over the enumeration, each round's write moving
the destination track from mD a to
DescriptiveComplexity.Draw.tuplePost – the update at the round's
destination cell with the round's source bit – and the next round's
background carrying exactly that. Everything else follows the established
shape: an abstract finite linear order for the enumeration, control families
fs0/fs1 around the store, and the loop closed by
DescriptiveComplexity.Draw.reflTransGen_of_ordLoop.
The destination track after a round's write: the round's source bit at its destination cell, everything else untouched.
Equations
Instances For
Dependency graph
The tuple loop's run, on a clock: from the entry checkpoint at the marker to the exit phase one cell to its right, the destination track holding – round by round – the source track's bits at the enumerated cells, and the cost is one round's width once per element of the enumeration, plus the round that opens it and the step that leaves.
Dependency graph
The tuple loop's run, the budget forgotten: what a space-bounded caller reads. The width of a trip is then the largest of the finitely many the loop takes.