Planarity Testing Revisited
Abstract
Planarity Testing is the problem of determining whether a given graph is planar while planar embedding is the corresponding construction problem. The bounded space complexity of these problems has been determined to be exactly Logspace by Allender and Mahajan [AM00] with the aid of Reingold’s result [Rei08]. Unfortunately, the algorithm is quite daunting and generalizing it to say, the bounded genus case seems a tall order.
In this work, we present a simple planar embedding algorithm running in logspace. We hope this algorithm will be more amenable to generalization. The algorithm is based on the fact that connected planar graphs have a unique embedding, a variant of Tutte’s criterion on conflict graphs of cycles and an explicit change of cycle basis.
We also present a logspace algorithm to find obstacles to planarity, viz. a Kuratowski minor, if the graph is nonplanar. To the best of our knowledge this is the first logspace algorithm for this problem.
InputInput \SetKwInOutOutputOutput \SetKwInOutPromisePromise
1 Introduction
Planarity Testing, the problem of determining whether a given graph is planar (i.e. the vertices and edges can be drawn on a plane with no edge intersections except at their endpoints) is a fundamental problem in algorithmic graph theory. Along with the problem of actually obtaining a planar embedding, it is a prerequisite for many an algorithm designed to work specifically for planar graphs.
Our focus is on the bounded space complexity of the planarity embedding problem because we know that many graph theoretic problems like reachability [BTV09], perfect matching [DKR10, DKT10], and even isomorphism [DLN08, DLN09] have efficient bounded space algorithms when provided graphs embedded on the plane.
Almost a decade ago, building on previous work by Ramachandran and Reif [RR94], Allender and Mahajan [AM00, AM04], proved that Planarity Testing is contained in SL and is Lhard. With Reingold’s result [Rei08] proving , this gave a tight complexity theoretic classification for the problem. This seemed to be the end of the story as far as the problem of Planarity Testing visavis the logspace world was concerned.
The only catch was, the algorithm described in the paper was quite complicated  in fact a simpler SL algorithm was listed as one of the open questions in [AM00]. We would be satisfied with a complicate algorithm if all we were concerned with was pigeonholing the complexity of the problem. Planarity testing, however, happens to be a fundamental task in Topological Graph theory and a first step towards problems like toroidicity testing and bounded genus testing (also listed as open problems in [AM00]). Therefore, if we are to make any progress towards a tighter classification of these problems, for which no efficient bounded space algorithm is known, especially, if making a nonblackbox use of a planarity algorithm, it is advisable to search for a less daunting algorithm. This work is the result of this search.
In addition to its simplicity, the interplay between the properties of connected planar graphs lends a certain elegance to the algorithm, at least in our, necessarily, biased eyes.
We also give a logspace algorithm to identify a Kuratowski minor if the graph is nonplanar.
2 Related Work
Here we survey the related work very briefly  see the paper by Allender and Mahajan [AM00] for a detailed survey. The algorithmic aspects of Planarity Testing have been studied since the inception of Computer Science. It is clear that as far as sequential computation is concerned, a linear algorithm is optimal. Such algorithms include the one by Hopcroft and Tarjan [HT74]. The next result concerns parallel models of computation. Ramachandran and Reif proposed a very complicated algorithm which worked in logarithmic time and performed almost linar work and can be interpreted as placing the problem in the complexity class AC. The final frontier was bounded space computation and initial sorties had already taken place in the early eighties. Reif [Rei84] proved that planarity testing for degree graphs is in the SLhierarchy while Ja’Ja’ and Simon [JS82a, JS82b] proved that planarity testing is in the NLhirerarchy. After Nisan and TaShma’s result [NTS95] and the ImmermanSzelpcsenyi Theorem [Imm88, Sze88] these bounds become SL and NL respectively. The paper by Allender and Mahajan completed the campaign when they proved that Planarity Testing was SLcomplete and Reingold’s result [Rei08] set the final seal by proving .
3 Outline of Algorithms
3.1 Outline of Planar Embedding Algorithm
We now motivate and informally describe Algorithm 5.4. It is easy to to see that for a planar graph and any of its cycles, for the conflict graph w.r.t. the cycle is bipartite  the bipartitions being given by the bridges that are placed inside the cycle and those that are placed outside it, in some planar embedding.
Conversely, Tutte [Tut58] has shown that a graph is planar iff the conflict graph with respect to every cycle is bipartite. But since a graph potentially has exponentially many cycles a direct application of this result does not yield even a polynomial time algorithm. Thus we ought to seek a small set of cycles such that restricting our attention to the bipartiteness of their conflict graphs suffices to yield a planarity test. The set of fundamental cycles w.r.t. some spanning tree seems to be a natural candidate. Unfortunately, there are nonplanar graphs which have a spanning tree such that the conflict graph w.r.t. each of the fundamental cycles is bipartite. e.g. in a with a spanning tree being a star centered at any vertex, the conflict graph w.r.t. any fundamental cycle has a single bridge.
Suppose, however that we are able to find a deterministic algorithm that constructs a valid planar embedding whenever its input is planar graph and either fails when supplied with a nonplanar graph or outputs a nonplanar embedding. Now, since, its easy to check (via verification of Euler’s formula) that an embedding is planar, we can eliminate any nonplanar graphs at this stage.
Thus it suffices to focus on finding an embedding algorithm that works correctly under the promise that the given graph is planar. We can without much loss of generality, strengthen the promise and assume that the graph is, in addition to being planar, also connected. This is because finding the triconnected components is known to be in logspace (see Lemma 1 and so is patching together the given planar embeddings of triconnected graphs (see Lemma 2).
Concentrating on connected planar graphs we observe that:

The graph has a unique planar embedding.

The conflict graphs w.r.t. any cycle is connected (see Section 5.2), which enables us to bipartition the bridges in a unique way so that bridges in a partition lie on one side of the cycle in question.

Ideally we would like to pick a small set of cycles and determine which edges lie inside them and somehow piece together the combinatorial embedding from this information. A natural choice for such a set is the set of fundamental cycles w.r.t. an arbitrary spanning tree. But the following two problems crop up:

Though we have a bipartition of bridges for each fundamental cycle , it is not clear which partition is mapped inside and which outside.

How do we actually piece together a combinatorial embedding once we know this information?


The first problem can be solved if we knew at least one face of the unique embedding, because then we can just think of the face as the external face and stipulate that every edge (not part of the face) is contained inside it. Thus for every fundamental cycle, the bridge containing all the edges of the external face would lie outside the cycle  this fixes which bridges lie inside and which outside. But Corollary 1 tells us that for the graphs in question there is always a fundamental cycle which is a face. This, combined with Fact 2 ensures that we can find such a face in logspace.

We solve the second problem in Section 5.4, where we first show that finding a solution is equivalent to a change of the cycle basis from fundamental cycles to faces. Then we show an explicit way to perform this inversion in logspace.

Finally, we know that a connected graph is planar iff every edge lies on exactly two induced nonseparating cycles (see Fact 2). Thus, we can use this criterion to check for planarity of .
3.2 Outline of Algorithm to find Kuratowski Minors
In Section 6 we describe an algorithm (Algorithm 5.4) to find a Kuratowski (i.e. a or ) minor in a nonplanar graph. The algorithm indentifies a cycle with a nonbipartite conflict graph. It then finds an induced odd cycle in this conflict graph. Finally, it contracts some of the bridges and vertices of attachment of these bridges to yield a Kuratowski minor.
4 Definitions and Preliminaries
We assume familiarity with basic complexity theory in general and bounded space classes in particular, as described in any standard text e.g [AB09]. We will also assume familiarity with graph theory as described in a text like [Die05, Wes00]. Below, we explicate all nonstandard material we will have occasion to use.
Definition 1
The bridges of a cycle consist of:

For every connected component of , the induced graph where are the vertices of adjacent to some vertex of (the so called points of attachment).

The chords of  here the endpoints of are its points of attachment
Definition 2
Two bridges of a cycle conflict iff either of the following conditions hold:

are two points of attachment of w.r.t. for such that they occur in the order along the cycle .

have three common points of attachment w.r.t. cycle .
We can extend the definition of conflict to sets of bridges by the existence of two sets of conflicting vertices of attachment in the above sense, belonging to (not necessarily the same bridge of) respectively. The conflict graph of a graph w.r.t. a cycle is formed by taking the bridges of as vertices and joining two vertices by an edge iff they conflict.
Definition 3
Given a spanning tree of a biconnected graph , and an edge , the graph contains a unique cycle called the fundamental cycle of . We say that a face of an embedded planar graph is fundamental if it is a fundamental cycle of some nontree edge (with respect to some fixed spanning tree).
The following is an easy consequence of Reingold’s result [Rei08] since we can count the number of components in . We single it out of a set of similar elementary graph computations summarized in Section 3.2 of [AM00] which can be done in logspace because it is of special significance for us.
Fact 1
The list of edges in each fundamental cycle of w.r.t. a spanning tree can be obtained by a logspace transducer.
Fact 2
(Proposition 4.2.10 and Theorem 4.5.2 [Die05]) The faces of a connected planar graph are exactly the induced nonseparating cycles of . Further, a connected graph is planar iff every edge lies on exactly two induced, nonseparating cycles.
Proposition 1
Given a the cyclic order of vertices in every face of a biconnected embedded graph, it is possible to construct in logspace, a combinatorial embedding of the graph.
Proof
Call an ordered triplet, of vertices an angle of an embedded
graph if are consecutive edges on some face of the embedding.
Call two triplets for adjacent if
and either or . Then it is
clear that the undirected graph with angles as vertices and angle adjacencies
as edges, forms a set of disjoint
5 Planarity Testing
5.1 Reduction to the Triconnected case
Lemma 1
(Lemma 3.3 [DNTW09]) The triconnected components of a graph can be obtained in logpace
It is a well known fact that if a graph is nonplanar then one of it’s connected components is nonplanar. [Wes00]
Lemma 2
Given a combinatorial planar embedding of the triconnected components of a graph, it is possible to obtain the biconnected planar embedding of the graph in logspace.
Proof
Consider the triconnected component , separating pair tree. This tree can be constructed in logspace [DNTW09]. We will use the tree as an index to construct the embedding of the graph, given the embedding of it’s components. Given a vertex in a triconnected component,we can obtain the clockwise order of the edges around the vertex using the given combinatorial embedding.
Given a node in the tree corresponding to separating pair we arrange the triconnected components around in the order they appear in the tree and around in the opposite order. This gives us an ordering of edges around each vertex in the graph. We repeat this procedure for each of the nodes corresponding to a separatingpair in the tree. This gives us an embedding of the graph. To move from biconnected graphs to general graphs, see [AM00].∎
5.2 The Conflict Graph
Lemma 3
Given a connected planar graph and an arbitrary cycle in the graph the conflict graph is bipartite and connected.
Proof
It is easy to see that for an embedded planar graph and any cycle contained in it, the conflict graph, is bipartite (with the bipartition being given by whether a bridge is mapped “inside” or “outside” the cycle). We now show that is connected.
For every pair of points there are two paths from x to y along C. We will call these paths and . Let be a set of bridges that correspond to one of the connected components of .
Pick a pair s.t

and are attachment points of bridges in .

and are not adjacent.

The attachment points of all bridges in lie in either or . (Assume WLOG that they lie in ).
We now show that one can always find such a pair . Pick a bridge . The attachment points of divide into a number of segments .(atleast since every bridge has or more points of attachment.) Since no bridge in conflicts with and the vertices corresponding to in form a connected component, it follows easily that all points of attachments of must lie in one of the segments. This implies that there is a point in (a point of attachment of ) that is not a point of attachment of any bridge in . Therefore we can find a pair with the properties listed above.
Now, for every point on , a bridge with points of attachment s.t precedes and succeeds in . If not then either all points of attachment of lie between and or all of them lie between and . This implies that in vertices corresponding to bridges in as a point of attachment are not connected to vertices corresponding to bridges with as a point of attachment. This is a contradiction since corresponds to a connected component in .
Now, if is not a separating pair then a bridge with points of attachment in both and . From the above it follows that conflicts with a bridge in which is not possible. Therefore, is a separating pair.∎
5.3 Inside and Outside a Fundamental Cycle
Next we fix which bridges w.r.t. each of the fundamental cycles are mapped inside and which are mapped outside the concerned cycle. Basically we find one face of the grap and call it the external face. Thus every bridge containing this face is mapped outside any other cycle. This completely fixes the coloring.
Proposition 2
Any biconnected embedded planar graph has a fundamental face (i.e. a fundamental cycle which is also a face) w.r.t. each of its spanning trees.
Proof
It is well known that the set of dual edges of the nontree edges of a biconnected planar graph forms a tree (after reducing all multiedges to a single edge)  the so called dual tree. This follows from observing that cycles in the primal correspond to cuts in the dual (Proposition 4.6.1 [Die05]) and therefore the set of edges dual to the nontree edges are connected in the dual graph, the proof being completed by applying Euler’s relation to verify that the number of such edges is exactly one less than the number of faces. It is easy to see that the face of the original graph corresponding to a leaf of the dual tree is a fundamental face. ∎
A direct consequence of Fact 1, Proposition 2, Fact 2 is the following (since finding whether a cycle is induced and nonseparating is a logspace predicate given the list of edges in the cycle on the input tape).
Corollary 1
Every connected planar graph has at least one fundamental face and this can be found by a Logspace transducer.
Knowing which edges of the graph map to the region enclosed by each of the fundamental cycles, we proceed to construct a purported embedding of the given graph. If the graph is indeed planar we will obtain a valid planar embedding, else we will not be able to do so, giving an effective planarity test (which produces an embedding as a sideeffect).
5.4 Obtaining a Planar Embedding
Here we exhibit a way to identify the edges in each face of the given connected graph. Fact 2 then gives a way of effectively checking if the graph is plnar.
At the heart of the proof is a change of basis in the cycle space over Somewhat msurprisingly the solution to the equations obtained in the previous section tell us which faces sum up (over ) to give a particular fundamental cycle. Notice that we have only an “implicit” representation of the faces (see below) and while we are seeking for an explicit representation in terms of which edges constitute a face. Since fundamental cycles and internal faces both form a basis of the cycle space over , we just need to invert the matrix that expresses the fundamental cycles as a linear combination of faces. Though seemingly this would place the problem in L we give an explicit way to perform this inversion which yields a L upper bound.
Returning to the “implicit” representation of faces, there is a natural bijection between nontree edges and faces viz. one that maps a nontree edge to that face adjacent to which lies inside the fundamental cycle (w.r.t. the external face ). With faces labeled in this way, the solution of the preceding section tells us which faces are contained within the fundamental cycle .
Let us start by fixing some notation. For distinct nontree edges , define iff in a coloring of the conflict graph , the colors of the vertices corresponding to bridges containing get different colors. Intuitively, this means that (if is planar) separates from in the unique planar embedding of .
For each , let denote:
Further, let denote
Notice that for sets the set denotes the symmetric difference of the two sets and the notation above refers to an iteration of this operation.
If the graph is connected planar then in its unique planar embedding with as the external face, consists of the set of nontree edges that are enclosed by but not by any which is also enclosed by . Intuitively, it clear that these are exactly the nontree edges occurring on the face (see description in the preceding paragraph). We will make this intuition precise and in fact, show the following:
Lemma 4
For each nontree edge , the face consists exactly of the edges in the set .
Proof
Given a fundamental cycle let represent the number of faces that lie inside and represent the number of fundamental cycles that lie inside including . Notice that for fundamental cycles which are also faces, . In fact for every fundamental cycle , as an easy consequence of Euler’s formula it follows that .
Let . We will first show that is a face. Since each lies inside and for every nontree , such that , there is exactly one such that . There is one such because we know that every nontree edge enclosed by is either enclosed by some other fundamental cycle or otherwise is in . Thus by induction on the “enclosure depth” of an edge we get an which encloses it. The uniqueness follows from observing that if both then either or .  this is due to planarity  therefore both cannot be in . Thus we get,
therefore:
Now since every fundamental cycle can be written as a sum of internal faces of and is a sum of a set of fundamental cycles (where all computation is over ), it is also a sum of some internal faces. Since only faces contained within figure in this sum, must be a disjoint sum of some cycles enclosed by . We can be more specific, the sum:
includes exactly the faces inside which are also faces inside some for . Thus includes exactly the faces contained inside but not in any for . Now, it is easy to see from the expression for that there is exactly one such face, so it follows from the linear independence of the faces that this must be . ∎
Thus, we can complete the proof of the following:
Theorem 5.1
Given a graph , constructing a planar embedding for if it is planar and otherwise rejecting it, can be done in logspace.
Proof
Given a graph we obtain its connected components using Lemma 1. If each triconnected compoenent is planar, we will successfully obtain a planar embedding for each component and then obtain the proof with the aid of Lemma 2. If some triconnected component is not planar, we will either obtain an which is not induced or is separating or we will obtain an edge lying on at least three ’s and therefore reject.
[h!] \InputGraph \Promise is connected \OutputA planar embedding of if planar and otherwise \BlankLineCompute a spanning tree in \lIfthere is no fundamental face w.r.t. \Return Let be a fundamental face \ForEachfundamental cycle Construct conflict graph \lIf is not bipartite\Return color \ForEachnontree edge \tcpLet be the bridge of containing \lIf gets color different from in let \ForEachfundamental cycle Let Let Let \ForEachedge \lIf doesn’t lie in exactly two ’s\Return \tcpFollow the proof of Proposition 1 to construct an embedding of \Returnplanar embedding of
[h!]
Graph \Promise is nonplanar \OutputA Kuratowski Minor \BlankLineFind a nonplanar subgraph and a cycle s.t. is nonplanar \Begin Fix an ordering of edges of Find smallest edge such that graph on is nonplanar Find planar embedding of Let be two faces containing respectively Find a simple path between in which avoids all other faces containing Let be the symmetric difference of the faces along this path \tcp is nonbipartite Find an induced odd cycle in \Begin Find a spanning tree of and color it Pick a nontree edge with both endpoints of same color, so that all the chords of fundamental cycle have different colors Walk on the tree between endpoints of and “shortcircuit” as many treepaths, by chords, as possible Find a cycle with mutually conflicting bridges Contract the bridges to single vertices (if they originally contained a vertex) or edges Find a Kuratowski minor of this graph by brute force Expand back to a Kuratowski minor of the original graph
6 Finding Kuratowski Subgraphs
We describe an an algorithm to obtain a Kuratowski subgraph given a cycle with a nonbipartite conflict graph. As a consequence, to obtain a Kuratowski subgraph, it is sufficient to find such a cycle in a subgraph of . We do this in a series of lemmas:
Lemma 5
Given a nonplanar graph , we can, in logspace, find a nonplanar subgraph and a cycle s.t. is nonbipartite.
Proof
Given access to a routine for planarity checking, and a nonplanar graph , we can find a minimal nonplanar subgraph of in the following sense. Order the edges of arbitrarily as . Now consider the smallest such that the graph formed by the union of the first edges is nonplanar. Notice that this means that is necessarily planar.
Now, we show how one can find a cycle in this graph such that the conflict graph is nonbipartite. Construct a planar embedding of . The endpoints, say , of must lie on different faces of this embedding because is nonplanar.
Find a path in the dual graph of the embedding between any two faces incident respectively on . (this path must avoid any other faces incident on or .) The symmetric difference of the faces in this path is a cycle one of whose bridges is .
We claim that is nonbipartite. If it were bipartite then it would be possible to give an orientation to each of it’s bridges such that conflicting bridges got opposing orientations. But since the bridges of are all planar, this would imply that is planar . Therefore, is nonbipartite.
Lemma 6
Given a nonplanar graph and a cycle witnessing this via the nonbipartiteness of , we can, in logspace, find an induced odd cycle in .
Proof
Since the conflict graph is nonbipartite, it contains an odd cycle. We aim to find an induced odd cycle in this graph. For this consider a spanning tree of . color the spanning tree. Notice that there must exist a nontree edge between two vertices with the same color (else the graph would have been bipartite). Find a nontree edge such that all the chords of the fundamental cycle get opposite colors  a simple induction on the number of chords that a fundamental cycle has, shows that such an edge must exist and locating it in logspace is easy.
We will construct a chordless cycle from by replacing some tree paths by chords of . To do this, let and let the vertices of the tree path from to be in order. Call the point of a chord for as the origin of the chord and the end of the chord. Now start walking from to along the tree path, outputting tree edges till the origin of a chord is encountered. Output the chord and move on to the end of the chord and repeat. It is easy to see that the edges output by this procedure along with the nontree edge form an induced cycle because either the origin or endpoint of any other chord of is not on this cycle. Also, because the endpoints of all edges on this cycle are oppositely colored except for , this is an odd cycle.
At this point we have a cycle in with a nonbipartite conflict graph and an induced odd cycle in witnessing this. Now we prove the following,
Lemma 7
Given an induced odd cycle in , we can, in logspace, find a Kuratowski subgraph.
Proof
First, suppose that two conflicting bridges and in the odd cycle share points of attachment and . If either of the bridges( say.) has another point of attachment then, clearly the points of attachment of alternate with the points of attachment of . Therefore, it is sufficient to deal with the case when the case where both and have just points of attachment. In this case it is not difficult to see that any bridge that conflicts with also conflicts with and viceversa. Hence must be a cycle. We deal with this case in lemma 8.
Next, consider the case where is an odd cycle of size greater than and the conflict of a bridge in the odd cycle with any other bridge in the oddcycle is witnessed by points of attachment of i.e we exclude the possibility that bridges share points of attachment.
It is easy to see that points of attachment for every bridge that witness both it’s conflicts. Thus by contracting all bridges (excluding points of attachment) to single points and removing edges of attachment, one can reduce all bridges to paths while maintaining all conflicts. This can be done in logspace since for each bridge one only needs to remember the witnesses of conflict of the bridge with its neighbours (in ).(atmost 8 points.)
If we label the vertices of as for some positive integer , and the points of attachment of bridge as then the points occur along in the order: .
Now, consider the cycle (Where ) along with the bridges , the paths connecting and , and and the path Clearly, this is a minor.(see Fig.1 for an example.)
Finally we are left with the following case:
Lemma 8
Given a cycle in with three mutually conflicting bridges, it is possible to extract a Kuratowski minor of in logspace.
Proof
Clearly, it is sufficient to consider points of attachment for each bridge since points of attachment suffice to witness conflict with two other bridges. We can contract the bridges (excluding the points of attachment) to single points and reduce the problem of finding a Kuratowski subgraph in the above graph to that of finding a Kuratowski minor in a nonplanar graph with atmost vertices and edges. Since this is a constant sized graph we can find a Kuratowski minor by bruteforce.
Acknowledgements
The first author would like to acknowledge discussions with Eric Allender, Abhishek Bhrushundi, Ashish Kabra, Raghav Kulkarni, Nutan Limaye, Meena Mahajan, and Prajakta Nimbhorkar on this topic.
Footnotes
 email: {sdatta,gautam}@cmi.ac.in
 email: {sdatta,gautam}@cmi.ac.in
 since any angle has a unique middle vertex
 since every angle is adjacent to exactly two angles on a vertex
References
 Sanjeev Arora and Boaz Barak. Computational Complexity: A Modern Approach. Cambridge University Press, New York, NY, USA, 1st edition, 2009.
 Eric Allender and Meena Mahajan. The complexity of planarity testing. In Proceedings of the 17th Annual Symposium on Theoretical Aspects of Computer Science (STACS), pages 87–98, 2000.
 Eric Allender and Meena Mahajan. The complexity of planarity testing. Inf. Comput., 189(1):117–134, 2004.
 Chris Bourke, Raghunath Tewari, and N. V. Vinodchandran. Directed planar reachability is in unambiguous logspace. TOCT, 1(1), 2009.
 Reinhard Diestel. Graph Theory (Graduate Texts in Mathematics). Springer, 2005.
 Samir Datta, Raghav Kulkarni, and Sambuddha Roy. Deterministically isolating a perfect matching in bipartite planar graphs. Theory Comput. Syst., 47(3):737–757, 2010.
 Samir Datta, Raghav Kulkarni, and Raghunath Tewari. Perfect matching in bipartite planar graphs is in ul. Electronic Colloquium on Computational Complexity (ECCC), 17:201, 2010.
 Samir Datta, Nutan Limaye, and Prajakta Nimbhorkar. connected planar graph isomorphism is in logspace. In Proceedings of the 28th annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS), pages 153–162, 2008.
 Samir Datta, Nutan Limaye, Prajakta Nimbhorkar, Thomas Thierauf, and Fabian Wagner. Planar graph isomorphism is in logspace. In IEEE Conference on Computational Complexity, pages 203–214, 2009.
 Samir Datta, Prajakta Nimbhorkar, Thomas Thierauf, and Fabian Wagner. Graph isomorphism for free and free graphs is in logspace. In FSTTCS, pages 145–156, 2009.
 John E. Hopcroft and Robert E. Tarjan. Efficient planarity testing. Journal of the ACM, 21(4):549–568, 1974.
 Neil Immerman. Nondeterministic space is closed under complementation. SIAM J. Comput., 17(5):935–938, 1988.
 Joseph JáJá and Janos Simon. Parallel algorithms in graph theory: Planarity testing. SIAM J. Comput., 11(2):314–328, 1982.
 Joseph JáJá and Janos Simon. Space efficient algorithms for some graph theoretical problems. Acta Inf., 17:411–423, 1982.
 Noam Nisan and Amnon TaShma. Symmetric logspace is closed under complement. Chicago J. Theor. Comput. Sci., 1995, 1995.
 John H. Reif. Symmetric complementation. J. ACM, 31(2):401–421, 1984.
 Omer Reingold. Undirected connectivity in logspace. J. ACM, 55(4), 2008.
 Vijaya Ramachandran and John H. Reif. Planarity testing in parallel. Journal of Computer and System Sciences, 49:517–561, 1994.
 Róbert Szelepcsényi. The method of forced enumeration for nondeterministic automata. Acta Inf., 26(3):279–284, 1988.
 W. T. Tutte. A homotopy theorem for matroids , I, II. Trans. AMS, 98:144–174, 1958.
 Douglas B. West. Introduction to Graph Theory (2nd Edition). Prentice Hall, August 2000.