Documentation

DescriptiveComplexity.Problems.Hamilton.Defs

Hamilton circuits: definitions #

DIRECTED HAMILTON CIRCUIT and (undirected) HAMILTON CIRCUIT (Karp 1972): does a graph have a circuit visiting every vertex exactly once? Both live on the same vocabulary FirstOrder.Language.digraph, a single binary relation arc; the undirected problem reads that relation symmetrically (DescriptiveComplexity.DGEdge), which is the honest reading of an undirected graph presented by a possibly asymmetric edge relation.

A circuit is a linear order #

A Hamilton circuit is a cyclic enumeration of the universe, and cutting it anywhere turns it into a linear order whose consecutive elements are adjacent and whose last element is adjacent to its first (DescriptiveComplexity.TourOn). That reading is what makes the problem Σ₁: a relation is what an existential second-order block can guess, and “being a linear order”, “being the immediate successor” and the two adjacency demands are first-order. It is the same device the job-sequencing certificate uses for its schedule, one dimension down: there the order is a sequence of the universe, here it is a cycle of it.

On the empty universe every condition is vacuous, so the empty graph counts as a yes-instance; on a one-element universe the wrap-around demand becomes a self-loop, which is the usual convention.

@[reducible, inline]

arc a b: there is an arc from a to b.

Equations
Instances For
    Dependency graph
    Dependency graph

    The relation symbols of the language.

    Instances For
      Dependency graph
      Dependency graph

      The relational language of digraphs: one binary relation. The undirected problem reads it symmetrically rather than on a vocabulary of its own.

      Equations
      Instances For
        Dependency graph
        Dependency graph

        Tours of a relation #

        def DescriptiveComplexity.SuccOf {A : Type} (Le : A → A → Prop) (x y : A) :

        y is the immediate Le-successor of x: above it, distinct from it, and with nothing strictly in between.

        Equations
        Instances For
          Dependency graph
          def DescriptiveComplexity.TourOn {A : Type} (R : A → A → Prop) :

          A tour of a relation: a linear order of the universe whose consecutive elements are related and whose last element is related to its first. On a finite universe this is exactly a Hamilton circuit, cut open at one place.

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

            The two problems #

            Dependency graph

            There is an edge between a and b: the arc relation read symmetrically, which is how the undirected problem reads its instance.

            Equations
            Instances For
              Dependency graph

              A digraph is a yes-instance of DIRECTED HAMILTON CIRCUIT when its arcs carry a tour of the universe.

              Equations
              Instances For
                Dependency graph

                A graph is a yes-instance of HAMILTON CIRCUIT when its edges – the arcs read symmetrically – carry a tour of the universe.

                Equations
                Instances For
                  Dependency graph
                  Dependency graph
                  Dependency graph

                  DIRECTED HAMILTON CIRCUIT, as a problem on digraphs: is there a circuit following the arcs and visiting every vertex exactly once?

                  Equations
                  Instances For
                    Dependency graph

                    HAMILTON CIRCUIT, as a problem on digraphs read symmetrically: is there a circuit following the edges and visiting every vertex exactly once?

                    Equations
                    Instances For
                      Dependency graph