In the study of graph algorithms, Courcelle's theorem is the statement that every graph property definable in the monadic second-order logic of graphs can be decided in linear time on graphs of bounded treewidth. The result was first proved by Bruno Courcelle in 1990 and independently rediscovered by .
It is considered the archetype of algorithmic meta-theorems.
Formulations.
Vertex sets.
In one variation of monadic second-order graph logic known as MSO1, the graph is described by a set of vertices and a binary adjacency relation formula_1, and the restriction to monadic logic means that the graph property in question may be defined in terms of sets of vertices of the given graph, but not in terms of sets of edges, or sets of tuples of vertices.
As an example, the property of a graph being colorable with three colors (represented by three sets of vertices formula_2, formula_3, and formula_4) may be defined by the monadic second-order formula
formula_5
with the naming convention that uppercase variables denote sets of vertices and lowercase variables denote individual vertices (so that an explicit declaration of which is which can be omitted from the formula). The first part of this formula ensures that the three color classes cover all the vertices of the graph, and the rest ensures that they each form an independent set. (It would also be possible to add clauses to the formula to ensure that the three color classes are disjoint, but this makes no difference to the result.) Thus, by Courcelle's theorem, 3-colorability of graphs of bounded treewidth may be tested in linear time.
For this variation of graph logic, Courcelle's theorem can be extended from treewidth to clique-width: for every fixed MSO1 property formula_6, and every fixed bound formula_7 on the clique-width of a graph, there is a linear-time algorithm for testing whether a graph of clique-width at most formula_7 has property formula_6. The original formulation of this result required the input graph to be given together with a construction proving that it has bounded clique-width, but later approximation algorithms for clique-width removed this requirement.
Edge sets.
Courcelle's theorem may also be used with a stronger variation of monadic second-order logic known as MSO2. In this formulation, a graph is represented by a set "V" of vertices, a set 
"E" of edges, and an incidence relation between vertices and edges. This variation allows quantification over sets of vertices or edges, but not over more complex relations on tuples of vertices or edges.
For instance, the property of having a Hamiltonian cycle may be expressed in MSO2 by describing the cycle as a set of edges that includes exactly two edges incident to each vertex, such that every nonempty proper subset of vertices has an edge in the putative cycle with exactly one endpoint in the subset. However, Hamiltonicity cannot be expressed in MSO1.
Labeled graphs.
It is possible to apply the same results to graphs in which the vertices or edges have labels from a fixed finite set, either by augmenting the graph logic to incorporate predicates describing the labels, or by representing the labels by unquantified vertex set or edge set variables.
Modular congruences.
Another direction for extending Courcelle's theorem concerns logical formulas that include predicates for counting the size of the test.
In this context, it is not possible to perform arbitrary arithmetic operations on set sizes, nor even to test whether two sets have the same size.
However, MSO1 and MSO2 can be extended to logics called CMSO1 and CMSO2, that include for every two constants "q" and "r" a predicate formula_10 which tests whether the cardinality of set "S" is congruent to "r" modulo "q". Courcelle's theorem can be extended to these logics.
Decision versus optimization.
As stated above, Courcelle's theorem applies primarily to decision problems: does a graph have a property or not. However, the same methods also allow the solution to optimization problems in which the vertices or edges of a graph have integer weights, and one seeks the minimum or maximum weight vertex set that satisfies a given property, expressed in second-order logic. These optimization problems can be solved in linear time on graphs of bounded clique-width.
Space complexity.
Rather than bounding the time complexity of an algorithm that recognizes an MSO property on bounded-treewidth graphs, it is also possible to analyze the space complexity of such an algorithm; that is, the amount of memory needed above and beyond the size of the input itself (which is assumed to be represented in a read-only way so that its space requirements cannot be put to other purposes).
In particular, it is possible to recognize the graphs of bounded treewidth, and any MSO property on these graphs, by a deterministic Turing machine that uses only logarithmic space.
Proof strategy and complexity.
The typical approach to proving Courcelle's theorem involves the construction of a finite bottom-up tree automaton that acts on the tree decompositions of the given graph.
In more detail, two graphs "G"1 and "G"2, each with a specified subset "T" of vertices called terminals, may be defined to be equivalent with respect to an MSO formula "F" if, for all other graphs "H" whose intersection with "G"1 and "G"2 consists only of vertices in "T", the two graphs
"G"1 ∪ "H" and "G"2 ∪ "H" behave the same with respect to "F": either they both model "F" or they both do not model "F". This is an equivalence relation, and it can be shown by induction on the length of "F" that (when the sizes of "T" and "F" are both bounded) it has finitely many equivalence classes.
A tree decomposition of a given graph "G" consists of a tree and, for each tree node, a subset of the vertices of "G" called a bag. It must satisfy two properties: for each vertex "v" of "G", the bags containing "v" must be associated with a contiguous subtree of the tree, and for each edge "uv" of "G", there must be a bag containing both "u" and "v".
The vertices in a bag can be thought of as the terminals of a subgraph of "G", represented by the subtree of the tree decomposition descending from that bag. When "G" has bounded treewidth, it has a tree decomposition in which all bags have bounded size, and such a decomposition can be found in fixed-parameter tractable time. Moreover, it is possible to choose this tree decomposition so that it forms a binary tree, with only two child subtrees per bag. Therefore, it is possible to perform a bottom-up computation on this tree decomposition, computing an identifier for the equivalence class of the subtree rooted at each bag by combining the edges represented within the bag with the two identifiers for the equivalence classes of its two children.
The size of the automaton constructed in this way is not an elementary function of the size of the input MSO formula. This non-elementary complexity is necessary, in the sense that (unless P = NP) it is not possible to test MSO properties on trees in a time that is fixed-parameter tractable with an elementary dependence on the parameter.
Bojańczyk-Pilipczuk's theorem.
The proofs of Courcelle's theorem show a stronger result: not only can every (counting) monadic second-order property be recognized in linear time for graphs of bounded treewidth, but also it can be recognized by a finite-state tree automaton. Courcelle conjectured a converse to this: if a property of graphs of bounded treewidth is recognized by a tree automaton, then it can be defined in counting monadic second-order logic. In 1998 , claimed a resolution of the conjecture. However, the proof is widely regarded as unsatisfactory. Until 2016, only a few special cases were resolved: in particular, the conjecture has been proved for graphs of treewidth at most three, for k-connected graphs of treewidth k, for graphs of constant treewidth and chordality, and for k-outerplanar graphs.
The general version of the conjecture was finally proved by Mikołaj Bojańczyk and Michał Pilipczuk.
Moreover, for Halin graphs (a special case of treewidth three graphs) counting is not needed: for these graphs, every property that can be recognized by a tree automaton can also be defined in monadic second-order logic. The same is true more generally for certain classes of graphs in which a tree decomposition can itself be described in MSOL. However, it cannot be true for all graphs of bounded treewidth, because in general counting adds extra power over monadic second-order logic without counting. For instance, the graphs with an even number of vertices can be recognized using counting, but not without.
Satisfiability and Seese's theorem.
The satisfiability problem for a formula of monadic second-order logic is the problem of determining whether there exists at least one graph (possibly within a restricted family of graphs) for which the formula is true. For arbitrary graph families, and arbitrary formulas, this problem is undecidable. However, satisfiability of MSO2 formulas is decidable for the graphs of bounded treewidth, and satisfiability of MSO1 formulas is decidable for graphs of bounded clique-width. The proof involves building a tree automaton for the formula and then testing whether the automaton has an accepting path.
As a partial converse, proved that, whenever a family of graphs has a decidable MSO2 satisfiability problem, the family must have bounded treewidth. The proof is based on a theorem of Robertson and Seymour that the families of graphs with unbounded treewidth have arbitrarily large grid minors. Seese also conjectured that every family of graphs with a decidable MSO1 satisfiability problem must have bounded clique-width; this has not been proven, but a weakening of the conjecture that replaces MSO1 by CMSO1 is true.
Applications.
 used Courcelle's theorem to show that computing the crossing number of a graph "G" is fixed-parameter tractable with a quadratic dependence on the size of "G", improving a cubic-time algorithm based on the Robertson–Seymour theorem. An additional later improvement to linear time by follows the same approach. If the given graph "G" has small treewidth, Courcelle's theorem can be applied directly to this problem. On the other hand, if "G" has large treewidth, then it contains a large grid minor, within which the graph can be simplified while leaving the crossing number unchanged. Grohe's algorithm performs these simplifications until the remaining graph has a small treewidth, and then applies Courcelle's theorem to solve the reduced subproblem.
 observed that Courcelle's theorem applies to several problems of finding minimum multi-way cuts in a graph, when the structure formed by the graph and the set of cut pairs has bounded treewidth. As a result they obtain a fixed-parameter tractable algorithm for these problems, parameterized by a single parameter, treewidth, improving previous solutions that had combined multiple parameters.
In computational topology, extend Courcelle's theorem from MSO2 to a form of monadic second-order logic on simplicial complexes of bounded dimension that allows quantification over simplices of any fixed dimension. As a consequence, they show how to compute certain quantum invariants of 3-manifolds as well as how to solve certain problems in discrete Morse theory efficiently, when the manifold has a triangulation (avoiding degenerate simplices) whose dual graph has small treewidth.
Methods based on Courcelle's theorem have also been applied to database theory, knowledge representation and reasoning, automata theory, and model checking.
References.
 ;templatestyles src="Reflist/styles.css" / ;