Counting the variable occurrences of a CSP instance #
The variable occurrences F.vars of a CSP instance bound its other sizes. When every scope is
nonempty there are at least as many occurrences as constraints (CSP.length_le_length_vars), and
when every variable occurs at most Δ times there are at most Δ occurrences per variable
(CSP.length_vars_le_mul_numVars). The auxiliary formula F.varCNF has one clause per
constraint (CSP.length_varCNF).
Main results #
Cslib.Logic.PL.CSP.length_varCNF:F.varCNFhas as many clauses asFhas constraints.Cslib.Logic.PL.CSP.length_le_length_vars: with nonempty scopes, at least as many occurrences as constraints.Cslib.Logic.PL.CSP.length_vars_le_mul_numVars: at mostΔ noccurrences when every one of thenvariables occurs at mostΔtimes.
@[simp]
theorem Cslib.Logic.PL.CSP.length_vars_le_mul_numVars {Rel : Type u_1} {V : Type u_2} [DecidableEq V] {F : CSP Rel V} {Δ : ℕ} (hΔ : ∀ (v : V), List.count v F.vars ≤ Δ) :
An instance in which every variable occurs at most Δ times has at most Δ n variable
occurrences, for n variables.