Literal occurrences of a CNF structure, ordered #
Semantic layer shared by the reductions from SAT (to 3-colorability, to
3SAT…): literal occurrences of a Language.sat-structure, their traversal
along a linear order of the universe, and the truth of literals and of prefix
disjunctions under an assignment.
An occurrence of a clause c is a pair (x, s) with x an element and
s : Bool a sign, such that x occurs in c with sign s (OccIn).
Occurrences are ordered lexicographically (variable first, then sign,
false < true): occLt. On a finite universe every clause with at least one
occurrence has a first (MinOcc) and last (MaxOcc) occurrence, and every
occurrence that is not first has an immediate predecessor (SuccOcc,
exists_succOcc), which is unique in both directions. These are the facts
needed to thread a gadget chain (an OR-gadget chain for 3-colorability, a
clause-splitting chain for 3SAT) along the occurrences of each clause.
For chain-correctness arguments, LitTrue states that a literal is true under
an assignment, and PrefixOr/PrefixOrStrict state that some occurrence of a
clause up to (resp. strictly before) a given position is true; the lemmas
relating them to MinOcc/MaxOcc/SuccOcc implement the usual invariant of
chain constructions.
Everything in this file is first-order definable over
Language.sat.sum Language.order; the corresponding formulas and their
realization lemmas are in DescriptiveComplexity.OccurrenceFormulas.
c is a clause.
Equations
Instances For
Dependency graph
x occurs positively in c.
Equations
Instances For
Dependency graph
x occurs negatively in c.
Equations
Instances For
Dependency graph
The literal (x, s) occurs in the clause c (s = true for a positive
occurrence). Occurrences are restricted to actual clauses, so that stray
posIn/negIn facts on non-clause elements do not create gadgets.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
c is a clause with no literal: an unsatisfiable clause.
Equations
- DescriptiveComplexity.SatOcc.EmptyCl c = (DescriptiveComplexity.SatOcc.IsCl c ∧ ∀ (x : A) (s : Bool), ¬DescriptiveComplexity.SatOcc.OccIn c x s)
Instances For
Dependency graph
The literal (x, s) is true under the assignment ν.
Instances For
Dependency graph
Dependency graph
Bridge from the Satisfiable form of clause satisfaction to the
occurrence form.
Dependency graph
Strict lexicographic order on occurrence positions: variable first, then
sign (with false < true).
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
(x, s) is the first occurrence of the clause c.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
(x, s) is the last occurrence of the clause c.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
(x, s) is an occurrence of c immediately preceded by the occurrence
(y, t).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
(x, s) is an occurrence of c that is not the first one: an OR-gate of
the chain of c sits on it.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
If (x, s) is both the first and last occurrence of c, it is the only
one.
Dependency graph
Occurrences up to the immediate predecessor (y, t) of (x, s) are
exactly the occurrences strictly before (x, s).
Dependency graph
The successor of a given occurrence is unique.
Dependency graph
Truth of prefix disjunctions #
Some occurrence of c strictly before (x, s) is true under ν.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Some occurrence of c up to (x, s) (inclusive) is true under ν.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
A clause with an occurrence has a first occurrence.
Dependency graph
A clause with an occurrence has a last occurrence.
Dependency graph
A non-first occurrence has an immediate predecessor.
Dependency graph
An occurrence with a later occurrence has an immediate successor.