-SAT under bounded variable occurrence for a finite subfamily of clauses over arbitrary variable and index sets
ProvedQLLL.SAT.exists_assignment_of_finsetk-satlovasz-local-lemmaquantum-lll
A clause is a disjunction of literals over boolean variables, and an assignment satisfies it if at least one literal evaluates to true. Let be an arbitrary set of variables and let be clauses over indexed by an arbitrary set . Let be finite, and let and be integers such that:
- every clause with involves exactly distinct variables;
- every variable occurs in at most of the clauses with ;
- .
Then there is an assignment satisfying every with .
This transports Corollary 2 of Ambainis, Kempe and Sattath to arbitrary variable and index types, with hypotheses required only on . It is the finite step in the compactness proof of the infinite version QLLL.SAT.exists_assignment_forall.
Preamble
import Definitions.Def_QLLL_LocalLemma_Basic import Definitions.Def_QLLL_Classical_KSAT import Definitions.Def_QLLL_Classical_InfiniteKSAT import Mathlib import Std.Sat.CNF open QLLL open QLLL.SAT open Finset Std.Sat
Formal statement
theorem QLLL.SAT.exists_assignment_of_finset {V ι : Type*} [DecidableEq V]
(C : ι → CNF.Clause V) (T : Finset ι) (k D : ℕ) (hk : 1 ≤ k) (hD1 : 1 ≤ D)
(hvars : ∀ i ∈ T, (clauseVars' (C i)).card = k)
(hdeg : ∀ v : V, (T.filter fun i => v ∈ clauseVars' (C i)).card ≤ D)
(hDk : (D : ℝ) * (Real.exp 1 * k) ≤ 2 ^ k) :
∃ a : V → Bool, ∀ i ∈ T, CNF.Clause.eval a (C i) = true := by sorrySource
Not in the paper; a transport of Corollary 2 to arbitrary variable and index types. Formalization companion to Ambainis, Kempe and Sattath, A Quantum Lovász Local Lemma, arXiv:0911.1696; see the blueprint https://sattath.github.io/Quantum-Lovasz-Local-Lemma/blueprint/