The Vertex Cover → Hamilton Circuit gadget interpretation #
This file defines the relativized ordered first-order interpretation
DescriptiveComplexity.hamInterp that reduces VERTEX COVER (on marked graphs) to
(undirected) HAMILTON CIRCUIT (on digraphs read symmetrically), the classical
twelve-vertex cover-testing-gadget reduction of Karp 1972,
read in the tagged framework.
The output graph hamInterp.MapRel A has these vertices (all carried by a pair
of input vertices, dim = 2, cut down by a domain formula – hence a
relativized interpretation, DescriptiveComplexity.RelFOInterpretation):
- gadget vertices
⟨g i, (a, b)⟩fori : Fin 6(tagsg0 … g5), one per ordered pair(a, b)of adjacent distinct input vertices. The twelve vertices over the unordered edge{u, v}are(u, v, 0..5)(theu-side) and(v, u, 0..5)(thev-side): the side is which endpoint owns the tuple. - selector vertices
⟨sel, (m, m)⟩, one per marked input vertexm; they form a self-looped clique and attach to the ends of every vertex's chain. - one hub vertex
⟨hub, (min, min)⟩, present only for the degenerate input with no edges and no marks (where the output would otherwise be empty); it is a self-looped isolated vertex, so it is a one-element Hamilton circuit, which matches the (vacuous) yes-instance.
The gadget's edges force, in any Hamilton circuit, one of exactly three
traversals of {u, v}: through the u-side, through the v-side, or both –
never neither. So each edge is covered, and the number of vertices whose
chains are traversed – the cover – is at most the number of selectors, the
marked set. This file only builds the interpretation and characterizes its
adjacency; the two directions of correctness are in Forward and Reverse.
The ordered expansion of the marked-graph vocabulary, the source language of the reduction.
Instances For
Dependency graph
The adjacency symbol over the ordered expansion of marked graphs.
Instances For
Dependency graph
The mark symbol over the ordered expansion of marked graphs.
Instances For
Dependency graph
Edge and neighbour-order formulas #
Edge predicate on the input #
The undirected edge relation on the input: adjacent in some direction, and distinct.
Equations
- DescriptiveComplexity.HEdge a b = ((DescriptiveComplexity.MGAdj a b ∨ DescriptiveComplexity.MGAdj b a) ∧ a ≠ b)
Instances For
Dependency graph
Dependency graph
Realization of the edge and neighbour formulas #
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The tags and the interpretation #
The tags of the interpreted structure. Six gadget-node indices (the side,
u vs v, is encoded by which endpoint owns the carrying tuple), one selector,
one degenerate-case hub. Named constructors, not Fin 8, so the tag match
inside the defining formulas reduces definitionally in the characterizations.
- g0 : HTag
Gadget node
0: the entrance of a side. - g1 : HTag
Gadget node
1. - g2 : HTag
Gadget node
2. - g3 : HTag
Gadget node
3. - g4 : HTag
Gadget node
4. - g5 : HTag
Gadget node
5: the exit of a side. - sel : HTag
A selector, one per marked vertex.
- hub : HTag
The degenerate-case hub.
Instances For
Dependency graph
Dependency graph
Equations
- One or more equations did not get rendered due to their size.
Dependency graph
Equations
Dependency graph
The reduction of Vertex Cover into Hamilton Circuit: the twelve-vertex cover-testing gadget of each edge, chained along every vertex's neighbour list, with the marked vertices as selectors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Realization of the degenerate-case guards #
Dependency graph
Dependency graph
The vertices of the interpreted graph #
The domain formula of a gadget tag says the tuple is an edge.
Dependency graph
Dependency graph
Dependency graph
The adjacency of the interpreted graph #
The intended (symmetric) adjacency of the interpreted graph, on raw tagged
tuples: the ten horizontal gadget edges, the four cross edges, the two chain
edges, the selector–entrance and selector–exit edges, the selector clique and
the hub self-loop. This is exactly what DescriptiveComplexity.hamInterp realizes
(DescriptiveComplexity.dgArc_iff).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The adjacency of the interpreted graph: DescriptiveComplexity.hamInterp
realizes exactly the intended edges DescriptiveComplexity.IAdjRaw.
Dependency graph
The intended adjacency is symmetric: every gadget, chain, selector and hub edge appears in both directions.
Dependency graph
DGArc on the interpreted graph is symmetric, so the symmetric reading
DescriptiveComplexity.DGEdge used by HAMILTON CIRCUIT coincides with it.
Dependency graph
The vertices, as named constructors #
A gadget vertex ⟨t, (a, b)⟩ for a gadget tag t over an edge (a, b).
Instances For
Dependency graph
A selector vertex, one per marked input vertex.
Instances For
Dependency graph
The degenerate-case hub vertex.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Every vertex of the interpreted graph is a gadget vertex, a selector, or the hub.