Set-theoretic fusion with semi-filters #
This file instantiates the algebra-generic fusion engine with the classical set-theoretic framework. A construction problem consists of generator subsets of an ambient type and a target subset. Witnesses are target points equipped with semi-filters over the complement of the target.
The public combinatorial objects are lists of pairs of subsets. Such a list is a cover when no admissible semi-filter above a target point preserves every pair. Every AND/OR circuit constructing the target yields a cover whose length is exactly its number of AND gates.
A nontrivial upward-closed family of subsets.
Subsets accepted by the semi-filter.
At least one subset is accepted.
Acceptance is upward closed.
The empty set is not accepted.
Instances For
Equations
- Algebraic.Fusion.instSetLikeSemifilterSet = { coe := Algebraic.Fusion.Semifilter.carrier, coe_injective := ⋯ }
Every semi-filter contains the full set.
Acceptance of a set implies acceptance after union on the right.
Acceptance of a set implies acceptance after union on the left.
A set-valued fusion problem is a discrete construction problem.
Equations
Instances For
The complement of a set problem's target, as an ambient subtype.
Instances For
Restrict a subset of the ambient type to the target complement.
Equations
- Algebraic.Fusion.Problem.restrict problem set = Subtype.val ⁻¹' set
Instances For
A semi-filter is above a point when it accepts every generator containing it.
Equations
- filter.Above point = ∀ (input : Fin problem.inputCount), point ∈ problem.inputs input → Algebraic.Fusion.Problem.restrict problem (problem.inputs input) ∈ filter
Instances For
A selectable class of semi-filters for variants of cover complexity.
Equations
- Algebraic.Fusion.SemifilterClass problem = (Algebraic.Fusion.Semifilter (Algebraic.Fusion.Problem.Outside problem) → Prop)
Instances For
The unrestricted class of all semi-filters.
Equations
Instances For
A semi-ultrafilter accepts either a set or its complement. Unlike an ultrafilter, it is not required to be closed under intersections.
Instances For
The selectable class of all semi-ultrafilters.
Equations
- Algebraic.Fusion.SemifilterClass.ultra filter = filter.IsUltra
Instances For
A target point and an admissible semi-filter above that point.
- point : Γ
Point of the target set being fused.
The distinguished point belongs to the target.
- filter : Semifilter (Problem.Outside problem)
Semi-filter over the target complement.
- admissible_filter : admissible self.filter
This semi-filter belongs to the selected witness class.
This semi-filter lies above the distinguished target point.
Instances For
The standard semi-filter observation model for set-theoretic fusion.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A local fusion pair consists of two subsets of the target complement.
Equations
- Algebraic.Fusion.Pair problem = (Set (Algebraic.Fusion.Problem.Outside problem) × Set (Algebraic.Fusion.Problem.Outside problem))
Instances For
A semi-filter preserves a pair when it accepts their intersection whenever it accepts both members.
Instances For
A list of pairs covers every admissible semi-filter above a target point.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A proof-carrying set-theoretic fusion cover.
Pairs of subsets in the cover.
- isCover : Problem.IsPairCover problem admissible self.pairs
No admissible semi-filter above the target preserves every pair.
Instances For
The number of pairs in a set-theoretic fusion cover.
Instances For
Classical set-theoretic cover complexity ρ.
Equations
- Algebraic.Fusion.pairCoverComplexity problem admissible = ⨅ (cover : Algebraic.Fusion.PairCover problem admissible), ↑cover.cost
Instances For
Every concrete pair cover upper-bounds pair-cover complexity.
The pair contributed by an AND atom; OR atoms contribute no pair.
Equations
- One or more equations did not get rendered due to their size.
- Algebraic.Fusion.Atom.andPair? problem { op := Algebraic.AndOr.Op.or, arguments := arguments } = none
Instances For
Keep the intersection pairs from a list of AND/OR atoms.
Equations
- Algebraic.Fusion.intersectionPairs problem atoms = List.filterMap (Algebraic.Fusion.Atom.andPair? problem) atoms
Instances For
The number of extracted pairs is exactly the AND weight of the atoms.
Semi-filters automatically preserve union atoms; preservation of the associated pair is sufficient for an intersection atom.
Every constructing AND/OR circuit yields its classical semi-filter cover.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The extracted pair cover has exactly the circuit's number of AND gates.
A lower bound for all semi-filter pair covers is an AND-circuit lower bound.
Set-theoretic cover complexity lower-bounds every AND/OR construction.