Documentation

DescriptiveComplexity.Problems.ThreeDnfTaut

3-DNF-TAUT is coNP-complete #

3-DNF-TAUT is the width-three restriction of TAUT: a FirstOrder.Language.sat-structure, read disjunctively, is a yes-instance (DescriptiveComplexity.ThreeDnfTautology) when every term has at most three literal occurrences – the very same promise DescriptiveComplexity.WidthAtMostThree as 3SAT – and every truth assignment satisfies all the literals of some term.

Why the width-three variant is not free #

Plain TAUT is coNP-complete by complementing the Cook–Levin discharge (DescriptiveComplexity.taut_hard_of_piSODefinable): the sign swap DescriptiveComplexity.swapSignInterp turns SATᶜ into TAUT. The same sign swap turns 3SATᶜ into "not a width-three tautology", which is not 3-DNF-TAUT: 3SAT folds its width bound into the yes-instances (ThreeSatisfiable = WidthAtMostThree ∧ Satisfiable), so 3SATᶜ is the disjunction ¬WidthAtMostThree ∨ ¬Satisfiable and the sign swap does not transfer. What the discharge needs is the promise that the reduction feeding it only ever outputs width-three instances – an invariant of the image, which the ≤ᶠᵒ interface of a reduction hides.

The invariant is available where it is proved, so this file routes the discharge through the problem that carries it, namely width-three unsatisfiability (DescriptiveComplexity.ThreeUnsatisfiable, bundled as DescriptiveComplexity.ThreeUNSAT), the CNF-side reading of the same yes-instances:

Membership is the gated sign swap DescriptiveComplexity.ThreeDnfTautToSat.gatedSwap: TAUT's swap with every relation formula conjoined with the first-order width check of DescriptiveComplexity.ThreeSatToSat.wideS, so that a wide input is mapped to a structure with no clauses at all – trivially satisfiable, matching the violated promise – and a narrow one to its plain sign swap.

Both problems are coNP-complete (DescriptiveComplexity.ThreeDnfTAUT_coNP_complete, DescriptiveComplexity.ThreeUNSAT_coNP_complete), with no second-order argument of their own.

The two problems #

A Language.sat-structure, read as a formula in disjunctive normal form, is a yes-instance of 3-DNF-TAUT if every term has at most three literal occurrences and every truth assignment satisfies all the literals of some term.

Equations
Instances For
    Dependency graph

    A Language.sat-structure, read as a formula in conjunctive normal form, is a yes-instance of 3-UNSAT if every clause has at most three literal occurrences and no truth assignment satisfies the formula. This is the CNF-side reading of DescriptiveComplexity.ThreeDnfTautology; it is not the complement of 3SAT, which also holds of wide instances.

    Equations
    Instances For
      Dependency graph
      Dependency graph
      Dependency graph

      3-DNF-TAUT, as a problem on Language.sat-structures read disjunctively: TAUT with 3SAT's width bound folded into the yes-instances.

      Equations
      Instances For
        Dependency graph

        3-UNSAT, as a problem on Language.sat-structures: unsatisfiability with 3SAT's width bound folded into the yes-instances.

        Equations
        Instances For
          Dependency graph

          The width bound survives the sign swap #

          The occurrences of the sign swap are the occurrences of the input, with the opposite sign.

          Dependency graph

          The width bound is insensitive to the sign swap: it counts signed occurrences, and the swap is a bijection on them.

          Dependency graph

          The two reductions #

          The width promise is established where the clause-splitting interpretation is applied, and carried along the sign swap; no invariant has to be recovered from a reduction after the fact.

          Correctness of the hardness reduction: an ordered CNF structure is unsatisfiable iff its width-three split is a yes-instance of 3-UNSAT. The width half is the promise SatToThreeSat.widthAtMostThree_map.

          Dependency graph

          The complement of SAT ordered-FO-reduces to 3-UNSAT. 3SAT's clause-splitting interpretation SatToThreeSat.satToThreeSat, applied unchanged: it preserves satisfiability, and its output always meets the width bound.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Dependency graph

            Correctness of the sign swap between the two readings: a width-three CNF structure is unsatisfiable iff its sign swap is a width-three DNF tautology.

            Dependency graph

            3-UNSAT FO-reduces to 3-DNF-TAUT, by TAUT's sign swap swapSignInterp: De Morgan on the satisfiability half, and the width bound is insensitive to the swap.

            Equations
            Instances For
              Dependency graph

              Membership: the gated sign swap #

              The sign-swapping interpretation of TAUT, gated on the width check: a plain sign swap if no term is wide, a structure with no clauses at all otherwise. Reading the output as a CNF formula, a wide input becomes trivially satisfiable, which is what the complement of 3-DNF-TAUT requires.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                Dependency graph
                Dependency graph
                Dependency graph
                Dependency graph

                Correctness of the membership reduction: a DNF structure fails to be a width-three tautology exactly when its gated sign swap is satisfiable. A wide input has no clause in its image, hence a satisfiable one; a narrow input is sign-swapped faithfully, and De Morgan applies.

                Dependency graph

                The complement of 3-DNF-TAUT FO-reduces to SAT. The gated sign swap ThreeDnfTautToSat.gatedSwap maps a DNF structure to a satisfiable CNF instance iff it is not a width-three tautology.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  Dependency graph

                  coNP-completeness #

                  3-DNF-TAUT is in coNP: its complement FO-reduces to SAT, hence is in NP.

                  Dependency graph

                  3-UNSAT is in coNP: it FO-reduces to 3-DNF-TAUT, which is in coNP.

                  Dependency graph

                  coNP-hardness of 3-UNSAT, by complementing the Cook–Levin discharge and splitting clauses: a Π₁-definable problem has a Σ₁-definable complement, which reduces to SAT; complementing that reduction lands in SATᶜ, which the clause-splitting interpretation carries to 3-UNSAT, width promise included.

                  Dependency graph

                  coNP-hardness of 3-DNF-TAUT: the hardness of 3-UNSAT, followed by the sign swap.

                  Dependency graph
                  Dependency graph

                  3-DNF-TAUT is coNP-complete. Membership is the gated sign swap; the hardness discharge is the Cook–Levin theorem read through the complement, routed through 3-UNSAT so that the width promise of the clause-splitting reduction is available where it is needed.

                  Dependency graph
                  Dependency graph
                  Dependency graph