Circuits for eventual behaviour #
Questions about arbitrarily late times reduce to one fixed power. Two orbits are ever in the
same state at the same time exactly when they are at time 2 ^ n
(FunctionalGraph.exists_iterate_eq_iterate_iff), so synchronous coalescence costs two fixed
powers and an equality test (synchronous_coalescence). A recognized target recurs arbitrarily
late exactly when it is reachable from the cycle projection f^[(2 ^ n)!] x
(recurring_target_circuit), and it holds from some time on exactly when its complement does not
recur (eventually_always_target_circuit). Balancing the parameter gives the square-root bounds
(synchronous_coalescence_optimized, recurring_target_optimized,
eventually_always_target_optimized).
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 parameter choice; nothing here bounds the time to construct them.
Main results #
Cslib.Circuits.Boolean.Iteration.synchronous_coalescence,Cslib.Circuits.Boolean.Iteration.synchronous_coalescence_optimized: meeting orbits.Cslib.Circuits.Boolean.Iteration.recurring_target_circuit,Cslib.Circuits.Boolean.Iteration.recurring_target_optimized: recurring targets.Cslib.Circuits.Boolean.Iteration.eventually_always_target_circuit,Cslib.Circuits.Boolean.Iteration.eventually_always_target_optimized: eventually permanent targets.
References #
- Adapted from lean/Proofs/EventualQueries.lean in S. Schlesinger, Square-root circuit bounds for iterated functions.
Synchronous coalescence. For every 0 < L ≤ 2 ^ n, some circuit of size at most
80000 * powerBudget n c.size (2 ^ n) L + 6 * n + 1 decides, for two states given as the two
halves of its input, whether their orbits are ever in the same state at the same time.
Square-root synchronous coalescence.
Recurring targets. For every 0 < L ≤ 2 ^ n, some circuit of size at most
80000 * powerBudget n (c.size + p.size + 4 * n) (2 ^ n) L + p.size decides whether the orbit of
its input visits a state accepted by p at arbitrarily late times.
Eventually permanent targets. For every 0 < L ≤ 2 ^ n, some circuit of size at most
80000 * powerBudget n (c.size + (p.size + 1) + 4 * n) (2 ^ n) L + p.size + 2 decides whether
the orbit of its input is accepted by p from some time on.