Certificate families #
A CertFamily V ι packages exactly the hypotheses of the Spectral Lemma of Section 11:
a family P : ι → PartialAssign V of partial assignments such that
- every
C_i = C(P i)has codimensionc; - every pair
C_i, C_j(i ≠ j) has exactly one conflicting fixed literal; - every point of the union has at most
Aother certificates at distance1; - every point of the union has at most
Bother certificates at distance at most2.
F.ind is the indicator of the union, F.owner x is the unique index i with
x ∈ C_i, and F.conflictCoord is the unique conflict coordinate of two distinct certificates.
The Spectral Lemma itself (lam F.ind ^ 2 ≤ c + 2 √((c-1) A B)) is proved in
BSLambda/Spectral/CertUnion.lean.
Adapted for Lean Pool from Timeroot/BS_Lam at commit
7bd39a8d41ee7910d3296d0477ad18f8fff9d870; ported to Lean Pool with proof and dependency cleanup.
The hypotheses of the Spectral Lemma of Section 11 of bs_lambda.txt: a family of
pairwise-conflicting certificate subcubes of common codimension c with local
certificate-list bounds A (at distance one) and B (at distance at most two).
- P : ι → PartialAssign V
The partial assignment cutting out the
i-th certificate subcube. - c : ℕ
The common codimension of the certificates.
- A : ℕ
The radius-one certificate-list bound (
A = 3for the construction). - B : ℕ
The radius-two certificate-list bound (
B = 7for the construction). Every certificate has codimension
c.Distinct certificates have exactly one conflicting fixed literal.
- listOne (i : ι) (x : Input V) : (self.P i).Sat x → {j : ι | j ≠ i ∧ (self.P j).dist x = 1}.card ≤ self.A
Property (L1) of Section 6.
- listTwo (i : ι) (x : Input V) : (self.P i).Sat x → {j : ι | j ≠ i ∧ (self.P j).dist x ≤ 2}.card ≤ self.B
Property (L2) of Section 6.
Instances For
The unique conflict coordinate q_{ij} of two distinct certificates (Section 4).
Equations
- F.conflictCoord h = Exists.choose ⋯
Instances For
The conflict coordinate does conflict.
The conflict coordinate is the only coordinate that conflicts.
The indicator of the union #
ind is a distinct head symbol from PartialAssign.indUnion, so the simp lemmas of the
latter do not fire on it; the first three lemmas below restate them for ind.
The indicator f of the union of the certificate subcubes (Section 3.3).
Equations
Instances For
A point is positive exactly when some certificate subcube contains it.
A point is negative exactly when no certificate subcube contains it.
Every point of a certificate subcube is positive.
Flipping a coordinate that a certificate leaves free keeps the point inside it, hence
positive (Section 11.2). This is the source of every "one midpoint is positive"
argument in BSLambda/Spectral/GramClass.lean.
Contrapositive of ind_flipSet_singleton_eq_true: a negative single flip of a positive
input can only happen at a coordinate that the input's own certificate fixes
(Section 11.2).
Distinct certificates are disjoint, so a point lies in at most one of them (Section 4).
The owner of a positive input: the unique index whose certificate contains it (Section 4).
Instances For
The owner's certificate does contain the point.
The owner is the only index whose certificate contains the point.
Only the c coordinates fixed by a containing certificate can be sensitive, so every
positive input has sensitivity at most c (Section 11.1).
The diagonal of the positive-side Gram matrix is bounded by c (Section 11.1).