Documentation

DescriptiveComplexity.Problems.ExactCover

Exact Cover is NP-complete #

EXACT COVER ([Karp 1972][karp1972reducibility]): is there a subfamily covering every ground element exactly once? The problem lives on FirstOrder.Language.setSystem unchanged (DescriptiveComplexity.ExactCover, DescriptiveComplexity.Problems.SetFamily.Defs) – exactness is a property of the subfamily, not a new vocabulary, and it replaces the threshold, so the marked set plays no role at all.

Hardness comes from exactly-one satisfiability (DescriptiveComplexity.Problems.OneInSat) by a reduction with no gadget and no counting, order-free and of dimension 1:

Covering the element x exactly once picks exactly one of the two literals of x – that is a truth assignment – and covering a clause exactly once is exactly what exactly-one satisfaction asks. Nothing here depends on the width of the clauses, which is why the source is unrestricted 1-in-SAT rather than its width-three restriction.

Tags of the reduction: the ground element of a variable, the ground element of a clause, and the set of a literal.

  • velt : ECTag

    The ground element of a variable.

  • celt : ECTag

    The ground element of a clause.

  • lset (s : Bool) : ECTag

    The set of the literal (x, s).

Instances For
    @[instance_reducible]
    Equations
    • One or more equations did not get rendered due to their size.

    The interpretation #

    Defining formula for incidence: the set of (x, s) contains the element of x and the elements of the clauses where (x, s) occurs.

    Equations
    Instances For

      The interpretation of Exact Cover instances in CNF instances.

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

        The points #

        The point of tag t over the element x.

        Equations
        Instances For
          theorem DescriptiveComplexity.ExactCoverRed.ecPt_eq_iff {A : Type} {t t' : ECTag} {x x' : A} :
          ecPt t x = ecPt t' x' t = t' x = x'
          theorem DescriptiveComplexity.ExactCoverRed.ecPt_surj {A : Type} (q : ecInterp.Map A) :
          ∃ (t : ECTag) (x : A), q = ecPt t x

          Characterization of the four relations #

          The sets of the family are exactly the literal sets.

          The ground elements are exactly the variables and the clauses.

          Correctness #

          Correctness of the reduction: a CNF structure is exactly-one satisfiable iff its literal set system has an exact cover.

          1-in-SAT FO-reduces to Exact Cover: the ground elements are the variables and the clauses, and the family has one set per literal. No order, no gadget and no counting.

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

            NP-completeness #

            Exact Cover is NP-hard: 1-in-SAT, which is NP-hard, FO-reduces to it.

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