Sparse counter modifications with a live iteration count #
Let r be the number of inputs where the permutation differs from the counter.
Encoding and decoding cost O((n+1)*(r+1)) and are each performed once. The middle
stage costs O((n+1)*(m+1)) for an m-bit time, giving additive dependence on edits
and time width.
The theorem constructs actual CSLib Boolean circuits from any permutation.
The initial state occupies the first n inputs; the last m are the nonnegative
iteration count in least-significant-bit-first order. Constants and selectors
are charged. The chart is chosen nonuniformly; no bound on its construction
runtime or on generating the output circuit is asserted.
Main definitions #
- The input consists of an initial state followed by a binary iteration count.
Main results #
sparse_counter_variable_time: additive dependence on edits and time width.sparse_counter_labels: canonical coordinates at linear table cost.sparse_coordinate_variable_time: both coordinate conversions charged.
References #
- Adapted from lean/Proofs/SparseCounterTime.lean at revision
c4cfa198of [S. Schlesinger, Square-root circuit bounds for iterated functions] [Sch26f].
Every sparsely edited counter permutation has an additive live-time bound. Both the time and initial state are inputs; no edit-list or chart certificate is an input or hypothesis of the resulting Boolean circuit.
The same chart computes canonical cycle labels and phase in linear table cost.
Charged coordinate changes preserve the additive live-time bound.