The Recognition of Simple-Triangle Graphs and of Linear-Interval Orders is Polynomial

Intersection graphs of geometric objects have been extensively studied, both due to their interesting structure and their numerous applications; prominent examples include interval graphs and permutation graphs. In this paper we study a natural graph class that generalizes both interval and permutation graphs, namely \emph{simple-triangle} graphs. Simple-triangle graphs - also known as \emph{PI} graphs (for Point-Interval) - are the intersection graphs of triangles that are defined by a point on a line $L_{1}$ and an interval on a parallel line $L_{2}$. They lie naturally between permutation and trapezoid graphs, which are the intersection graphs of line segments between $L_{1}$ and $L_{2}$ and of trapezoids between $L_{1}$ and $L_{2}$, respectively. Although various efficient recognition algorithms for permutation and trapezoid graphs are well known to exist, the recognition of simple-triangle graphs has remained an open problem since their introduction by Corneil and Kamula three decades ago. In this paper we resolve this problem by proving that simple-triangle graphs can be recognized in polynomial time. As a consequence, our algorithm also solves a longstanding open problem in the area of partial orders, namely the recognition of \emph{linear-interval orders}, i.e. of partial orders $P=P_{1}\cap P_{2}$, where $P_{1}$ is a linear order and $P_{2}$ is an interval order. This is one of the first results on recognizing partial orders $P$ that are the intersection of orders from two different classes $\mathcal{P}_{1}$ and $\mathcal{P}_{2}$. In complete contrast to this, partial orders $P$ which are the intersection of orders from the same class $\mathcal{P}$ have been extensively investigated, and in most cases the complexity status of these recognition problems has been already established.


Introduction
A graph G is the intersection graph of a family F of sets if we can bijectively assign sets of F to vertices of G such that two vertices of G are adjacent if and only if the corresponding sets have a non-empty intersection.It turns out that many graph classes with important applications can be described as intersection graphs of set families that are derived from some kind of geometric configuration.One of the most prominent examples is that of interval graphs, i.e. the intersection graphs of intervals on the real line, which have natural applications in several fields, including bioinformatics and involving the physical mapping of DNA and the genome reconstruction1 [3,6,7].
Generalizing the intersections on the real line, consider two parallel horizontal lines on the plane, L 1 (the upper line) and L 2 (the lower line).A graph G is a simple-triangle graph if it is the intersection graph of triangles that have one endpoint on L 1 and the other two on L 2 .Furthermore, G is a triangle graph if it is the intersection graph of triangles with endpoints on L 1 and L 2 , but now there is no restriction on which line contains one endpoint of every triangle and which contains the other two.Simple-triangle and triangle graphs are also known as PI and PI * graphs, respectively [2,4,14], where PI stands for "Point-Interval".Such representations of simple-triangle and of triangle graphs are called simple-triangle (or PI ) and triangle (or PI * ) representations, respectively.Simple-triangle and triangle graphs lie naturally between permutation graphs (i.e. the intersection graphs of line segments with one endpoint on L 1 and one on L 2 ) and trapezoid graphs (i.e. the intersection graphs of trapezoids with one interval on L 1 and the opposite interval on L 2 ) [2,14].Note that, using the notation PI for simple-triangle graphs, permutation graphs are PP (for "Point-Point") graphs, while trapezoid graphs are II (for "Interval-Interval") graphs [4].
A partial order is a pair P = (U, R), where U is a finite set and R is an irreflexive transitive binary relation on U .Whenever (x, y) ∈ R for two elements x, y ∈ U , we write x < P y.If x < P y or y < P x, then x and y are comparable, otherwise they are incomparable.P is a linear order if every pair of elements in U are comparable.Furthermore, P is an interval order if each element x ∈ U is assigned to an interval I x on the real line such that x < P y if and only if I x lies completely to the left of I y .One of the most fundamental notions on partial orders is dimension.For any partial order P and any class P of partial orders (e.g.linear order, interval order, semiorder, etc.), the P-dimension of P is the smallest k such that P is the intersection of k orders from P. In particular, when P is the class of linear orders, the P-dimension of P is known as the dimension of P .Although in most cases we can efficiently recognize whether a partial order belongs to a class P, this is not the case for higher dimensions.Due to a classical result of Yannakakis [15], it is NP-complete to decide whether the dimension, or the interval dimension, of a partial order is at most k, where k ≥ 3.
There is a natural correspondence between graphs and partial orders.For a partial order P = (U, R), the comparability (resp.incomparability) graph G(P ) of P has elements of U as vertices and an edge between every pair of comparable (resp.incomparable) elements.A graph G is a (co)comparability graph if G is the (in)comparability graph of a partial order P .There has been a long line of research in order to establish the complexity of recognizing partial or-ders of P-dimension at most 2 (e.g.where P is linear orders [14] or interval orders [9]).In particular, since permutation (resp.trapezoid) graphs are the incomparability graphs of partial orders with dimension (resp.interval dimension) at most 2 [5,14], permutation and trapezoid graphs can be recognized efficiently by the corresponding partial order algorithms [9,14].
In contrast, not much is known so far for the recognition of partial orders P that are the intersection of orders from different classes P 1 and P 2 .One of the longstanding open problems in this area is the recognition of linear-interval orders P , i.e. of partial orders P = P 1 ∩P 2 , where P 1 is a linear order and P 2 is an interval order.In terms of graphs, this problem is equivalent to the recognition of simple-triangle (i.e.PI) graphs, since PI graphs are the incomparability graphs of linear-interval orders; this problem is well known and remains open since the introduction of PI graphs in 1987 [4] (cf. for instance the books [2,14]).
Our contribution.In this article we establish the complexity of recognizing simple-triangle (PI) graphs, and therefore also the complexity of recognizing linear-interval orders.Given a graph G with n vertices, such that its complement G has m edges, we provide an algorithm with running time O(n 2 m) that either computes a PI representation of G, or it announces that G is not a PI graph.Equivalently, given a partial order P = (U, R) with |U | = n and |R| = m, our algorithm either computes in O(n 2 m) time a linear order P 1 and an interval order P 2 such that P = P 1 ∩ P 2 , or it announces that such orders P 1 , P 2 do not exist.Surprisingly, it turns out that the seemingly small difference in the definition of simple-triangle (PI) graphs and triangle (PI * ) graphs results in a very different behavior of their recognition problems; only recently it has been proved that the recognition of triangle graphs is NP-complete [11].In addition, our polynomial time algorithm is in contrast to the recognition problems for the related classes of bounded tolerance (i.e.parallelogram) graphs [12] and of max-tolerance graphs [8], which have already been proved to be NP-complete.
As the main tool for our algorithm we introduce the notion of a linear-interval cover of bipartite graphs.As a second tool we identify a new tractable subclass of 3SAT, called gradually mixed formulas, for which we provide a linear time algorithm.The class of gradually mixed formulas is hybrid, i.e. it is characterized by both relational and structural restrictions on the clauses.Then, using the notion of a linear-interval cover, we are able to reduce our problem to the satisfiability problem of gradually mixed formulas.
Our algorithm proceeds as follows.First, it computes from the given graph G a bipartite graph G, such that G is a PI graph if and only if G has a linearinterval cover.Second, it computes a gradually mixed Boolean formula φ such that φ is satisfiable if and only if G has a linear-interval cover.This formula φ can be written as φ = φ 1 ∧ φ 2 , where every clause of φ 1 has 3 literals and every clause of φ 2 has 2 literals.The construction of φ 1 and φ 2 is based on the fact that a necessary condition for G to admit a linear-interval cover is that its edges can be colored with two different colors (according to some restrictions).Then the edges of G correspond to literals of φ, while the two edge colors encode the truth value of the corresponding variables.Furthermore every clause of φ 1 corresponds to the edges of an alternating cycle in G (i.e. a closed walk that alternately visits edges and non-edges) of length 6, while the clauses of φ 2 correspond to specific pairs of edges of G that are not allowed to receive the same color.Finally, the equivalence between the existence of a linear-interval cover of G and a satisfying truth assignment for φ allows us to use our linear algorithm to solve satisfiability on gradually mixed formulas in order to complete our recognition algorithm.
Organization of the paper.We present in Section 2 the class of gradually mixed formulas and a linear time algorithm to solve satisfiability on this class.In Section 3 we provide the necessary notation and preliminaries on alternating cycles.Then in Section 4 we introduce the notion of a linear-interval cover of bipartite graphs to characterize PI graphs, and in Section 5 we translate the linear-interval cover problem to the satisfiability problem on a gradually mixed formula.Finally, in Section 6 we present our PI graph recognition algorithm.

A tractable subclass of 3SAT
In this section we introduce the class of gradually mixed formulas and we provide a linear time algorithm for solving satisfiability on this class.Any gradually mixed formula φ is a mix of binary and ternary clauses.That is, there exist a 3-CNF formula φ 1 (i.e. a formula in conjunctive normal form with at most 3 literals per clause) and a 2-CNF formula φ 2 (i.e. with at most 2 literals per clause) such that φ = φ 1 ∧ φ 2 , while φ satisfies some constraints among its clauses.Before we define gradually mixed formulas (cf.Definition 2), we first define dual clauses.
Note by Definition 1 that, whenever α is a clause of a formula φ 1 , the dual clause α of α may belong, or may not belong, to φ 1 .Definition 2. Let φ 1 and φ 2 be CNF formulas with 3 literals and 2 literals in each clause, respectively.The mixed formula φ = φ 1 ∧ φ 2 is gradually mixed if the next two conditions are satisfied: 1. Let α and β be two clauses of φ 1 .Then α does not share exactly one literal with either the clause β or the clause β.
As an example of a gradually mixed formula, consider the formula φ = φ 1 ∧φ 2 , where φ Note by Definition 2 that the class of gradually mixed formulas contains 2SAT as a proper subclass, since every 2-CNF formula φ 2 can be written as a gradually mixed formula φ = φ 1 ∧ φ 2 where φ 1 = ∅.Furthermore the class of gradually mixed formulas φ is a hybrid class, since the conditions of Definition 2 concern simultaneously relational restrictions (i.e.where the clauses are restricted to be of certain types) and structural restrictions (i.e.where there are restrictions on how different clauses interact with each other).The intuition for the term gradually mixed in Definition 2 is that, whenever the sub-formulas φ 1 and φ 2 share more variables, the number of clauses of φ 2 that are imposed by condition 2 of Definition 2 increases.In the next theorem we use resolution to prove that satisfiability can be solved in linear time on gradually mixed formulas.
Theorem 1.There exists a linear time algorithm which decides whether a given gradually mixed formula φ is satisfiable and computes a satisfying truth assignment of φ, if one exists.
The conditions of Definition 2 which guarantee the tractability of gradually mixed formulas are minimal, in the sense that, if we remove any of these two conditions, the resulting subclass of 3SAT is NP-complete.

Preliminaries
Notation.In this article we consider finite, simple, and undirected graphs.An edge between two vertices u and v of a graph G = (V, E) is denoted by uv, and in this case u and v are said to be adjacent.The neighborhood of a vertex u ∈ V is the set N (u) = {v ∈ V | uv ∈ E} of its adjacent vertices.The complement of G is denoted by G, i.e.G = (V, E), where uv ∈ E if and only if uv / ∈ E. For any subset E 0 ⊆ E of the edges of G, we denote for simplicity G − E 0 = (V, E \ E 0 ).A subset S ⊆ V of its vertices induces an independent set in G if uv / ∈ E for every pair of vertices u, v ∈ S. Furthermore, S induces a clique in G if uv ∈ E for every pair u, v ∈ S. A graph G is a split graph if its vertices can be partitioned into a clique K and an independent set I.
The smallest k for which there exists a proper k-coloring of G is the chromatic number of G, denoted by χ(G).If χ(G) = 2 then G is a bipartite graph, i.e. its vertices are partitioned into two independent sets, the color classes.A bipartite graph G is denoted by G = (U, V, E), where U and V are its color classes and E is the set of edges between them.For a bipartite graph G = (U, V, E), its bipartite complement is the graph G = (U, V, E), where for two vertices u ∈ U and v ∈ V , uv ∈ E if and only if uv / ∈ E. A bipartite graph G = (U, V, E) is a chain graph if the vertices of each color class can be ordered by inclusion of their neighborhoods, i.e.N (u) ⊆ N (v) or N (v) ⊆ N (u) for any two vertices u, v in the same color class.Note that chain graphs are closed under bipartite complementation, i.e.G is a chain graph if and only if G is a chain graph.
Alternating cycles in a graph.The next definition of an alternating cycle is crucial for our recognition algorithm for PI graphs.Definition 3. Let G = (V, E) be a graph, E ⊆ E be an edge subset, and ∈ E whenever i is odd (where indices are mod 2k).Furthermore, we say that G has an alternating cycle AC 2k , whenever G has an AC 2k in the edge set E = E.
For instance, for k = 3, there exist two different possibilities for an AC 6 , which are illustrated in Figures 1(a) and 1(b).These two types of an AC 6 are called an alternating path of length 5 or of length 6, respectively (AP 5 and AP 6 for short, respectively).Furthermore, note that for k = 2, a set of four vertices There are three possible graphs on four vertices that build an alternating cycle, AC 4 which are illustrated in Figures 1(c)-1(e).Alternating cycles can be used to characterize chain graphs as the bipartite graphs with no induced 2K 2 [10].We define now for any bipartite graph G the associated split graph of G, which we use extensively throughout of the paper.
is the split graph made by G by replacing the independent set V of G by a clique.
The next two definitions of a conflict between two edges and the conflict graph are essential for our results.Definition 5. Let G = (V, E) be a graph and e 1 , e 2 ∈ E. If the vertices of e 1 and e 2 build an AC 4 in G, then e 1 and e 2 are in conflict, and in this case we denote e 1 ||e 2 in G. Furthermore, an edge e ∈ E is committed if there exists an edge e ∈ E such that e||e ; otherwise e is uncommitted.

Definition 6 ([13]
).Let G = (V, E) be a graph.The conflict graph G * = (V * , E * ) of G is defined by -V * = E and for every e 1 , e 2 ∈ E, e 1 e 2 ∈ E * if and only if e 1 ||e 2 in G.

Linear-Interval covers of bipartite graphs
In this section we introduce the crucial notion of a linear-interval cover of bipartite graphs (cf.Definition 9).Then we use linear-interval covers to provide a new characterization of PI graphs (cf.Theorem 3), which is one of the main tools for our PI graph recognition algorithm.First we provide in the next theorem the characterization of PI graphs using linear orders and interval orders.
Theorem 2. Let G = (V, E) be a cocomparability graph and P be a partial order of G. Then G is a PI graph if and only if P = P 1 ∩ P 2 , where P 1 is a linear order and P 2 is an interval order.
For every partial order P we define now the domination bipartite graph C(P ), which has been used to characterize interval orders [9].Here "C" stands for "Comparable", since the definition of C(P ) uses the comparable elements of P .

Lemma 1 ([9]
).Let P = (U, R) be a partial order.Then, P is an interval order if and only if C(P ) is a chain graph.
Extending the notion of C(P ), we now introduce the bipartite graph N C(P ) to characterize linear orders (cf.Lemma 2).Here "NC" stands for "Non-strictly Comparable".Namely, this graph can be obtained by adding to the graph C(P ) the perfect matching {u i v i | i = 1, 2, . . ., n} on the vertices of U and V .Definition 8. Let P = (U, R) be a partial order, where U = {u 1 , u 2 , . . ., u n }.Furthermore let V = {v 1 , v 2 , . . ., v n }.Then, N C(P ) = (U, V, E) is the bipartite graph, such that u i v j ∈ E if and only if u i ≤ P u j .
Lemma 2. Let P = (U, R) be a partial order.Then, P is a linear order if and only if N C(P ) is a chain graph.Now we introduce the notion of a linear-interval cover of a bipartite graph.This notion is crucial for our main result of this section, cf.Theorem 3.
In this case, the sets {E 1 , E 2 } are a linear-interval cover of G.
Theorem 3. Let P = (U, R) be a partial order.In the bipartite complement C(P ) of the graph C(P ), denote E 0 = {u i v i | 1 ≤ i ≤ n}.The following three statements are equivalent: (a) P = P 1 ∩ P 2 , where P 1 is a linear order and P 2 is an interval order.(b) C(P ) = N C(P 1 ) ∪ C(P 2 ) for two partial orders P 1 and P 2 on V , where N C(P 1 ) and C(P 2 ) are chain graphs.(c) C(P ) is linear-interval coverable, i.e.
, where Furthermore, a linear-interval cover of the bipartite graph C(P ) does not only guarantee that the input graph G is a PI graph, but it can be also used to efficiently compute a PI representation of G, as the next theorem states.
Theorem 4. Let G be a cocomparability graph with n vertices and P be the partial order of G. Let {E 1 , E 2 } be a linear-interval cover of C(P ).Then we can construct in O(n 2 ) time a PI representation R of G.

Detecting linear-interval covers using Boolean satisfiability
The natural algorithmic question that arizes from the characterization of PI graphs using linear-interval covers in Theorems 2 and 3, is the following: "Given a cocomparability graph G and a partial order P of G, can we efficiently decide whether the bipartite graph C(P ) has a linear-interval cover?"We will answer this algorithmic question in the affirmative in Section 6.In this section we translate every instance of this decision problem (i.e.whether the bipartite graph C(P ) has a linear-interval cover) to a restricted instance of 3SAT (cf.Theorem 5).That is, for every such a bipartite graph C(P ), we construct a Boolean formula φ in conjunctive normal form (CNF), with size polynomial on the size of C(P ) (and thus also on G), such that C(P ) has a linear-interval cover if and only if φ is satisfiable.In particular, this formula φ can be written as φ = φ 1 ∧φ 2 , where φ 1 has three literals in every clause and φ 2 has two literals in every clause.Moreover, as we will prove in Section 6, the satisfiability problem can be efficiently decided on the formula φ, by exploiting an appropriate sub-formula of φ which is gradually mixed (cf.Definition 2).
In the remainder of the paper, given a cocomparability graph G and a partial ordering P of its complement G, we denote by G = C(P ) the bipartite complement of the domination bipartite graph C(P ) of P .Furthermore we denote by H the associated split graph of G and by H * the conflict graph of H.Moreover, we assume in the remainder of the paper without loss of generality that χ(H * ) ≤ 2, i.e. that H * is bipartite.Indeed, as we can prove, if χ(H * ) > 2 then G does not have a linear-interval cover, i.e.G is not a PI graph.Note that every proper 2-coloring of the vertices of the conflict graph H * corresponds to exactly one 2-coloring of the edges of H that includes no monochromatic AC 4 .We assume in the following that a proper 2-coloring (with colors blue and red) of the vertices of H * is given as input; note that χ 0 can be computed in polynomial time.
Let C 1 , C 2 , . . ., C k be the connected components of H * .Some of these components of H * may be isolated vertices, which correspond to uncommitted edges in H.We assign to every component C i , where 1 ≤ i ≤ k, the Boolean variable x i .Since H * is bipartite by assumption, the vertices of each connected component C i of H * can be partitioned into two color classes S i,1 and S i,2 .Without loss of generality, we assume that S i,1 (resp.S i,2 ) contains the vertices of C i that are colored red (resp.blue) in χ 0 .Note that, since vertices of H * correspond to edges of H (cf. Definition 6), for every two edges e and e of H that are in conflict (i.e.e||e ) there exists an index i ∈ {1, 2, . . ., k} such that one of these edges belongs to S i,1 and the other belongs to S i,2 .We now assign a literal e to every edge e of H as follows: if e ∈ S i,1 for some i ∈ {1, 2, . . ., k}, then e = x i ; otherwise, if e ∈ S i,2 , then e = x i .Note that, by construction, whenever two edges are in conflict in H, their assigned literals are one the negation of the other.
Observation 1 Every truth assignment τ of the variables x 1 , x 2 , . . ., x k corresponds bijectively to a proper 2-coloring χ τ (with colors blue and red) of the vertices of H * , as follows: x i = 0 in τ (resp.x i = 1 in τ ), if and only if all vertices of the component C i have in χ τ the same color as in χ 0 (resp.opposite color than in χ 0 ).In particular, τ = (0, 0, . . ., 0) corresponds to the coloring χ 0 .
Description of the 3-CNF formula φ 1 : Consider an AC 6 in the split graph H, and let e, e , e be its three edges in H, such that no two literals among { e , e , e } are one the negation of the other.Then the Boolean formula φ 1 has for this triple {e, e , e } of edges exactly the two clauses α = ( e ∨ e ∨ e ) and α = ( e ∨ e ∨ e ).It is easy to check by the assignment of literals to edges that the clause α (resp.the clause α ) of φ 1 is false in a truth assignment τ of the variables if and only if all edges {e, e , e } are colored red (resp.blue) in the 2-edge-coloring χ τ of H (cf. Observation 1).
Consider now another AC 6 of H on the edges {e 1 , e 2 , e 3 }, in which at least one literal among { e1 , e2 , e3 } is the negation of another literal, for example e1 = e2 .Then, for any proper 2-coloring of the vertices of H * , the edges e and e of H receive different colors, and thus this AC 6 is not monochromatic.

Observation 2
The formula φ 1 is satisfied by a truth assignment τ if and only if the corresponding 2-coloring χ τ of the edges of H does not contain any monochromatic AC 6 .
Description of the 2-CNF formula φ 2 : Denote for simplicity H = (U, V, E H ), where U = {u 1 , u 2 , . . ., u n } and is the split graph that we obtain if we remove from H all edges of E 0 .Consider now a pair of edges e = u i v t and e = u t v j of E , such that u i v j / ∈ E .Note that i and j may be equal.However, since E ∩ E 0 = ∅, it follows that i = t and t = j.Moreover, since the edge u t v t belongs to E H but not to E , it follows that the edges e and e are in conflict in H but not in H (for both cases where i = j and i = j).That is, although e and e are two non-adjacent vertices in the conflict graph H * of H, they are adjacent vertices in the conflict graph of H .For both cases where i = j and i = j, an example of such a pair of edges {e, e } is illustrated in Figure 2.For every such pair {e, e } of edges in H, the Boolean formula φ 2 has the clause ( e ∨ e ).It is easy to check by the assignment of literals to edges of H that this clause ( e ∨ e ) of φ 2 is false in the truth assignment τ if and only if both e and e are colored red in the 2-edge coloring χ τ of H. Now we provide the main result of this section, which relates the existence of a linear-interval cover in G = C(P ) with the satisfiability of the formula φ 1 ∧ φ 2 .
Theorem 5. G = C(P ) is linear-interval colorable if and only if φ 1 ∧ φ 2 is satisfiable.Given a satisfying assignment τ of φ 1 ∧ φ 2 , a linear-interval cover of G can be computed in O(n 2 ) time.

The recognition of linear-interval orders and PI graphs
In this section we investigate the structure of the formula φ 1 ∧ φ 2 that we computed in Section 5.In particular, we first prove some fundamental structural properties of φ 1 ∧φ 2 , which allow us to find an appropriate sub-formula of φ 1 ∧φ 2 which is gradually mixed (cf.Definition 2).Then we exploit this sub-formula of φ 1 ∧φ 2 to provide an algorithm that solves the satisfiability problem on φ 1 ∧φ 2 in time linear to its size, cf.Theorem 6.Finally, using this satisfiability algorithm, we combine our results of Sections 4 and 5 to recognize efficiently PI graphs and linear-interval orders.
The main structural properties of φ 1 ∧ φ 2 are proved in Lemmas 3 and 4. The proof of the next lemma is a based on the results of [13].
Lemma 3. Let α and β be two clauses of φ 1 .If α and β share at least one variable, then {α, α} = {β, β}.Definition 10.The clauses of φ 2 are partitioned into the sub-formulas φ 2 , φ 2 , such that φ 2 contains all tautologies of φ 2 and all clauses of φ 2 in which at least one literal corresponds to an uncommitted edge, while φ 2 contains all the remaining clauses of φ 2 .

Algorithm 1 Recognition of PI graphs
Input: A graph G = (V, E) Output: A PI representation R of G, or the announcement that G is not a PI graph 1: if G is a trapezoid graph then 2: Compute a partial order P of the complement G 3: else return "G is not a PI graph"  The next corollary, which follows easily by Definition 2 and by Lemmas 3 and 4, allows us to use the linear time algorithm for gradually mixed formulas (cf.Theorem 1) in order to solve the satisfiability problem on φ 1 ∧ φ 2 .
In the next theorem we use Corollary 1 to design an algorithm that decides satisfiability on φ 1 ∧ φ 2 in time linear to its size.This will enable us to combine the results of Sections 4 and 5 to recognize efficiently whether a given graph is a PI graph, or equivalently, due to Theorem 2, whether a given partial order P is the intersection of a linear order P 1 and an interval order P 2 .Theorem 6. φ 1 ∧ φ 2 is satisfiable if and only if φ 1 ∧ φ 2 is satisfiable.Given a satisfying truth assignment of φ 1 ∧ φ 2 we can compute a satisfying truth assignment of φ 1 ∧ φ 2 in linear time.Now we are ready to present our recognition algorithm for PI graphs (Algorithm 1).Its correctness and timing analysis is established in Theorem 7. Due to characterization of PI graphs in Theorem 2 using partial orders, Theorem 8 follows also by Theorem 7.

Fig. 1 .
Fig. 1.The two possibilities for an AC6: (a) an alternating path AP5 of length 5 and (b) an alternating path AP6 of length 6.Furthermore, the three possibilities for an AC4: (c) a 2K2, (d) a P4, and (e) a C4.The solid lines denote edges of the graph and the dashed lines denote non-edges of the graph.

Fig. 2 .
Fig. 2. Two edges e = uivt and e = utvj of H, for which the formula φ2 has the clause ( e ∨ e ), in the case where (a) i = j and (b) i = j.

Lemma 4 .
Let {e 1 , e 2 , e 3 } be the three edges of an AC 6 in H, which has clauses in φ 1 .Let e be an edge of H such that ( e ∨ e1 ) is a clause in φ 2 .Then φ 2 has also one of the clauses {( e ∨ e2 ), ( e ∨ e3 )}.

4 :
Compute the domination bipartite graph C(P ) from P 5: G ← C(P ) 6: Compute the associated split graph H of G 7: Compute the conflict graph H * of H 8: if H * is bipartite then 9: Compute a 2-coloring χ0 of the vertices of H * 10: Compute the formulas φ1 and φ2 11: if φ1 ∧ φ2 is satisfiable then 12: Compute a satisfying truth assignment τ of φ1 ∧ φ2 by Theorem 6 13: Compute from τ a linear-order cover of G by Theorem 5 14: Compute a PI representation R of G by Theorem 4 15: