  The question of whether there is a logic that captures polynomial time is one
of the main open problems in descriptive complexity theory and database theory.
In 2010 Grohe showed that fixed point logic with counting captures polynomial
time on all classes of graphs with excluded minors. We now consider classes of
graphs with excluded induced subgraphs. For such graph classes, an effective
graph decomposition, called modular decomposition, was introduced by Gallai in
1976. The graphs that are non-decomposable with respect to modular
decomposition are called prime. We present a tool, the Modular Decomposition
Theorem, that reduces (definable) canonization of a graph class C to
(definable) canonization of the class of prime graphs of C that are colored
with binary relations on a linearly ordered set. By an application of the
Modular Decomposition Theorem, we show that fixed point logic with counting
captures polynomial time on the class of permutation graphs. Within the proof
of the Modular Decomposition Theorem, we show that the modular decomposition of
a graph is definable in symmetric transitive closure logic with counting. We
obtain that the modular decomposition tree is computable in logarithmic space.
It follows that cograph recognition and cograph canonization is computable in
logarithmic space.
