Finite descriptions of semifilter covers #
The quadratic compiler only needs inclusion flags, not the actual subsets in a pair cover.
A t-pair cover over n inputs has a description of (2*t+1)*(n+t+1) bits. Decode the
flags by synchronous propagation and the target is recovered. This gives an unconditional
count of the sets having a small cover, for any fixed supplied input family.
Main definitions #
Cslib.Circuits.Fusion.CoverCode,Cslib.Circuits.Fusion.CoverCode.read,Cslib.Circuits.Fusion.CoverCode.stages,Cslib.Circuits.Fusion.CoverCode.decode: the finite inclusion-pattern description and its staged decoder.Cslib.Circuits.Fusion.PairClosureCompiler.coordinate,Cslib.Circuits.Fusion.PairClosureCompiler.encode: encode a pair list into aCoverCode.
Main results #
Cslib.Circuits.Fusion.PairCover.exists_code: every cover admits a finite description.Cslib.Circuits.Fusion.card_small_covers_le: a bound on all targets of small cover complexity.
References #
@[reducible, inline]
Each of the two operands per pair and the final output records a top flag, an input mask, and a pair-value mask. No ambient subsets occur in this finite description.
Instances For
theorem Cslib.Circuits.Fusion.PairCover.exists_code_of_length_le {U : Type u} {n : ℕ} {target : Set U} {input : Fin n → Set U} (c : PairCover target input) {t : ℕ} (h : (c.pairs fun (x : Semifilter ↑targetᶜ) => True).length ≤ t) :
A cover fitting a budget has a description of the budget's fixed length.