Documentation

DescriptiveComplexity.Problems.ThreeSat

3SAT is NP-complete #

Umbrella file for the problem 3SAT (DescriptiveComplexity.ThreeSAT, defined in DescriptiveComplexity.Problems.ThreeSat.Defs), collecting its two first-order reductions –

and deriving its NP-completeness from the Cook–Levin theorem (Cook 1971; Levin 1973; DescriptiveComplexity.SAT_NP_complete), with no machine model anywhere. As with any complexity-theoretic statement, these results are about finite CNF structures only (ComplexityClass.mem_congr_finite/hard_congr_finite).

3SAT is in NP: it FO-reduces to SAT, which is in NP.

Dependency graph

3SAT is NP-hard: SAT, which is NP-hard, reduces to it by an ordered FO reduction.

Dependency graph

3SAT is NP-complete, derived from the two first-order reductions of this library and the Cook–Levin theorem.

Dependency graph