SAT reduces to 3-colorability by an ordered FO reduction #
The reverse direction of DescriptiveComplexity.Problems.ThreeColorability.ToSat:
the gadget graph of DescriptiveComplexity.Problems.ThreeColorability.SatGadget is
first-order definable over the ordered expansion
Language.sat.sum Language.order of the language of CNF instances, giving an
ordered first-order reduction from SAT to 3-colorability –
DescriptiveComplexity.sat_ordered_fo_reduction_threeCol : OrderedFOReduction SAT ThreeCol.
The order is genuinely needed: the OR-gadget chain of a clause is threaded along the order of its literal occurrences (“first occurrence”, “immediate predecessor” and “last occurrence” are FO(≤)-definable, but not FO-definable). This is the standard situation in descriptive complexity, where reductions operate on ordered finite structures.
The file assembles the edge formulas edgeF mirroring SatToCol.Core from
the shared occurrence formula builders of DescriptiveComplexity.OccurrenceFormulas
(occF, minOccF, succOccF…), and packages everything into the
interpretation SatToCol.satToCol and the final reduction.
The edge formulas and the interpretation #
One direction of the edge formulas of the gadget graph, mirroring
SatToCol.Core: the free variable (i, j) is the j-th component of the
i-th vertex.
Equations
- One or more equations did not get rendered due to their size.
- DescriptiveComplexity.SatToCol.edgeF DescriptiveComplexity.SatToCol.SatTag.palT DescriptiveComplexity.SatToCol.SatTag.palF = ⊤
- DescriptiveComplexity.SatToCol.edgeF DescriptiveComplexity.SatToCol.SatTag.palF DescriptiveComplexity.SatToCol.SatTag.palB = ⊤
- DescriptiveComplexity.SatToCol.edgeF DescriptiveComplexity.SatToCol.SatTag.palB DescriptiveComplexity.SatToCol.SatTag.palT = ⊤
- DescriptiveComplexity.SatToCol.edgeF (DescriptiveComplexity.SatToCol.SatTag.lit s) DescriptiveComplexity.SatToCol.SatTag.palB = DescriptiveComplexity.SatOcc.eqF (0, 0) (0, 1)
- DescriptiveComplexity.SatToCol.edgeF (DescriptiveComplexity.SatToCol.SatTag.go s) DescriptiveComplexity.SatToCol.SatTag.palB = DescriptiveComplexity.SatOcc.chainedF s (0, 0) (0, 1)
- DescriptiveComplexity.SatToCol.edgeF x✝¹ x✝ = ⊥
Instances For
Dependency graph
Variable swap exchanging the two vertex positions.
Instances For
Dependency graph
The interpretation producing, from an ordered CNF structure, its 3-colorability gadget graph.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Characterization of the interpreted adjacency relation: it is the
symmetrization of Core.
Dependency graph
Main theorem #
Correctness of the reduction: an ordered CNF structure is satisfiable iff its interpreted gadget graph is 3-colorable.
Dependency graph
SAT FO-reduces to 3-colorability on ordered structures. The reverse
fo_reduction theorem: the first-order interpretation SatToCol.satToCol,
over the ordered expansion of the language of CNF instances, maps a finite
CNF structure to a 3-colorable graph iff it is satisfiable. Together with
threeCol_fo_reduction_sat, SAT and 3-colorability are FO-interreducible.
Equations
- One or more equations did not get rendered due to their size.