Documentation

Complexity.Logics.SecondOrder.Coloring

Colorability is existential second-order definable #

A structure for Mathlib's language of graphs FirstOrder.Language.graph is a directed graph, possibly with loops. It is n-colorable (Cslib.Logic.FO.graph.Colorable) when its vertices can be colored with n colors so that the two ends of every edge have different colors. This is expressed by the existential second-order sentence ∃ C₀ … Cₙ₋₁, (∀ x, C₀ x ∨ ⋯ ∨ Cₙ₋₁ x) ∧ ∀ x y, E x y → ¬ (C₀ x ∧ C₀ y) ∧ ⋯ ∧ ¬ (Cₙ₋₁ x ∧ Cₙ₋₁ y) with one unary relation variable for each color Fagin, Section 1, Example 1, Immerman, Section 7.1. On the structure of a simple graph it says that the graph is n-colorable in the sense of SimpleGraph.Colorable; in particular bipartiteness (n = 2) and three-colorability (n = 3) are existential second-order definable.

Main definitions #

Main results #

References #

@[reducible, inline]

The relation symbol of the color c, a unary relation variable.

Instances For
    @[reducible, inline]

    The edge relation symbol, among the symbols of the colorability sentence.

    Instances For

      The first-order part of the colorability sentence: every vertex has one of the colors, and no edge joins two vertices of the same color.

      Instances For

        Colorability: the existential second-order sentence saying that every vertex has one of n colors and that no edge joins two vertices of the same color.

        Instances For

          A directed graph satisfies the colorability sentence exactly when it has a coloring with n colors in which the two ends of every edge have different colors.

          A simple graph satisfies the colorability sentence exactly when it is n-colorable.

          Colorability is existential second-order definable: the class of finite directed graphs that are n-colorable is a generalized spectrum Fagin, Section 1, Example 1.

          Colorability of simple graphs is existential second-order definable: the class of finite simple graphs that are n-colorable, such as the bipartite (n = 2) or three-colorable (n = 3) ones, is the intersection of a first-order definable class with an existential second-order definable one.

          3COL is existential second-order definable.

          Classical 3COL is existential second-order definable.