Steiner Tree is existential second-order definable #
The membership half of its NP-completeness
(DescriptiveComplexity.steinerTree_sigmaSODefinable). The existential block guesses
four relations – the chosen set, a root, a strict partial order certifying
connectivity, and an injection of the chosen non-terminals into the marked set
– and the first-order kernel checks the eight conditions of
DescriptiveComplexity.steinerOn_iff_certificate.
The interesting one is connectivity, which is a transitive-closure condition
and hence not first-order. What is guessed instead is a root – as a relation
constrained to hold of at most one element, since the empty set is connected
and has no root – together with an order in which every other chosen vertex
has a chosen neighbor strictly below it. Walking down the order reaches the
root; that is the same certificate idea as for acyclicity in
DescriptiveComplexity.Problems.Feedback, run in the opposite direction.
The relation variables of the block.
- set : SteinerGuessBlockIx
The chosen set of vertices.
- root : SteinerGuessBlockIx
The root of the chosen set.
- order : SteinerGuessBlockIx
The order certifying connectivity.
- inj : SteinerGuessBlockIx
The injection witnessing the threshold.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Equations
- One or more equations did not get rendered due to their size.
Dependency graph
Dependency graph
The adj symbol over the sum.
Instances For
Dependency graph
The vocabulary of the kernel: the instance expanded by the block.
Equations
Instances For
Dependency graph
Dependency graph
The terminal symbol over the sum.
Instances For
Dependency graph
Dependency graph
The single existential block of the Σ₁ definition of Steiner Tree: its
four relation variables.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The marked symbol over the sum.
Instances For
Dependency graph
The clauses #
The first-order kernel of the Σ₁ definition of Steiner Tree.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Realization #
Steiner Tree is Σ₁-definable: guess the chosen set, its root, an
order certifying that it is connected, and an injection of its non-terminals
into the marked set, then check the eight conditions first-order.
Dependency graph
The edge-weighted variant #
The same certificate, plus the edge set itself, and with the threshold
injection mapping pairs to elements – hence a ternary relation variable,
for which DescriptiveComplexity.realize_rel₃ (DescriptiveComplexity.Interpretation)
plays the role Mathlib's Formula.realize_rel₁/₂ play at lower arity.
Dependency graph
Dependency graph
The adj symbol over the sum.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The terminal symbol over the sum.
Instances For
Dependency graph
Equations
- One or more equations did not get rendered due to their size.
Dependency graph
The marked symbol over the sum.
Instances For
Dependency graph
The single existential block of the Σ₁ definition of the edge-weighted
Steiner tree: its five relation variables.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The vocabulary of the kernel: the instance expanded by the block.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The relation variables of the block.
- tree : EdgeSteinerGuessBlockIx
The chosen set of edges.
- set : EdgeSteinerGuessBlockIx
The chosen set of vertices.
- root : EdgeSteinerGuessBlockIx
The root of the chosen set.
- order : EdgeSteinerGuessBlockIx
The order certifying connectivity.
- inj : EdgeSteinerGuessBlockIx
The injection witnessing the threshold.
Instances For
Dependency graph
Dependency graph
The first-order kernel of the Σ₁ definition of the edge-weighted Steiner
tree.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The edge-weighted Steiner Tree is Σ₁-definable: guess the edge set,
the vertices it spans, a root, an order certifying connectivity, and an
injection of the chosen edges into the marked set.