1 Introduction
The study of graph planarity testing and of its variants is at the heart of graph algorithms and of their applications in various domains (see, e.g. [ppte13]). Among the most studied variants we recall, for example, upward planarity testing, rectilinear planarity testing, clustered planarity testing, and HVplanarity testing (see, e.g. [brnpcpcep16, cdcpsocg05, dlphvpac19, fcepcg95, gtupt95, gtccuprp01]). This paper studies a problem of graph planarity testing subject to embedding constraints.
In its more general terms, graph planarity with embedding constraints addresses the problem of testing whether a graph admits a planar embedding where the cyclic order of the edges incident to (some of) its vertices is totally or partially fixed. For example, Angelini et al. [adfjkprtppeg15] and Jelínek et al. [jrkttppeg13] study the case when the planar embedding of a subgraph of is given as part of the input. Angelini et al. [adfjkprtppeg15] present a lineartime solution to the problem of testing whether admits a planar embedding that extends the given embedding of . Jelínek et al. [jrkttppeg13] show that if the planarity test fails, an obstruction taken from a collection of minimal nonplanar instances can be produced in polynomial time. A different planarity testing problem with embedding constraints is studied by Dornheim [dpgtc02], who considers the case that is given with a distinguished set of cycles and it is specified, for each cycle, that certain edges must lie inside or outside the cycle. He proves NPcompleteness in general and describes a polynomialtime solution when the graph is biconnected and any two cycles share at most one vertex. Da Lozzo and Rutter [draafcp18] give an approximation algorithm for a restricted version of the problem.
The research in this paper is inspired by a seminal work of Gutwenger et al. [gkmptoei08] who study the graph planarity testing problem subject to hierarchical embedding constraints. The hierarchical embedding constraints specify for each vertex of which cyclic orders of the edges incident to are admissible in a constrained planar embedding of . The term “hierarchical” reflects the fact that these constraints describe ordering relationships both between sets of edges incident to a same vertex and, recursively, between edges within a same set. For example, Figure 1 shows a vertex, its incident edges, and a set of hierarchical embedding constraints on these edges. The edges are partitioned into four sets, denoted as , , , and . As shown in Figure 0(a), the embedding constraints allow only two distinct clockwise cyclic orders for these sets: and . Within each set, the edges of , , and can be arbitrarily permuted with one another, while the edges of are partitioned into two subsets and such that precedes in the clockwise order around the vertex. Also, the edges of can be arbitrarily permuted while the edges of have only two possible orders that are the reverse of one another.
Hierarchical embedding constraints can be conveniently encoded by using FPQtrees, a variant of PQtrees that includes Fnodes in addition to P and to Qnodes. An Fnode encodes a permutation that cannot be reversed. For example, the hierarchical embedding constraints of Figure 0(a) can be represented by two FPQtrees called and in Figure 0(b). In the figure, Fnodes are depicted as shaded boxes, Qnodes as white boxes, and Pnodes as circles. The leaves of and are the elements of , , , , and .
Gutwenger et al. [gkmptoei08] study the planarity testing problem with hierarchical embedding constraints by allowing at most one FPQtree per vertex. In this paper we generalize their study and allow more than one FPQtree associated with each vertex. Besides being interesting on its own right, this generalization can be used to model and study other graph planarity testing problems. As a proof of concept, we apply our results to the study of NodeTrix planarity testing of clustered graphs.
NodeTrix representations have been introduced to visually explore flat clustered graphs by Henry et al. [hfmdhvsn07] in one of the most cited papers of the InfoVis conference [citevis]. See also [bbdlppvalg11, ddfpcnrcgjgaa17, dlptntptsc17, hfmdhvsn07]. A flat clustered graph is a graph whose vertex set is partitioned into subsets called clusters. A NodeTrix representation of represents its clusters as adjacency matrices, while the edges connecting different matrices are represented as simple curves (see for example Figure LABEL:fi:intro in Section LABEL:se:nodetrix). The NodeTrix planarity testing problem asks whether admits a NodeTrix representation without edge crossings. The question can be asked both in the “fixed sides” scenario and in the “free sides” scenario. The fixed sides scenario specifies, for each edge connecting two matrices and , the sides (Top, Bottom, Left, Right) of and to which must be incident; in the free sides scenario the testing algorithm can choose the sides to which is incident. NodeTrix planarity testing is known to be NPcomplete in both scenarios [ddfpcnrcgjgaa17, dlptntptsc17]. Our main results are the following.

We show that FPQChoosable Planarity Testing is NPcomplete even if the number of FPQtrees associated with each vertex is bounded by a constant. This contrasts with the result of Gutwenger et al. [gkmptoei08] who prove that FPQChoosable Planarity Testing can be solved in linear time when each vertex is equipped with at most one FPQtree. We also prove that FPQChoosable Planarity Testing remains NPcomplete even if the FPQtrees associated with the vertices only contain Pnodes.

Since FPQChoosable Planarity Testing is NPcomplete for sets of FPQtrees each having bounded size, it makes sense to investigate under which conditions these instances of the problem become tractable. We prove that FPQChoosable Planarity Testing can be solved in polynomial time for graphs of bounded branchwidth if the number of FPQtrees associated with each vertex is bounded by a constant.

We show that there is a strict interplay between the FPQChoosable Planarity Testing problem and the problem of testing whether a flat clustered graph is NodeTrix planar. As a result, we prove that NodeTrix planarity testing with fixed sides is fixedparameter tractable when parameterized by the size of the clusters of and by the treewidth of the multigraph obtained by collapsing the clusters of to single vertices. If we consider the vertex degree of as an additional parameter, the fixedparameter tractability immediately extends to NodeTrix planarity testing with free sides.
From a technical point of view, our algorithmic approach is based on a combined usage of different data structures, namely the SPQRtrees [dtolpt96], the FPQtrees, and the spherecut decomposition trees [dpbfeeapg10, gtobdpg08, stcrr94] of the input graph. Also, it may be worth recalling that a polynomialtime solution for NodeTrix planarity testing with fixed sides is known only when the treewidth of the graph obtained by collapsing the clusters to single vertices is 2 [dlptntptsc17].
The rest of the paper is organized as follows. Section 2 reports preliminary definitions. Section 3 introduces the FPQChoosable Planarity Testing problem, Section 4 shows the NPcompleteness of FPQChoosable Planarity Testing, in Section 5 we describe a fixedparameter tractability approach for FPQChoosable Planarity Testing, and in Section LABEL:se:nodetrix we analyze the interplay between FPQChoosable Planarity Testing and NodeTrix Planarity testing. Open problems are given in Section 6.
2 Preliminaries
We assume familiarity with graph theory and algorithms, and we only briefly recall some of the basic concepts that will be used extensively in the rest of the paper (see also [arumugam2016handbook, dettgd99]).
A PQtree is a treebased data structure that represents a family of permutations on a set of elements [bltcopiggpupa76]. In a PQtree, each element is represented by one of the leaf nodes, and each nonleaf node is a Pnode or a Qnode. The children of a Pnode can be permuted arbitrarily, while the order of the children of a Qnode is fixed up to reversal. Given a graph together with a fixed combinatorial embedding, we can associate with each vertex a PQtree whose leaves represent the edges incident to , so that represents a set of cyclic orders of the edges around . An FPQtree is a PQtree where, for some of the Qnodes, the reversal of the permutation described by their children is not allowed. To distinguish these Qnodes from the regular Qnodes, we call them Fnodes. It may be worth recalling that Gutwenger et al. [gkmptoei08] call this data structure “embedding constraint”, and that their “gcnodes” correspond to Pnodes, “mcnodes” to Qnodes, and “ocnodes” to Fnodes.
Let be a biconnected planar graph. An SPQRdecomposition of describes the structure of in terms of its triconnected components by means of a tree called the SPQRdecomposition tree, and denoted as (see, e.g. [dettgd99, dtolpt96]). Tree can be computed in linear time and it has three types of nodes that correspond to different arrangements of the components of . If the components are arranged in a cycle, they correspond to an Snode of ; if they share two vertices and are arranged in parallel, they correspond to a Pnode of ; if they are arranged in a triconnected graph, they correspond to an Rnode of . The leaves of are Qnodes, and each of them corresponds to an edge of . To simplify the description and without loss of generality, we shall assume that every Snode of has exactly two children. Tree encodes all possible planar combinatorial embeddings of . Figure 2 shows an example of SPQRtree decomposition of a graph. For each node of , the skeleton of is an auxiliary graph that represents the arrangement of the triconnected components of corresponding to , and it is denoted by . Each edge of that is not a Qnode of is called a virtual edge, and the endpoints of a (possibly virtual) edge are called poles. Every virtual edge corresponds to a subgraph of called the pertinent graph, that is denoted by . Note that the planar combinatorial embeddings that are given by the SPQRdecomposition tree of a biconnected graph give constraints on the cyclic order of edges around each vertex of . These constraints can be encoded by associating a PQtree to each vertex of , called the embedding tree of and denoted as (see, e.g. [brspoace16]).
3 The FPQchoosable Planarity Testing Problem
Let be a graph, let , and let be an FPQtree whose leaf set is , i.e., the set of the edges incident to . Given a planar embedding of , we denote by the cyclic order of edges incident to . We define as the set of planar embeddings of such that the cyclic order of the edges incident to is represented by the FPQtree .
An FPQchoosable graph is a pair where is a (multi)graph, and is a mapping that associates each vertex with a set of FPQtrees whose leaf set is . An assignment is a function that assigns to each vertex an FPQtree in . We say that is compatible with if there exists a planar embedding of such that for all . In this case, we also say that is consistent with .
An FPQchoosable graph is FPQchoosable planar if there exists an assignment of FPQtrees that is compatible with . Figure 3 shows an FPQchoosable planar graph , whose vertices are equipped with the following sets of FPQtrees: , , , and . Figure 2(a) shows an embedding consistent with an assignment that is compatible with ; in Figure 2(b), there is no planar embedding that is consistent with the shown assignment.
The FPQChoosable Planarity Testing problem receives as input an FPQchoosable graph and it asks whether is FPQchoosable planar, i.e., it asks whether there exists an assignment that is compatible with . In the rest of the paper we are going to assume that is a biconnected graph. Clearly must be planar or else the problem becomes trivial. Also, any assignment that is compatible with must define a planar embedding of among those described by an SPQRdecomposition tree of .
Therefore, a preliminary step for an algorithm that tests whether is FPQchoosable planar is to intersect each FPQtree with the embedding tree of , so that the cyclic order of the edges incident to satisfies both the constraints given by and the ones given by . (See, e.g., [brspoace16] for details about the operation of intersection between two PQtrees, whose extension to the case of FPQtrees is straightforward). Therefore, from now on we shall assume that the FPQtrees of have been intersected with the corresponding embedding trees and, for ease of notation, we shall still denote with the set of FPQtrees associated with and resulting from the intersection. We also remove the nulltree, which represents the empty set of permutations, from the sets . Clearly, a necessary condition for the FPQchoosable planarity of is that is not the empty set for every .
4 Complexity of FPQchoosable Planarity Testing
Gutwenger et al. [gkmptoei08] show that the FPQChoosable Planarity Testing problem can be solved in time for an FPQchoosable graph such that for every vertex of . As shown by the following theorem, in its generality the problem is NPcomplete even if is such that is bounded by a constant for every vertex , and even if consists of FPQtrees having only Pnodes.
[] FPQChoosable Planarity Testing is NPcomplete even if the number of FPQtrees associated with each vertex is bounded by a constant, and even if these FPQtrees have only Pnodes.
Proof.
We denote with the number of vertices of the input graph and we assume that for each vertex of the input, . We generate all possible assignments by performing nondeterministic guess operations and, for each assignment, we decide whether it is compatible with the input graph by applying the lineartime algorithm of Gutwenger et al. [gkmptoei08]. It follows that FPQChoosable Planarity Testing is in NP.
In order to show that FPQChoosable Planarity Testing is NPhard, we use a reduction from the problem of deciding whether a triconnected cubic graph admits a edgecoloring. The edgecoloring problem for a cubic graph asks whether it is possible to assign a color in the set to each edge of the graph so that no two edges of the same color share a vertex. The problem is known to be NPcomplete for triconnected cubic graphs [hnpcec81]. To this aim, for any given triconnected cubic graph we construct an FPQchoosable graph that is FPQchoosable planar if and only if has a edgecoloring. Since every vertex of is equipped with at most six FPQtrees, the statement will follow.
The construction that maps any triconnected cubic graph into an FPQchoosable graph is as follows. Each vertex of is associated with a vertex in , and each edge of is associated in with three parallel paths of arbitrary length , , and , which connect vertices and in (by parallel paths we mean that no two such paths share a vertex except and ). See for example Figure 3(a) and 3(b). Note that every vertex of has either degree or degree . Each vertex of having degree is equipped with one FPQtree consisting of an Fnode and whose leaves represent the two edges incident to . Each vertex of having degree is equipped with a set of FPQtrees. Each FPQtree in consists of a Pnode connected to three Qnodes , , and , which have three leaves each, denoted as , , . See for example Figure 3(c), that shows an FPQtree of the vertex in Figure 3(b).
Observe that every FPQtree in can be defined as the union of three trees , , and , such that each consists of node , node , and the three leaves of (). For example, , , and are highlighted in Figure 3(c). Consider a Qnode and the cyclic order of its incident edges in . If the leaves of appear as , , in , we say that has a red configuration; if they appear as , , , we say that has a green configuration; if they appear as , , , we say that has a blue configuration. For example, in Figure 3(c) has a red configuration, has a green configuration, and has a blue configuration.
Let , , and be the three edges incident to a vertex in the triconnected cubic graph and let be its corresponding vertex in . For each edgecoloring of , there is a bijection between an FPQtree in and the colors of the three edges incident to . Namely, for a edgecoloring of where is red, we impose a red configuration to in ; if is green, we impose a green configuration to ; if is blue, we impose a blue configuration to . We say that matches the color of and that matches the color of the edges incident to . For example, the FPQtree of Figure 3(c) matches the color of the edges incident to in Figure 3(a), because matches the color of , matches the color of and matches the color of . Since there are six possible permutations of the three colors around in , we have that in .
We now prove that if admits a edgecoloring, is FPQchoosable planar. Let be any vertex of with incident edges , , , and let be the vertex that corresponds to in . We define an assignment for where is the FPQtree that matches the color of the edges incident to . For every vertex of of degree , is the only FPQtree associated with . We show that there exists a planar embedding of that is consistent with . Each edge of has an endpoint of degree and an endpoint of degree . Since consists of an Fnode with two incident edges representing the edges incident to in , the cyclic order of the edges around is fixed. Every vertex of degree belongs to one of three parallel paths connecting the same pair and of two vertices of degree in . Since matches the color of the edges incident to in and matches the color of the edges incident to in , the leaves of and the leaves of that represent the edges of the three paths can be ordered so to avoid edge crossings. If, for example, edge is red in , we have that has a subtree and has a subtree such that both and match the red color. and have the same set of leaves and they appear in reverse order around and around in a planar embedding of . It follows that if admits a edgecoloring, is FPQchoosable planar.
Suppose for a converse that is FPQchoosable planar. There exists an assignment that is compatible with . Assignment defines the cyclic order of the edges incident to each vertex in a planar embedding of . Recall that for any two vertices and having degree , they are connected by three parallel paths , , and , where is the edge of in a bijection with these three paths. Since is compatible with , the two FPQtrees and both contain two subtrees and such that: (i) and have the same set of three leaves; (ii) these three leaves represent edges of that belong to , , and ; (iii) and have the same red (green, blue) configuration. We color the edges of , , and with the red (green, blue) color depending on the color configuration of and of . By iterating this procedure over all triplets of paths we have that around every vertex of degree in there are three consecutive triplets of edges such that the edges of each triplet all have the same color and no two triplets have the same color. A edgecoloring of is therefore obtained by giving every edge of the same color as the one of the corresponding triplet , , and in . It follows that if is FPQchoosable planar then has a edgecoloring.
In order to prove that the problem remains NPcomplete if the FPQtrees associated with the vertices have only Pnodes, we construct an FPQchoosable graph in a slightly different way from the one described above. In particular, each edge of is associated with six parallel paths of arbitrary length in , and each vertex having degree in is equipped with six FPQtrees as the one in Figure 5. Note that in the previous construction we equipped each vertex of degree in with an FPQtree consisting of an Fnode, but we can obtain the same behavior for its two leaves by replacing the Fnode with a Pnode. ∎
Theorem 4 naturally raises the question about which families of FPQchoosable graphs other than those studied by Gutwenger et al. admit a polynomialtime solution for the FPQChoosable Planarity Testing problem. The next section proves that any FPQchoosable graph such that has bounded branchwidth and is bounded by a constant for each vertex can be tested for FPQchoosable planarity in polynomial time.
5 FPQchoosable Planar Graphs with Bounded Branchwidth
This section is organized as follows. We first introduce the notions of boundaries and of extensible orders, and state two technical lemmas. Next, we define the concepts of pertinent FPQtree, skeletal FPQtree and admissible tuple, which are fundamental in the algorithm description. Finally, we present a polynomialtime testing algorithm for FPQchoosable graphs having bounded branchwidth and such that the number of FPQtrees associated with each vertex is bounded by a constant.
Boundaries and Extensible Orders: Let be an FPQtree, let denote the set of its leaves, and let be a proper subset of . We denote by a cyclic order of the leaves of an FPQtree, and we say that if the FPQtree represents . We say that is a consecutive set if the leaves in are consecutive in every cyclic order represented by . Let be an edge of , and let and be the two subtrees obtained by removing from . If either or are a subset of a consecutive set , then we say that is a split edge of . The subtree that contains the leaves in is the split subtree of . A split edge is maximal if there exists no split edge such that the split subtree of contains .
[] Let be an FPQtree, a consecutive proper subset of , and the set of maximal split edges of . Then either , or and there exists a Qnode of such that has degree at least and the elements of appear consecutive around .
Proof.
Assume that . Let and be two maximal split edges of , and let and be the split subtrees of and , respectively. Let further denote the endpoint of that is not in . The endpoint is defined likewise. Refer to Figure 6 for an illustration.
Suppose for the sake of contradiction that and are distinct. Let denote the first edge on the path from to . By the maximality of and , the edge is not a split edge. It follows that there is an edge incident to that is different from and that is not a split edge. Likewise, we find an edge incident to that is different from the first edge on the path from to and that is not a split edge. But then is an edge of a tree such that one of the two subtrees it separates has leaves in and leaves that are not in . It follows that is not a consecutive set. This is a contradiction to the assumption that and are distinct.
It follows that the edges in are all incident to a single vertex . If has degree , then is not a proper subset of the leaves, and if it has degree , then also its remaining edge is a split edge, which contradicts the maximality of the split edges in . Hence . If were a Pnode, this would contradict the assumption that is a consecutive set. ∎
If , the split edge in is called the boundary of L. If , the Qnode defined in the statement of Lemma 5 is the boundary of . Figure 6(a) shows an FPQchoosable graph and two FPQtrees and . The three red edges , , and of define a consecutive set in ; the edges and define a consecutive set in . The boundary of in is a Qnode, while the boundary of in is an edge. We denote as the boundary of a set of leaves . If is a Qnode, we associate with a default orientation (i.e., a flip) that arbitrarily defines one of the two possible permutations of its children. We call this default orientation the clockwise orientation of . The other possible permutation of the children of corresponds to the counterclockwise orientation.
Let , where is a new element. Let , and let be a cyclic order obtained from by replacing the elements of the consecutive set by the single element . We say that a cyclic order of is extensible if there exists a cyclic order with . In this case, we say that is an extension of . Note that if the boundary of is a Qnode , then any two extensions of induce the same clockwise or counterclockwise orientation of the edges incident to . An extensible order is clockwise if the orientation of is clockwise; is counterclockwise otherwise. If the boundary of is an edge, we consider any extensible order as both clockwise and counterclockwise.
Let and be two disjoint consecutive sets of leaves that have the same boundary Qnode in . Let and be two extensible orders of and , respectively. We say that and are incompatible if one of them is clockwise and the other one is counterclockwise.
[] Let be an FPQtree, a partition of into consecutive sets, and extensible orders of . There exists an order of represented by such that if and only if no pair is incompatible.
Proof.
The onlyif direction is clear. For the ifdirection, assume that no pair is incompatible. Note that, since is consecutive, so is . We denote by the subtree of that is obtained by replacing the consecutive set by a single leaf . Note that () is a subtree of and the set forms a partition of the edges of . Observe that defines a cyclic order of the edges around each node of . Moreover, if and overlap, then they do so in the boundary of and , which must hence be a Qnode . Since no pair is incompatible, it follows that they induce the same cyclic order of the edges around . Thus, together the determine a unique order in such that . ∎
Pertinent FPQtrees, Skeletal FPQtrees, and Admissible Tuples: Let be an FPQchoosable graph, let be an SPQRdecomposition tree of and let be a pole of a node of , let be an FPQtree associated with , let be the set of edges that are incident to and not contained in , and let . Note that there is a bijection between the edges of and the leaves of , hence we shall refer to the set of leaves of as . Also note that is represented by a consecutive set of leaves in , because in every planar embedding of the edges must appear consecutively in the cyclic order of the edges incident to .
The pertinent FPQtree of , denoted as , is the FPQtree obtained from by replacing the consecutive set with a single leaf . Informally, the pertinent FPQtree of describes the hierarchical embedding constraints for the pole within the pertinent graph . For example, in Figure 6(b) a pertinent graph with poles and is highlighted by a shaded region; the pertinent FPQtree of and the pertinent FPQtree of are obtained by the FPQtrees and of Figure 6(a).
Let be the children of in . Observe that the edges of each () form a consecutive set of leaves of . The skeletal FPQtree of , denoted by , is the tree obtained from by replacing each of the consecutive sets () by a single leaf . See for example, Figure 6(c). Observe that each Qnode of corresponds to a Qnode of , and thus to a Qnode of ; also, distinct Qnodes of correspond to distinct Qnodes of , and thus to distinct Qnodes of . For each Qnode of that is a boundary of or of one of its children , there is a corresponding Qnode in that inherits its default orientation from .
Let be an FPQchoosable graph, let be an SPQRdecomposition tree of , let be a node of , and let and be the poles of . We denote with the FPQchoosable graph consisting of the pertinent graph and the set that is defined as follows: for each vertex of that is not a pole, and if is a pole of . A tuple is admissible for if there exists an assignment of and a planar embedding of consistent with such that , , is clockwise (counterclockwise) in if (), and is clockwise (counterclockwise) in if (). We say that a tuple is admissible for if it is admissible for . We denote by the set of admissible tuples for .
FPT Algorithm: In order to test if is FPQchoosable planar, we root the SPQRdecomposition tree at an arbitrary Qnode and we visit from the leaves to the root. At each step of the visit, we equip the currently visited node with the set . If we encounter a node such that , we return that is not FPQchoosable planar; otherwise the planarity test returns an affirmative answer. If the currently visited node is a leaf of , we set , because its pertinent graph is a single edge. If is an internal node, is computed from the sets of admissible tuples of the children of . The next lemmas describe how to compute depending on whether is an S, P, or Rnode.
[] Let be an Snode with children and . Given and , the set can be computed in time, where .
Proof.
Let and be the poles of , and let be the pole in common between and . We show that if and only if there exist a tree and an , such that and .
If , then there exist an assignment of and a planar embedding of consistent with such that , , is clockwise (counterclockwise) in if (), and is clockwise (counterclockwise) in if (). Let and be the embeddings of and induced by , respectively, and let . Observe that and are disjoint consecutive sets of sharing the same boundary in . Also, observe that is an extension of both and . By Lemma 7, and are not incompatible, and hence and are both clockwise or both counterclockwise. We set if they are both clockwise, and otherwise. For every vertex of different from , we set ; for we set . Since is consistent with and , is clockwise (counterclockwise) in if (if ). By observing that is clockwise (counterclockwise) if (if ), we have that . The same argument can be used to show that . It follows that if , there exist a tree and an such that and .
For the converse, assume that there exist a tree and an , such that and . By definition, there exist assignments and of and respectively, and two planar embeddings and that are consistent with and respectively, such that , , is clockwise (counterclockwise) in if (), is clockwise (counterclockwise) in if (), , , is clockwise (counterclockwise) in if (), and is clockwise (counterclockwise) in if (). We define an assignment and a planar embedding of consistent with such that , , is clockwise (counterclockwise) in if (), and is clockwise (counterclockwise) in if (). Embedding of is obtained by merging and as follows. For every vertex of different from , we set , for every vertex of different from , we set . For , since has the same value in and in , hence and are not incompatible. By Lemma 7, there exists an order of the leaves of that is an extension of both and : Let be this order. Assignment for is defined as follows. For every vertex of different from , we set ; for every vertex of different from , we set ; for we set . Since is consistent with , , and , is clockwise (counterclockwise) in if (if ), and is clockwise (counterclockwise) in if . Furthermore, since and , and . It follows that if there exist a tree and an such that and , then .
Set is computed from and by looking for pairs of tuples , sharing the same and the same value of . By ordering and , is computed in time. ∎
[] Let be a Pnode with children . Given , the set can be computed in time, where .
Namely, consists of an Fnode connected to Pnodes representing the vertices of ; see, e.g., Figure 7(b). These Pnodes around appear in the clockwise order that is defined by , namely