Documentation

Complexitylib.Circuits.SparseSynthesis.Internal.PartialTable

Partial truth-table synthesis #

Intervals containing few specified positions use a shared bank of total extensions. Every extension is masked to its interval before the row is assembled, so unconstrained values cannot affect another interval's data.

Shared minterms, interval-masked extension bank, and one OR per partial chunk.

Equations
Instances For
    theorem Complexity.CircuitSparseSynthesis.Internal.exists_partialTable {k l : ℕ} (domain : Finset (Fin (k + l) → Bool)) (f : Cslib.BooleanFunction (k + l)) (K : ℕ) (positive : 0 < K) :
    ∃ (c : Cslib.Circuits.Circuit Cslib.Circuits.Boolean.signature (k + l) 1), (c.ComputesOn Cslib.Circuits.Boolean.interpretation ↑domain fun (x : Fin (k + l) → Bool) (x_1 : Fin 1) => f x) ∧ c.size ≤ partialTableBudget k l K domain.card