Documentation

DescriptiveComplexity.Problems.Hamilton.Membership

The Hamilton circuit problems are existential second-order definable #

The membership half of the NP-completeness of both problems: DescriptiveComplexity.dirHamCircuit_sigmaSODefinable and DescriptiveComplexity.hamCircuit_sigmaSODefinable.

Being a Hamilton circuit is not a first-order property of a graph, but a circuit is a first-order object: a linear order of the universe (DescriptiveComplexity.TourOn). So a single existential block guesses one binary relation, and the kernel checks

The two problems share the block and the four order clauses, and differ only in how the last two read the arc relation: as it stands for the directed problem, symmetrized for the undirected one.

The single existential block of the Σ₁ definitions: the circuit, guessed as a linear order of the universe.

Equations
Instances For
    Dependency graph
    Dependency graph
    @[reducible, inline]

    The vocabulary of the kernel: digraphs together with the guessed order.

    Equations
    Instances For
      Dependency graph
      @[reducible, inline]

      The arc symbol in the kernel's vocabulary.

      Equations
      Instances For
        Dependency graph
        @[reducible, inline]

        The order symbol in the kernel's vocabulary.

        Equations
        Instances For
          Dependency graph

          The first-order kernel of the Σ₁ definitions: the guessed relation is a linear order carrying a tour.

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

            The two definability theorems #

            Directed Hamilton Circuit is Σ₁-definable: existentially guess the circuit as a linear order of the universe, then check first-order that it is one and that it follows the arcs.

            Dependency graph

            Hamilton Circuit is Σ₁-definable: the same certificate, the two adjacency clauses reading the arc relation symmetrically.

            Dependency graph