The coloring family: definitions #
Three problems built on one generic property, DescriptiveComplexity.ColorableOn: a
map into Fin k separating the pairs related by a conflict relation.
DescriptiveComplexity.KCol k, onFirstOrder.Language.graph-structures: is the graphk-colorable, for akfixed once and for all? The conflict relation is adjacency, so a self-loop makes the instance a no-instance, andDescriptiveComplexity.kCol_threeidentifiesKCol 3withDescriptiveComplexity.ThreeCol.DescriptiveComplexity.ChromaticNumber, onFirstOrder.Language.markedGraph-structures: is the chromatic number at mostk, wherekis the cardinality of the marked set (DescriptiveComplexity.Numbers.Unary)? This is Karp's CHROMATIC NUMBER, withkpart of the instance rather than of the problem.DescriptiveComplexity.CliqueCover, on the same vocabulary: can the vertices be covered by at mostkcliques? A clique cover is a proper coloring of the complement graph, so this is the same generic property with the conflict relation complemented – which is why one interpretation reduces each of the two threshold problems to the other, exactly as inDescriptiveComplexity.Problems.CliqueFamily.
Loops, and why the two threshold problems ignore them #
The two marked-graph problems take their conflict relation off the diagonal
(x ≠ y ∧ …), i.e. they are about the underlying loopless graph, which is the
convention of the clique family on this vocabulary. It is also what makes them
interreducible by edge complementation: complementing off the diagonal is an
involution on loopless graphs, but forgets loops. The price is paid once, in
the reduction from 3-colorability
(DescriptiveComplexity.Problems.Coloring.Reductions), whose input is loop-sensitive:
a self-looped vertex is turned into a K₄, which no 3-coloring survives.
The palette form of a threshold #
A k-coloring with k the cardinality of the marked set can equivalently be
given as a map into the marked set itself
(DescriptiveComplexity.paletteColorableOn_iff): the marked elements are k colors.
This is the form the second-order definitions guess, since it needs only a
binary relation variable, where the number k is not available to the
formulas.
The generic property #
A k-coloring for the conflict relation Cfl: a map into Fin k giving
distinct values to conflicting elements.
Equations
- DescriptiveComplexity.ColorableOn Cfl k = ∃ (c : A → Fin k), ∀ (x y : A), Cfl x y → c x ≠ c y
Instances For
Dependency graph
A coloring whose palette is the marked set itself: a map into the
Kp-marked elements giving distinct values to conflicting elements.
Equations
- DescriptiveComplexity.PaletteColorableOn Cfl Kp = ∃ (col : A → A), (∀ (x : A), Kp (col x)) ∧ ∀ (x y : A), Cfl x y → col x ≠ col y
Instances For
Dependency graph
Colors are the marked elements: on a finite universe, colorability with as many colors as the marked set is colorability by the marked set. This is the bridge between the numeric reading of the threshold and its second-order rendering, where the coloring is guessed as a binary relation variable.
Dependency graph
ColorableOn only depends on the extension of the conflict relation.
Dependency graph
ColorableOn transports along an equivalence commuting with the conflict
relations.
Dependency graph
ColorableOn transports along an equivalence, iff version.
Dependency graph
k-colorability, for a fixed k #
A Language.graph-structure is k-colorable if the vertices can be
colored with k colors so that adjacent vertices get distinct colors.
Equations
- DescriptiveComplexity.KColorable k V = DescriptiveComplexity.ColorableOn (fun (x y : V) => FirstOrder.Language.Structure.RelMap FirstOrder.Language.adj ![x, y]) k
Instances For
Dependency graph
k-colorability is isomorphism-invariant.
Dependency graph
k-colorability, as a problem on Language.graph-structures.
Equations
- DescriptiveComplexity.KCol k = { Holds := fun (V : Type) (inst : FirstOrder.Language.graph.Structure V) => DescriptiveComplexity.KColorable k V, iso_invariant := ⋯ }
Instances For
Dependency graph
At k = 3, k-colorability is 3-colorability.
Dependency graph
Chromatic number and clique cover, with the threshold in the instance #
The conflict relation of the chromatic-number problem: adjacency off the diagonal.
Equations
- DescriptiveComplexity.MGConflict x y = (x ≠ y ∧ DescriptiveComplexity.MGAdj x y)
Instances For
Dependency graph
The conflict relation of the clique-cover problem: non-adjacency off the diagonal – two vertices may share a clique exactly when they are adjacent.
Equations
- DescriptiveComplexity.MGCoConflict x y = (x ≠ y ∧ ¬DescriptiveComplexity.MGAdj x y)
Instances For
Dependency graph
A marked graph has chromatic number at most the size of its marked set. (Finiteness of the universe is part of the property: cardinality thresholds are only meaningful on finite structures.)
Equations
Instances For
Dependency graph
A marked graph can be covered by at most as many cliques as its marked set has elements.
Equations
Instances For
Dependency graph
The chromatic-number property is isomorphism-invariant.
Dependency graph
The clique-cover property is isomorphism-invariant.
Dependency graph
CHROMATIC NUMBER, as a problem on marked graphs: can the graph be properly colored with as many colors as the marked set has elements?
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
CLIQUE COVER, as a problem on marked graphs: can the vertices be covered by at most as many cliques as the marked set has elements?
Equations
- DescriptiveComplexity.CliqueCover = { Holds := fun (A : Type) (inst : FirstOrder.Language.markedGraph.Structure A) => DescriptiveComplexity.HasSmallCliqueCover A, iso_invariant := ⋯ }