Fusion covers of circuit gates #
A family of predicates on semantic values supplies candidate invariants. If every input satisfies an invariant and some output violates it, some evaluated gate fails to preserve it. Thus the semantic gate configurations form a static cover of all candidate invariants. The cover has exactly the program's weighted cost, including unused gates and nullary operations; sharing and repeated outputs incur no additional cost.
This algebra-generic obstruction requires neither a Boolean structure nor an order on values.
The reference-to-observation implication used in Fusion models is one possible predicate.
Program.trace_induction supplies the direct preservation argument, without selecting a failing
atom. Extracting a failing atom from a cover may use classical logic.
Main definitions #
Cslib.Circuits.Fusion.Atom: an operation with its semantic arguments.Cslib.Circuits.Fusion.Cover: a finite family defeating every candidate invariant.Cslib.Circuits.Fusion.coverComplexity: minimum weighted cover cost, or infinity.
Main results #
Cslib.Circuits.Fusion.programAtoms_isCover: the gates cover failed invariants.Cslib.Circuits.Fusion.Cover.cost_ofProgram: extraction preserves arbitrary operation costs.Cslib.Circuits.Fusion.coverComplexity_le_ecomplexityFrom: transfer to native source complexity.
References #
- Adapted from LowerBound/Fusion/Framework.lean in S. Schlesinger, Algebraic circuit formalizations in Complexitylib.
An atom preserves a predicate if it holds on the result whenever it holds on all arguments.
Instances For
A finite fusion cover. Repeated atoms are allowed and charged separately.
- size : ℕ
Number of atoms, including repetitions.
Semantic gate configurations in the cover.
Every candidate invariant fails at some atom.
Instances For
The least weighted cost of any finite cover; infinity if there is no cover.
Instances For
Every cover bounds the minimum cover cost from above.
A lower bound on minimum cover complexity is exactly a bound for every finite cover.
Semantic atoms of a native program, indexed by its gates in program order.
Instances For
Adding a gate appends its evaluated atom, preserving every earlier atom.
Gates cover every invariant that holds on the inputs and fails on some wire.
Extract all gates as a cover; no failing atom needs to be selected.
Instances For
Extracting a program's cover preserves its exact weighted cost.
Every program violating all candidate invariants pays at least the minimum cover cost.
Failure on any designated output suffices. Different witnesses may use different outputs.
A single source assignment separating inputs from target outputs bounds source complexity. The common source domain remains arbitrary; its chosen assignment must actually exist.