Fusion covers under homomorphisms #
A homomorphism of interpretations maps every semantic gate to the corresponding gate in the image. A predicate on image values is preserved there exactly when its pullback is preserved in the source. Thus every cover of the pulled-back predicates maps to a cover of the original predicates, with the same indexed operations and exactly the same operation costs.
No injectivity or surjectivity is required. Minimum cover complexity can decrease: image covers
may use arguments outside the range of the homomorphism. Lower bounds on image covers therefore
transfer to source covers, and coverComplexity_le_ecomplexityFrom transfers them to circuits.
Witnesses and predicates use the existing Fusion API; no separate model wrapper is needed.
Main definitions #
Cslib.Circuits.Fusion.Atom.map: apply a carrier map to an atom's arguments.Cslib.Circuits.Fusion.Cover.map: transport a cover through a homomorphism.
Main results #
Cslib.Circuits.Fusion.programAtoms_map: extraction commutes with homomorphisms.Cslib.Circuits.Fusion.Cover.cost_map: transport preserves exact operation costs.Cslib.Circuits.Fusion.coverComplexity_le_comap: image lower bounds transfer to source covers.
References #
- Adapted from LowerBound/Fusion/Comap.lean in S. Schlesinger, Algebraic circuit formalizations in Complexitylib.
Preservation of an image predicate is equivalent to preservation of its pullback.
Semantic gate extraction commutes with a homomorphism, at every gate index.
Map a cover of pulled-back predicates to a cover of the original predicates.
Instances For
Transport preserves arbitrary operation weights, including zero weights and repeated atoms.
Image cover complexity lower-bounds the complexity of covering pulled-back predicates.