Circuits, locally and from a potential #
Two readings of a Hamilton circuit (DescriptiveComplexity.IsCircuit) that never
mention the linear order it is a cut of, for the two halves of a reduction
into a circuit problem.
- What a circuit gives (
DescriptiveComplexity.IsCircuit.local): every vertex is left once and reached once, along the relation, and two vertices that follow each other both ways are the whole universe. That is all a gadget argument uses: which arc leaves a vertex is settled by which arcs can still reach its neighbours. - What makes a circuit (
DescriptiveComplexity.isCircuit_of_potential): a relation along which every vertex is left once and reached once is a circuit as soon as some potential strictly increases along it at every vertex but one. An orbit avoiding that vertex could never close, so there is one orbit. The order is then read off the powers of the permutation, and the potential is checked arc by arc: no enumeration of the circuit has to be written.
The cyclic successor of the reverse order is the cyclic predecessor.
Dependency graph
A circuit of a symmetric relation, traversed backwards, is a circuit.
Dependency graph
Induction along a circuit: a property of one vertex that passes to the next vertex holds of every vertex.
Dependency graph
A circuit, read locally: every vertex is left once and reached once, along the relation, and two vertices following each other both ways are the whole universe.
Dependency graph
A circuit from a potential: a relation along which every vertex is
left once and reached once, included in R, is a Hamilton circuit of R as
soon as some potential strictly increases along it at every vertex but one.