OAI/Combinatorics/ParityLifts/BitTables.lean
21 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.ParityWL.Complexity.BitFormulaline 7 - abbrev
OAI.ParityWL.Complexity.Nameline 8 - def
OAI.ParityWL.Complexity.bitClauseSatline 10 - def
OAI.ParityWL.Complexity.bitSatline 11 - def
OAI.ParityWL.Complexity.namesline 13 - lemma
OAI.ParityWL.Complexity.mem_namesline 15 - lemma
OAI.ParityWL.Complexity.idxOf_inj_online 18 - lemma
OAI.ParityWL.Complexity.findIndex_idxOfline 23 - def
OAI.ParityWL.Complexity.lookupBitsline 34 - lemma
OAI.ParityWL.Complexity.lookupBits_mapline 37 - lemma
OAI.ParityWL.Complexity.bitSat_congrline 44 - def
OAI.ParityWL.Complexity.satisfyingWordsline 52 - lemma
OAI.ParityWL.Complexity.mem_satisfyingWordsline 55 - def
OAI.ParityWL.Complexity.pairKeyline 61Source documentation
The canonical smaller group's variable list fixes the order in a pair key. The shared-variable mask is identical on the two sides.
def pairKey {t : ℕ} (Q : Fin t → BitFormula) (d : ℕ) (i j : Fin t) (bs : List Bool) : List Bool := …Mentions: OAI.ParityWL.Complexity.BitFormula
- lemma
OAI.ParityWL.Complexity.pairKey_lengthline 67 - lemma
OAI.ParityWL.Complexity.pairKey_symm_iffline 73 - def
OAI.ParityWL.Complexity.rowKeyline 99 - def
OAI.ParityWL.Complexity.bitChoiceDataline 102 - lemma
OAI.ParityWL.Complexity.ChoiceData.success_rowsline 105 - lemma
OAI.ParityWL.Complexity.bitChoiceData_success_iffline 128 - theorem
OAI.ParityWL.Complexity.bitChoiceData_correctline 161Source documentation
The finite unary tables implement SAT gluing, including empty clauses and empty groups; no promise of nonempty domains is introduced.
theorem bitChoiceData_correct {t : ℕ} (Q : Fin t → BitFormula) (d : ℕ) (hd : ∀ i, (names (Q i)).length≤d) : (bitChoiceData Q d).system.Successful ↔ ∃ a : Name → Bool, ∀ i, bitSat a (Q i) := by …Mentions: OAI.ParityWL.Complexity.BitFormula, OAI.ParityWL.Complexity.names, OAI.ParityWL.Complexity.bitChoiceData, OAI.ParityWL.Complexity.Name, OAI.ParityWL.Complexity.bitSat