Documentation

DescriptiveComplexity.Problems.SetFamily

The set family is NP-complete #

Umbrella file for the three problems on set systems – Set Cover, Hitting Set and Set Packing (DescriptiveComplexity.SetCover, DescriptiveComplexity.HittingSet, DescriptiveComplexity.SetPacking, defined in DescriptiveComplexity.Problems.SetFamily.Defs) – collecting the quantifier-free reductions of DescriptiveComplexity.Problems.SetFamily.Reductions (the transposition relating Set Cover and Hitting Set) and DescriptiveComplexity.Problems.SetFamily.FromGraphs (the edge-incidence reading of a marked graph), and deriving NP-completeness from

Membership then travels backward and hardness forward along the transposition, which relates Set Cover and Hitting Set in both directions, giving DescriptiveComplexity.hittingSet_NP_complete. This is the set-system mirror of the clique family: there, complementation relates the three graph problems and one Σ₁ definition serves them all; here the transposition relates two of them, while Set Packing – whose threshold is a lower bound, like Clique's – carries its own definition. As with any complexity-theoretic statement, these results are about finite set systems only (DescriptiveComplexity.ComplexityClass.mem_congr_finite/hard_congr_finite).

Vertex Cover FO-reduces to Hitting Set, by composing the edge-incidence reading of a graph with the transposition of a set system. In the composite, the vertices are the ground elements and the edges are the sets to be hit – the textbook rendering of Vertex Cover as a hitting-set problem.

Equations
Instances For
    Dependency graph

    NP-completeness #

    Set Cover is in NP: it is Σ₁-definable.

    Dependency graph

    Set Cover is NP-hard: Vertex Cover, which is NP-hard, reduces to it by the edge-incidence interpretation.

    Dependency graph

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

    Dependency graph

    Hitting Set is in NP: it FO-reduces to Set Cover, which is in NP.

    Dependency graph

    Hitting Set is NP-hard: Set Cover, which is NP-hard, reduces to it by transposing the incidence relation.

    Dependency graph
    Dependency graph

    Set Packing is in NP: it is Σ₁-definable.

    Dependency graph

    Set Packing is NP-hard: Independent Set, which is NP-hard, reduces to it by the edge-incidence interpretation.

    Dependency graph
    Dependency graph

    Exact Cover is in NP: it is Σ₁-definable – guess the subfamily, then check covering and disjointness first-order. Its NP-hardness, from exactly-one satisfiability, is in DescriptiveComplexity.Problems.ExactCover.

    Dependency graph