Pending-bias state simulation and input-summary lower bounds for threshold circuits #
A weighted threshold program of size g has a layered finite-state representation across any gate
cut k. After the first k gates have been evaluated to a Boolean prefix u : Fin k → Bool, their
entire effect on the remaining g - k gates is captured by the pending-bias vector
pendingBias p k u : Fin (g - k) → ℝ collecting the internal weighted sums contributed by the
prefix to each future gate. The layered evolution pendingBiasTrace computes these states
recursively by evaluating each gate from its direct input sum and the first coordinate of the
current pending-bias vector, then shifting the state and adding the new gate's outgoing internal
weights (Theorem 6.1).
Bounding the syntactic state space pendingBiasStates p k yields finite-state width bounds under
bounded fan-in (2 ^ k), bounded integer internal weights on a row basis
(∏ i ∈ rows, (1 + ∑ j, |w i j|) and (1 + k * W) ^ rows.card), or column-constant internal
weights (k + 1).
On the input side, the complete gate valuation is determined by the direct input summary
inputSummary p x. Whenever a threshold program computes a two-party function f : X → Y → Bool,
any summary map on X that determines inputSummary for every y : Y must take at least as many
values as there are distinct rows of f (Proposition 9.1), forcing (1 + |ι| * W) ^ r ≥ 2 ^ |ι|
for rank-r integer summaries of the Hadamard inner-product code. Under phased input access across
cut k (gates < k reading only X, gates ≥ k reading only Y, and readout depending only on
gates ≥ k), the pending-bias state at cut k is a deterministic one-way message from X to Y,
forcing (pendingBiasStates p k).card to be at least the number of distinct rows of f.
Main definitions #
Cslib.Circuits.Boolean.WeightedThreshold.gateThreshold: the threshold of a program gate.Cslib.Circuits.Boolean.WeightedThreshold.pendingBias: the pending internal bias vector at cutkfrom a Boolean prefixu : Fin k → Bool.Cslib.Circuits.Boolean.WeightedThreshold.pendingBiasTrace: the layered pending-bias state evolution on inputx.Cslib.Circuits.Boolean.WeightedThreshold.pendingBiasStates: the syntactic set of pending-bias states at cutk.Cslib.Circuits.Boolean.WeightedThreshold.inputSummary: the direct input-weighted sum vector of a program on inputx.Cslib.Circuits.Boolean.WeightedThreshold.intSummary: the integer linear summaryu ↦ R uof a Boolean inputu : ι → Bool.
Main results #
Cslib.Circuits.Boolean.WeightedThreshold.pendingBiasTrace_eq_pendingBias,Cslib.Circuits.Boolean.WeightedThreshold.eval_eq_decide_pendingBiasTrace: Theorem 6.1, exact pending-bias state simulation.Cslib.Circuits.Boolean.WeightedThreshold.card_pendingBiasStates_le_two_pow,Cslib.Circuits.Boolean.WeightedThreshold.card_pendingBiasStates_le_prod_intWeight,Cslib.Circuits.Boolean.WeightedThreshold.card_pendingBiasStates_le_pow_intWeight,Cslib.Circuits.Boolean.WeightedThreshold.card_pendingBiasStates_le_add_one_of_row_const: Section 6.1 state-space bounds.Cslib.Circuits.Boolean.WeightedThreshold.card_rows_le_card_summaries,Cslib.Circuits.Boolean.WeightedThreshold.two_pow_le_card_summaries_of_hadamardCode,Cslib.Circuits.Boolean.WeightedThreshold.two_pow_le_pow_intSummary_of_hadamardCode: Proposition 9.1 input-summary and rank-precision lower bounds.Cslib.Circuits.Boolean.WeightedThreshold.card_rows_le_card_pendingBiasStates_of_phased,Cslib.Circuits.Boolean.WeightedThreshold.two_pow_le_card_pendingBiasStates_of_phased_hadamardCode: Section 9 phased-access cut lower bounds.
References #
- [Threshold Circuits as Decision Trees and Finite-State Programs, Sections 6 and 9] [26]
Helper lemmas for finite-image and integer-box cardinality bounds #
Section 6: Pending-bias state simulation and state-set bounds #
The output of gate is determined by its direct input-weighted sum and the first coordinate of
the pending-bias vector at cut gate.val.
Theorem 6.1 (Pending-bias state simulation). At every layer k, the recursively updated
state pendingBiasTrace p x k equals the syntactic pending-bias vector of the actual gate prefix
evaluated on x.
Theorem 6.1 (Pending-bias query rule). Each gate's evaluation is a single linear threshold
query on x shifted by the first coordinate of the recursive pending-bias state.
Every Boolean prefix produces a state in pendingBiasStates p k.
The reachable state pendingBiasTrace p x k belongs to pendingBiasStates p k.
At cut k, there are at most 2 ^ k pending-bias states.
Section 6.1 (Integer-weight box bound for pending-bias states). If a subset rows of
remaining gates determines the entire pending-bias vector at cut k, and the internal weights into
rows from the first k gates are integers w i j, then the number of pending-bias states is at
most ∏ i ∈ rows, (1 + ∑ j : Fin k, (w i j).natAbs).
Section 6.1, equation (9) (Rank-precision bound for pending-bias states). Under the
hypotheses of card_pendingBiasStates_le_prod_intWeight, if every selected integer internal weight
has magnitude at most W, then (pendingBiasStates p k).card ≤ (1 + k * W) ^ rows.card.
Section 6.1 (Column-constant internal weights). If every future gate k + i assigns a
single weight β i to all k earlier gates, the pending-bias state depends only on the Hamming
weight of the prefix and has at most k + 1 values.
Section 9: Input summaries and phased-access cut lower bounds #
Agreement of direct input summaries on all gates below b forces agreement of gate evaluations
below b.
Equal direct input summaries produce identical complete gate valuations.
If summary x determines the direct input summary of enc x y for every y, then equal
summaries force identical row functions f x₁ = f x₂.
Proposition 9.1 (Distinct communication rows force distinct input summaries). If f is
computed by a threshold program p via enc and readout, any summary of the left input X that
determines inputSummary p (enc x y) for every y takes at least as many values as there are
distinct rows of f.
Proposition 9.1 (Hadamard input-summary lower bound). Any summary of x : ι → Bool that
determines the direct input weights of a threshold program computing hadamardCode has at least
2 ^ Fintype.card ι distinct values.
Each row a of intSummary R takes at most 1 + ∑ i, (R a i).natAbs values on the Boolean
cube.
If all entries of R : Fin r → ι → ℤ have magnitude at most W, then intSummary R takes at
most (1 + Fintype.card ι * W) ^ r values on the Boolean cube.
Proposition 9.1 (Integer summary product bound for inner product). If an integer matrix
R : Fin r → ι → ℤ determines the direct input weights of a threshold program computing
hadamardCode, the product of its row ranges is at least 2 ^ Fintype.card ι.
Proposition 9.1, equation (20) (Rank-precision bound for inner product). If an integer
matrix R : Fin r → ι → ℤ with entries bounded in magnitude by W determines the direct input
weights of a threshold program computing hadamardCode, then
2 ^ Fintype.card ι ≤ (1 + Fintype.card ι * W) ^ r.
Under phased input access across cut k, the pending-bias state
pendingBiasTrace p (enc x y₀) k at a reference right input y₀ determines the entire row f x.
Section 9 (Phased-access pending-bias cut bound). If gates before cut k read only the
left input X, gates from k onward read only the right input Y, and the readout depends only
on gates from k onward, then (pendingBiasStates p k).card is at least the number of distinct
rows of f.
Section 9 (Phased-access pending-bias bound for inner product). Under phased input access
across cut k, any threshold program computing hadamardCode has at least 2 ^ Fintype.card ι
pending-bias states at cut k.