Documentation

DescriptiveComplexity.Problems.ExactCover

Exact Cover is NP-complete #

EXACT COVER (Karp 1972): 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
    Dependency graph
    Dependency graph
    Dependency graph
    @[instance_reducible]
    Equations
    • One or more equations did not get rendered due to their size.
    Dependency graph
    Dependency graph

    The interpretation #

    x is a variable of the formula – it occurs in some clause –, as a formula. Without this guard an element in no clause would be a ground element with two singleton sets to choose from: harmless for the existence of an exact cover, and a factor two in their number.

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

      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
        Dependency graph

        The interpretation of Exact Cover instances in CNF instances.

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

          The points #

          The point of tag t over the element x.

          Equations
          Instances For
            Dependency graph
            theorem DescriptiveComplexity.ExactCoverRed.ecPt_eq_iff {A : Type} {t t' : ECTag} {x x' : A} :
            ecPt t x = ecPt t' x' ↔ t = t' ∧ x = x'
            Dependency graph

            Characterization of the four relations #

            Dependency graph
            Dependency graph
            Dependency graph
            Dependency graph
            Dependency graph
            Dependency graph
            Dependency graph
            Dependency graph

            The sets of the family are exactly the literal sets of the variables.

            Dependency graph

            Correctness #

            Stated for an explicit assignment and an explicit cover, so that the same lemmas give the equivalence of the two decision problems and the bijection between their solutions (DescriptiveComplexity.Problems.ExactCoverCounting).

            The subfamily of an assignment: the sets of its true literals.

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

              The assignment of a subfamily: the variables whose positive literal set is chosen.

              Equations
              Instances For
                Dependency graph

                The true literals of an exactly-one assignment form an exact cover.

                Dependency graph

                The chosen sets of an exact cover are the true literals of its assignment, at every variable.

                Dependency graph

                An exact cover reads off an exactly-one assignment.

                Dependency graph

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

                Dependency graph

                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
                  Dependency graph

                  NP-completeness #

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

                  Dependency graph

                  Exact Cover is NP-complete, derived from the first-order reductions of this library and the Cook–Levin theorem. Registered in the Lax archive as Lax799700.SetFamily.exactCover_NP_complete.

                  Dependency graph