Bounded-width clique approximators #
An approximator is a finite disjunction of clique indicators. OR takes the
union of term families. AND replaces a pair of clique indicators by the
clique on their combined nontrivial vertex sets; terms wider than width are
discarded, and the result is sunflower-normalized.
The special cases in joinTerms identify zero- and one-vertex indicators
with the Boolean constant true. This is essential: blindly adjoining a
singleton to another term would introduce edges that were not present in the
conjunction.
A finite family of clique-indicator vertex sets.
Instances For
A clique DNF accepts a graph when one of its terms is contained.
Equations
- Algebraic.Monotone.Clique.Approx.Accepts family assignment = ∃ vertices ∈ family, Algebraic.Monotone.Clique.Contains assignment vertices
Instances For
Equations
- Algebraic.Monotone.Clique.Approx.instDecidableAccepts family assignment = Classical.propDecidable (Algebraic.Monotone.Clique.Approx.Accepts family assignment)
Boolean semantics of a clique DNF.
Equations
- Algebraic.Monotone.Clique.Approx.decode family assignment = decide (Algebraic.Monotone.Clique.Approx.Accepts family assignment)
Instances For
The two endpoints of an input edge.
Equations
- Algebraic.Monotone.Clique.Approx.inputTerm input = {(↑((Algebraic.Monotone.Clique.edgeEquiv n).symm input)).1, (↑((Algebraic.Monotone.Clique.edgeEquiv n).symm input)).2}
Instances For
The one-term approximator for an input variable.
Equations
Instances For
Zero- and one-vertex clique indicators are the Boolean constant true.
When conjoining terms, discard such a vacuous side; otherwise take the union.
Equations
Instances For
Raw OR before truncation and plucking.
Equations
- Algebraic.Monotone.Clique.Approx.rawOr left right = left ∪ right
Instances For
Raw approximate AND before truncation and plucking.
Equations
- Algebraic.Monotone.Clique.Approx.rawAnd left right = Finset.image (fun (pair : Finset (Fin n) × Finset (Fin n)) => Algebraic.Monotone.Clique.Approx.joinTerms pair.1 pair.2) (left ×ˢ right)
Instances For
Discard terms wider than width.
Equations
- Algebraic.Monotone.Clique.Approx.truncate width family = {set ∈ family | set.card ≤ width}
Instances For
Gate preprocessing enforces the width bound before normalization.
The bounded-width approximate interpretation of binary AND/OR.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every approximate gate result has bounded width.
Every approximate gate result has at most the sunflower bound many terms.
Input approximators have bounded width once the width is at least two.
Input approximators have one term.
A normalized approximator packages the two invariants needed for uniform local error bounds: bounded term width and bounded family cardinality.
- family : Family n
The underlying clique DNF.
- bounded : Plucking.Bounded width self.family
Every term respects the approximation width.
The family respects the elementary sunflower cardinality bound.
Instances For
The elementary sunflower bound is nonzero.
Input variables, viewed as normalized one-term approximators.
Equations
- Algebraic.Monotone.Clique.Approx.normalInput petalCount width two_le_petals two_le_width input = { family := Algebraic.Monotone.Clique.Approx.inputFamily input, bounded := ⋯, card_le := ⋯ }
Instances For
Gate evaluation on normalized approximators.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Boolean semantics of a normalized approximator.
Equations
- Algebraic.Monotone.Clique.Approx.normalDecode family assignment = Algebraic.Monotone.Clique.Approx.decode family.family assignment
Instances For
On a minimal positive clique graph, conjoining two accepted terms is
represented exactly by joinTerms.