Transient depths by binary search #
A threshold μ < 2 ^ n is found with one query μ ≤ v per binary digit: keep the largest
candidate below μ found so far (searchBelow), and output one more than it, or zero
(searchBelow_result). Given circuits for the queries, this costs n + 1 queries and a few word
operations per digit (synthesis_threshold).
For the transient depth, the query transientDepth f x ≤ v asks whether f^[v] x is periodic:
one input-time iteration and one periodicity test. This gives transient depths in at most
200000 * (n + 1) ^ 2 * powerBudget n s (2 ^ n) L gates (depth_circuit), and
600000 * (n + 1) ^ 2 * optimizedBudget n s (2 ^ n) balanced (depth_circuit_optimized). The
dictionary construction of Iteration.Depth avoids the factor (n + 1) ^ 2.
The circuits are native De Morgan circuits: every NOT, AND and OR gate and every constant is
charged, while wiring and fanout are free. They exist for each L; nothing here bounds the time
to construct them.
Main definitions #
Cslib.Circuits.Boolean.Iteration.searchBelow: the binary search for a threshold.Cslib.Circuits.Boolean.Iteration.depthBudget: the gate count of the search for depths.
Main results #
Cslib.Circuits.Boolean.Iteration.searchBelow_result: the search finds the threshold.Cslib.Circuits.Boolean.Iteration.synthesis_threshold: its gate count.Cslib.Circuits.Boolean.Iteration.depth_circuit,Cslib.Circuits.Boolean.Iteration.depth_circuit_optimized: transient depths.
References #
- Adapted from lean/Proofs/{BinarySearch,DepthCircuit}.lean in
S. Schlesinger,
Square-root circuit bounds for iterated functions, whose
balanced bound has the constant
3000000.
After j digits, the largest value of the form searchBelow n μ j' + 2 ^ (n - j' - 1)
below μ, built from the most significant of n digits.
Instances For
Threshold search. If μ x < 2 ^ n and, from any family of available sources containing
s, every available (n + 2)-bit word v gives the query μ x ≤ v within C gates, then
μ x in n + 2 bits costs n + 1 queries and 16 * (n + 3) gates per query for the word
operations.
The gate count of the threshold search for transient depths.
Instances For
Transient depths by binary search. For every 0 < L ≤ 2 ^ n, some circuit of size at
most depthBudget n c.size L computes the transient depth of every state in n + 2 bits.
The threshold search costs at most a factor (n + 1) ^ 2 more than a fixed power.
Square-root transient depths by binary search. Some circuit of size at most
600000 * (n + 1) ^ 2 * optimizedBudget n c.size (2 ^ n) computes the transient depth of every
state in n + 2 bits.