TAUT: propositional tautology #
The problem TAUT – is a formula in disjunctive normal form a tautology? – the
archetypical coNP-complete problem. Its instances are the structures of the
SAT vocabulary FirstOrder.Language.sat, read disjunctively: a CNF formula
and a DNF formula are the same data, a set of clauses (here: terms) with the
positive and negative occurrences of the variables in each. The reading is in
DescriptiveComplexity.Tautology: every truth assignment satisfies all the literals of
some term.
Both halves of the coNP-completeness come from SAT by the same interpretation
DescriptiveComplexity.swapSignInterp, which keeps the universe and the terms and
exchanges positive with negative occurrences. It witnesses De Morgan's law: a
DNF is a tautology exactly when the CNF obtained by negating every literal is
unsatisfiable (DescriptiveComplexity.tautology_iff_not_satisfiable). Hence
DescriptiveComplexity.taut_mem_coNP:TAUTᶜFO-reduces to SAT, so it is in NP, so TAUT is in coNP;DescriptiveComplexity.taut_hard_of_piSODefinable: aΠ₁-definable problem has aΣ₁-definable complement, which reduces to SAT by the Cook–Levin dischargeDescriptiveComplexity.sat_hard_of_sigmaSODefinable; complementing that reduction (DescriptiveComplexity.OrderedFOReduction.compl) and composing withSATᶜ ≤ᶠᵒ TAUTdischarges coNP-hardness.
No new second-order argument is needed: TAUT is coNP-complete
(DescriptiveComplexity.TAUT_coNP_complete) purely by the complement machinery of
DescriptiveComplexity.Complexity and the duality
DescriptiveComplexity.piSODefinable_iff_compl.
The disjunctive reading #
A Language.sat-structure, read as a formula in disjunctive normal form,
is a tautology when every assignment of truth values to its elements makes
some term true – that is, satisfies every literal of that term. (Elements that
are not variables of the formula may be assigned arbitrarily; they are harmless
since no term mentions them.)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
De Morgan: tautology is unsatisfiability of the sign swap #
De Morgan's law, structurally: a DNF formula is a tautology iff the CNF
formula obtained by negating every literal is unsatisfiable. The equivalence
e presents B as the sign swap of A: same terms, positive and negative
occurrences exchanged.
Dependency graph
Isomorphism-invariance and the bundled problem #
Being a tautology is isomorphism-invariant.
Dependency graph
TAUT, as a problem on Language.sat-structures read disjunctively: is
every truth assignment a model of some term?
Equations
- DescriptiveComplexity.TAUT = { Holds := fun (A : Type) (inst : FirstOrder.Language.sat.Structure A) => DescriptiveComplexity.Tautology A, iso_invariant := ⋯ }
Instances For
Dependency graph
The sign-swapping interpretation #
The sign-swapping interpretation: same universe, same terms, positive and negative occurrences exchanged. One-dimensional, single-tagged and quantifier-free.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The sign swap is quantifier-free.
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Correctness of the swap, in both directions #
A DNF formula is a tautology iff its sign swap, read as a CNF formula, is unsatisfiable.
Dependency graph
Dually: the sign swap of a CNF formula, read as a DNF formula, is a tautology iff the CNF formula is unsatisfiable.
Dependency graph
The reductions #
TAUT FO-reduces to the complement of SAT, by swapping the sign of every literal.
Equations
- DescriptiveComplexity.taut_fo_reduction_sat_compl = { Tag := Unit, tagFinite := ⋯, tagNonempty := ⋯, dim := 1, toInterpretation := DescriptiveComplexity.swapSignInterp, correct := ⋯ }
Instances For
Dependency graph
The complement of SAT FO-reduces to TAUT, by the same swap.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The complement of TAUT FO-reduces to SAT: a DNF formula fails to be a tautology exactly when its sign swap is satisfiable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
coNP-completeness #
TAUT is in coNP: its complement FO-reduces to SAT, hence is in NP.
Dependency graph
coNP-hardness of TAUT, by complementing the Cook–Levin discharge: a
Π₁-definable problem has a Σ₁-definable complement, which reduces to SAT;
complementing that reduction lands in SATᶜ, which the sign swap turns into
TAUT.
Dependency graph
TAUT is coNP-complete. Membership is DescriptiveComplexity.taut_mem_coNP and
hardness DescriptiveComplexity.taut_hard_of_piSODefinable; both are the Cook–Levin
theorem read through the complement, with no second-order argument of their
own.