Capacity of scalar blocks and finite summaries #
A block decomposition describes a Boolean function through successive histories. A scalar block updates the history from a real weighted sum, with a uniform bound on changes. A summary block depends on the first side of every coordinate split through finitely many summary values. This semantic decomposition uses no separate circuit representation or evaluator.
The capacity cost multiplies the costs of the blocks: 4T for a scalar block with T > 0
changes, 1 for zero changes, and V for a summary with V values. If both Boolean fibers
are K-rectangle-free for every coordinate split, then 2 ^ n < 4 * K ^ 2 * cost.
The proof preserves a rectangle where history depends only on the second side. Sorted grouping
shrinks its sides by 2T and 2 for a changing scalar block; a summary keeps a largest fiber.
Zero-change blocks shrink neither side. The final Boolean output costs at most another factor
of two on the second side. Integer division is retained at every step.
Main definitions #
Cslib.Circuits.Boolean.WeightedThreshold.BlockKind: scalar and finite-summary blocks.Cslib.Circuits.Boolean.WeightedThreshold.BlockDecomposition: a semantic block decomposition.
Main results #
Cslib.Circuits.Boolean.WeightedThreshold.BlockDecomposition.two_pow_lt_mul_cost: the capacity lower bound for a function with two rectangle-free Boolean fibers.
References #
- [S. Schlesinger, Algebraic circuit formalization, Threshold/Defs and Internal/Capacity] [Sch26a]
The capacity cost of a block: 4T for a one-dimensional block with T ≥ 1 changes, 1
for one without changes, and V for a summary block.
Instances For
A step of kind κ from the history prev to the history next.
- One-dimensional with
Tchanges: for some weight vectorwand someΦ,next x = Φ (prev x) ⟨w, x⟩, where everyΦ ηchanges at mostTtimes. - Summary with
Vvalues: for every splitU, someσon the first side withVvalues and someΦsatisfynext (glue U p q) = Φ (prev (glue U p q)) (σ p) q. Heregluedenotes the inverse ofEquiv.piEquivPiSubtypeProdfor the split.
Instances For
A decomposition of f into blocks: histories history 0, …, history length, the first
constant, each obtained from the previous one by a step of the given kind, and f read off the
last history.
- length : ℕ
The number of blocks.
The kind of each block.
The history after the first
iblocks.- output : H → Bool
The output read from the final history.
Before any block, the history is constant.
Each block is a step of its kind.
The final history determines
f.
Instances For
The capacity cost of a block decomposition: the product of the costs of its blocks.
Instances For
Theorem U (one-dimensional capacity). If f is two-sided K-rectangle-free, every
block decomposition of f has 2ⁿ < 4 K² · cost.