#Hamilton Circuit: counting the circuits of an undirected graph #
The counting version of DescriptiveComplexity.HamCircuit: the number of Hamilton
circuits of a graph, a circuit being its set of edges
(DescriptiveComplexity.IsUCircuit) – the symmetric relation “x and y are
consecutive” – and not one of its two orientations.
Membership #
The certificate is still a linear order, and a circuit has 2n of them: n
places to cut it and two directions to read it. The counting kernel
(DescriptiveComplexity.sharpHamKernel) fixes both: the order starts at the least
element of the instance, as for the directed problem, and of the two
neighbours of that element on the circuit it goes first to the smaller one
(DescriptiveComplexity.Oriented). Every circuit has exactly one such order: one
exists because reversing an order reverses its cyclic successor
(DescriptiveComplexity.cycSucc_reverse), and two of them with the same edges agree
at the root by the orientation rule, hence everywhere, by induction along the
circuit (DescriptiveComplexity.cycSucc_of_sym). Hence
DescriptiveComplexity.sharpHamCircuit_mem_sharpP.
Parsimonious hardness is in
DescriptiveComplexity.Problems.Hamilton.CountingUndirectedHardness.
The relation E is the edge set of a Hamilton circuit of R: the
symmetric closure of a circuit of R.
Equations
- DescriptiveComplexity.IsUCircuit R E = ∃ (Nxt : A → A → Prop), DescriptiveComplexity.IsCircuit R Nxt ∧ ∀ (x y : A), E x y ↔ Nxt x y ∨ Nxt y x
Instances For
Dependency graph
Undirected circuits transport along an equivalence commuting with the relations.
Dependency graph
The undirected circuits of two relations an equivalence exchanges are in bijection.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
One order per undirected circuit #
The orientation rule: from the least element, the circuit goes first to the smaller of its two neighbours.
Equations
- DescriptiveComplexity.Oriented C = ∀ (x y z : A), IsBot x → C x y → C z x → y ≤ z
Instances For
Dependency graph
Two oriented cuts with the same edges have the same cyclic successor.
Dependency graph
Undirected circuits are the oriented orders that start at the least element, bijectively.
Dependency graph
The counting problem #
The relation E is the edge set of a Hamilton circuit of a finite
graph.
Equations
- DescriptiveComplexity.UCircuit A E = (Finite A ∧ DescriptiveComplexity.IsUCircuit (fun (x y : A) => DescriptiveComplexity.DGEdge x y) E)
Instances For
Dependency graph
#Hamilton Circuit: the number of Hamilton circuits of a graph, a circuit being its set of edges.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The support of #Hamilton Circuit is Hamilton Circuit.
Registered in the Lax archive as
Lax280166.HamCircuitComplete.sharpHamCircuit_support_iff.
Dependency graph
Membership #
The cyclic successor of the guessed order, as a formula.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
#Hamilton Circuit is in #P: a circuit has exactly one oriented cut at
the least element of the instance.