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.
Relation symbols of the language of digraphs.
- arc : digraphRel 2
arc a b: there is an arc fromatob.
Instances For
Dependency graph
Equations
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
- FirstOrder.Language.digraph = { Functions := fun (x : ℕ) => Empty, Relations := FirstOrder.Language.digraphRel }
Instances For
Dependency graph
Dependency graph
The arc symbol of digraphs.
Instances For
Dependency graph
Tours of a relation #
y is the immediate Le-successor of x: above it, distinct from it,
and with nothing strictly in between.
Equations
Instances For
Dependency graph
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
Being the immediate successor transports along an equivalence.
Dependency graph
Having a tour transports along an equivalence commuting with the two relations.
Dependency graph
The two problems #
There is an arc from a to b.
Equations
Instances For
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
Having a directed Hamilton circuit is isomorphism-invariant.
Dependency graph
Having a Hamilton circuit is isomorphism-invariant.
Dependency graph
DIRECTED HAMILTON CIRCUIT, as a problem on digraphs: is there a circuit following the arcs and visiting every vertex exactly once?
Equations
- DescriptiveComplexity.DirHamCircuit = { Holds := fun (A : Type) (inst : FirstOrder.Language.digraph.Structure A) => DescriptiveComplexity.HasDirHamCircuit A, iso_invariant := ⋯ }
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
- DescriptiveComplexity.HamCircuit = { Holds := fun (A : Type) (inst : FirstOrder.Language.digraph.Structure A) => DescriptiveComplexity.HasHamCircuit A, iso_invariant := ⋯ }