Bounded, minimal, and short representations of unit interval and unit circular-arc graphs

We consider the unrestricted, minimal, and bounded representation problems for unit interval (UIG) and unit circular-arc (UCA) graphs. In the unrestricted version, a proper circular-arc (PCA) model $\cal M$ is given and the goal is to obtain an equivalent UCA model $\cal U$. We show a linear time algorithm with negative certification that can also be implemented to run in logspace. In the bounded version, $\cal M$ is given together with some lower and upper bounds that the beginning points of $\cal U$ must satisfy. We develop a linear space $O(n^2)$ time algorithm for this problem. Finally, in the minimal version, the circumference of the circle and the length of the arcs in $\cal U$ must be simultaneously as minimum as possible. We prove that every UCA graph admits such a minimal model, and give a polynomial time algorithm to find it. We also consider the minimal representation problem for UIG graphs. As a bad result, we show that the previous linear time algorithm fails to provide a minimal model for some input graphs. We fix this algorithm but, unfortunately, it runs in linear space $O(n^2)$ time. Finally, we apply the minimal representation algorithms so as to find the minimum powers of paths and cycles that contain a given UIG and UCA models, respectively.


Introduction
In this article we are concerned with some recognition and representation problems for unit interval and unit circular-arc graphs. A proper circular-arc (PCA) model is a pair M = (C, A) where C is a circle and A is a family of inclusion-free arcs of C in which no pair of arcs in A cover C. If some point of C is crossed by no arcs, then M is a proper interval (PIG) model. Unit circular-arc (UCA) and unit interval (UIG) models correspond to the PCA and PIG models in which all the arcs have the same length, respectively. Every PCA model M is associated with a graph G(M) that contains a vertex for each of its arcs, where two vertices are adjacent if and only if their corresponding arcs have a nonempty intersection. A graph G is a proper circular-arc (PCA) graph when it is isomorphic to G(M) for some PCA model M. In such a case, G is said to admit the model M, while M is said to represent G. Proper interval (PIG), unit circular-arc (UCA), and unit interval (UIG) graphs are defined analogously.
The recognition problem is well solved for UIG graphs. Indeed, Roberts' PIG=UIG Theorem states that every PIG graph admits a UIG model [31]. Hence, it suffices to determine if G is a PIG graph, a task that can be accomplished in linear time (e.g. [13]) or logspace [20]. Moreover, there are certifying algorithms that exhibit either a PIG model or a forbidden induced subgraph according to whether the input graph is PIG or not. has to be transformed into an equivalent minimal UIG model. By taking a deeper look to synthetic graphs, Mitas [27] devised a linear time algorithm to solve MinUIG and, thus, Rep.
In the present manuscript we show that Mitas' algorithm sometimes fails to find the minimal model. Yet, her algorithm correctly solves Rep in linear time. We remark that Mitas' (1994) algorithm is contemporary to the one by Corneil et al. (1995).
MinUIG is implicitly solved in a recent article by Costa et al. [7], where the authors devise an O(n 2 ) time and space algorithm to solve the MinP k q problem. In the MinP k q problem we are given a PIG model M and the goal is to find a UIG model U representing a power of a path P k q in such a way that M is equivalent to some induced subgraph U of U and q, k are as minimum as possible. As proven in [9,26], MinP k q is always solvable. Moreover, U needs not be explicitly constructed, as it is implied by U . In fact, U is the solution to MinUIG, as it follows from [26] (see also Section 9). In [32,Chapter 9], Soulignac mentions that Mitas' algorithm can be used to find U in linear time. Yet, Costa et al. do not mention this fact in [7] although they reference [32] to explain the strong relation between Rep and MinP k q . In this article we consider the unrestricted, bounded, and minimal representation problems for the broader class of unit circular-arc graphs. As far as our knowledge extends, only the unrestricted version has been considered, while Lin and Szwarcfiter leave some open problems related to the minimal representation problem [24].
As for PIG graphs, the recognition problem for PCA graphs is solvable in linear time [15,33] or logspace [21]. Again, a PCA model or a forbidden induced subgraph is obtained according to whether the input graph is PCA or not. We remark, however, that solving the recognition problem for PCA graphs is not enough to solve the recognition problem for UCA graphs, as not every PCA graph is UCA. In 1974, Tucker showed a characterization by forbidden subgraphs of those PCA graphs that are UCA [35]. His proof yields an effective method to transform a PCA model M into an equivalent UCA model U. Unfortunately, the extremes of U are not guarantied to be of a polynomial size and, thus, the corresponding representation algorithm cannot be regarded as polynomial. More than three decades later, in 2006, Durán et al. [8] described how to obtain a forbidden subgraph in O(n 2 ) time, thus solving the recognition problem. The representation problem remained unsolved until Lin and Szwarcfiter showed how to transform any PCA model into an equivalent UCA model in linear time [24]. Their algorithm, however, does not output a negative certificate when the input graph is not UCA. The problem of finding a forbidden subgraph in linear time was solved by Kaplan and Nussbaum in [15]. Yet, up to this date, there is no unified algorithm for solving the transformation problem while providing a negative certificate when the input model has no equivalent UCA models. In [22], Köbler et al. mention that the representation problem in logspace is still open.

Contributions and outline
Synthetic graphs appeared more than two decades ago, and they are covered in detail in a book by Pirlot and Vincke [30,Chapter 4]. Pirlot and Mitas' articles are written in terms of semiorders; their emphasis is on preference modeling and order theory. This could be, perhaps, the reason why synthetic graphs have gone unnoticed for many researchers in the field of algorithmic graph theory. In this manuscript we generalize synthetic graphs to PCA models and we apply them to solve Rep, (Int)BoundRep, MinUIG (and its generalization MinUCA), and MinP k q (and its generalization MinC k q ) for UCA graphs. One of our goals is to show that synthetic graphs provide a simpler theoretical ground for understanding PCA models with separation constraints. For this reason, we re-prove some known theorems or rewrite some known algorithms in terms of synthetic graphs.
The manuscript is organized as follows. In Section 2 we describe the terminology employed.
In Section 3 we introduce synthetic graphs and show how to use them to solve BoundRep and IntBoundRep in O(n 2 ) time, improving over the algorithm in [18,19] even when restricted to UIG graphs. In Section 4 we show a new version of Tucker's characterization which implies a linear time representation algorithm with negative certification, thus solving the problem posed in [15]. The implementation of this algorithm appears in Section 6, while Section 6.1 contains a logspace implementation that solves the open problem of [22]. To apply our algorithm we need to find, as we call it, the ratio of the input model. This ratio can be computed by invoking the recognition algorithm of [15]. However, we show an alternative implementation in Section 5, by taking advantage of synthetic graphs. The forbidden structure that we employ to characterize UCA graphs is a cycle of the synthetic graph which, a priori, is unrelated to the (a, b)-independents and (x, y)-circuits employed by Tucker. In Section 7 we show that, in fact, these structures are strongly related. In Section 8 we extend the concept of minimal models to UCA graphs, and prove that every UCA graph admits a minimal model. An algorithm to generate such a model in polynomial time is also exhibited. In Section 8.1, we consider the MinUIG problem. We show that, even though Mitas' algorithm correctly solves Rep, it sometimes fails to provide a minimal model. We propose a patch but, unfortunately, the new algorithm runs in O(n 2 ) time. In Section 9 we show how MinUIG and MinUCA can be used so as to solve MinP k q and MinC k q , respectively. The obtained algorithm for MinP k q runs in O(n 2 ) time but it consumes only linear space. Finally, we include some further remarks and open problems in Section 10.

What is linear time for PCA models?
As discussed in [32], every PCA model M can be encoded with O(n) bits, n being the number of arcs in M. Thus, in theory, an algorithm on M is linear when it applies O(n) operations on bits. However, it is a common practice to assume that M is implemented with Θ(n) pointers in such a way that the extremes of an arc can be obtained in O(1) time when the other extreme is given (see [32]). Following this tradition, we state that an algorithm is linear when it performs O(n) operations on pointers of size Θ(log n).

Preliminaries
In this article we consider simple (undirected) graphs and multidigraphs with no loops. For the sake of simplicity, we refer to the latter as digraphs and to its directed edges as edges, unless otherwise stated. For a (di)graph G we write V (G) and E(G) to denote the sets of vertices and bag of edges of G, respectively, while we use n and m to denote |V (G)| and |E(G)|, respectively. For any pair u, v ∈ V (G), we denote the (directed) edge between u and v (from or starting at u to or ending at v) by uv. This notation is used regardless of whether uv is an edge of G or not. To avoid confusions, we write u → v as an equivalent of uv when G is a digraph; the inand out-degrees of v are the number of vertices u such that u → v and v → u, respectively.
A walk W of a (di)graph G is a sequence of vertices v 1 , . . . , v k such that v i v i+1 is an edge of G, for every 1 ≤ i < k. Walk W goes from (or starts at) v 1 to (or ends at) v k . Each walk can be regarded as the bag of edges {v i v i+1 | 1 ≤ i < k}. For the sake of simplicity, we make no distinctions about W begin a sequence of vertices or a bag of edges. We say that W is a circuit when v k = v 1 , that W is a path when v i = v j for every 1 ≤ i < j ≤ k, and that W is a cycle when it is a circuit and v 1 , . . . , v k−1 is a path. Sometimes we also say that W is a circuit when v 1 = v k , to mean that W, v 1 is a circuit. If G contains no cycles, then G is an acyclic digraph.
An edge weighing, or simply a weighing, of a (di)graph G is a function w : E(G) → R. The value w(uv) is referred to as the weight of uv (with respect to w). For any bag of edges, the weight of E (with respect to an edge weighing w) is w(E) = uv∈E w(uv). We use two distance measures on a (di)graph G with a weighing w. For u, v ∈ V (G), we denote by d * w(G, u, v) the maximum among the weights of the walks from u to v, while dw(G, u, v) denotes the maximum among the weights of the paths starting at u and ending at v. Note that dw(G, u, v) < ∞ for every u, v, while d * w(G, u, v) = dw(G, u, v) when G contains no cycle of positive weight [5]. For a weighing w , we write (dw In other words, dw • dw measures the w-distance from u to v when only those walks that impose the maximum w -distance from u to v are considered. For the sake of notation, we omit the parameter G when there are no ambiguities. A straight plane (di)graph, or simply a plane (di)graph, is a (di)graph whose vertices are coordinates in the plane and whose edges are non-crossing straight lines. Similarly, a toroidal (di)graph is a (di)graph whose vertices and edges can be placed on the surface of a torus in such a way that no pair of edges intersect.
A proper circular-arc (PCA) model M is a pair (C, A), where C is a circle and A is a collection of inclusion-free arcs of C such that no pair of arcs in A cover C. When traversing the circle C, we always choose the clockwise direction. If s, t are points of C, we write (s, t) to mean the arc of C defined by traversing the circle from s to t; s and t are the extremes of (s, t), while s is the beginning point and t the ending point. For A ∈ A, we write A = (s(A), t(A)).
The extremes of A are those of all arcs in A, and two extremes s 1 s 2 of M are consecutive when there is no extreme s ∈ (s 1 , s 2 ) (note that s 2 s 1 is not consecutive in this case). We assume C has a special point 0 that is used for describing the bounds on the extremes (cf. below). This point is only denotational for the unbounded case. For every pair of points p 1 , p 2 , we write p 1 < p 2 to indicate that p 1 appears before p 2 in a traversal of C from 0. Similarly, we write A 1 < A 2 to mean that s(A 1 ) < s(A 2 ) for any pair of arcs A 1 , A 2 on C.
A unit circular-arc (UCA) model is a circular-arc model M in which all the arcs have the same length. Let A 1 < . . . < A n be the arcs of M = (C, A), c, ∈ Q >0 , d, d s ∈ Q ≥0 , and d , d r : A → Q ≥0 . We say that M is a (c, , d, d s , d , d r )-CA model when: (unit 1 ) C has circumference c, (unit 2 ) all the arcs of A have length , (unit 3 ) (p 1 , p 2 ) has length at least d for every pair of consecutive extremes p 1 p 2 , (unit 4 ) (s 1 , s 2 ) has length at least d + d s for any pair of beginning points s 1 , s 2 , and Intuitively, M is a UCA model in which the extremes are separated by at least d space, the beginning points are separated by d + d s space, and d (A i ) and d r (A i ) are lower bounds of the separation from 0 to s(A i ) and from s(A i ) to 0, respectively. We simply write that M is a (c, , d, d s )-CA model to indicate that d = d r = 0, and that M is a (c, )-CA model to mean that M is a (c, , 1, 0)-CA model. To further simplify the notation, we refer to the tuple u = ( Clearly, two PCA models M 1 = (C 1 , A 1 ) and M 2 = (C 2 , A 2 ) are equal when C 1 = C 2 and M 1 = M 2 . We say that M 1 is equivalent to M 2 when the extremes of M 1 appear in the same order as in In this manuscript we consider several related recognition problems. In the representation (Rep) problem a UCA model equivalent to an input PCA model M must be generated. Of course, Rep is unsolvable when M is equivalent to no UCA model, a negative certificate is desired in such a case. In the u-Rep problem, a (an integer) UCA descriptor u is given together with M, and the goal is to build a (an integer) u-CA model U. We remark that an integer U equivalent to M exists whenever u is integer and u-Rep is solvable. The bounded representation (BoundRep) is a slight variation of u-Rep in which a feasible d > 0 must be found by the algorithm, as it is not given as input. That is, we are given a PCA model M = (C, A) together with c, ∈ Q >0 , d s ∈ Q ≥0 and d , d r : A → Q ≥0 , and we ought to find a u-CA model equivalent to M for some UCA descriptor u = (c, , d, d s , d , d r ) with d ∈ Q >0 . The integer bounded representation (IntBoundRep) problem is a generalization of BoundRep in which all the input values are integers and the output model must be integer as well. We also study the MinUIG, MinUCA, MinP k q , and MinC k q problems that are related to minimal models. We postpone their definitions to Sections 8 and 9.

Restrictions on the input models
As it is customary in the literature, in this article we assume that all the arcs of a PCA model M are open and no two extremes of M coincide. The reason behind these assumptions is that M can always be transformed into an equivalent model M that satisfies these properties. A word of caution is required, though, as in this article we deal with the lengths of the arcs. If we allow coincidences in the extremes of M, for instance, it is possible to shrink the length of the arcs or the circle of some UCA models. We emphasize, nevertheless, that all the arguments in this article, with the obvious adjustments, work equally well without these assumptions. In particular, note that the articles by Klavík et al., Mitas, and Pirlot allow coincident extremes [18,[27][28][29].
By definition, for us PCA models cannot have two arcs covering the circle. This is a somehow artificial restriction that we impose for the sake of simplicity. In general, this class of models is said to be normal. However, it is well known that every non-normal PCA model can be transformed into a normal PCA model in linear time or logspace (see e.g. [15]). Moreover, note that if two arcs in a UIG model cover the circle, then such a model represents a complete graph. The complete graph on n vertices admits the minimal UIG model {(i, i + n + 1) | 1 ≤ i ≤ n}, thus we do not lose much by excluding these non-normal models when dealing with Rep, MinUCA, and MinUIG. In turn, the fact that M is normal is not used in Theorem 1, thus (Int)BoundRep is also solvable for non-normal models.
Finally, we require two additional restrictions on the input PCA models for technical reasons. We say that a PCA model M with arcs A 1 < . . . < A n is trivial when either If 1. holds, then we cannot claim that h(M) ≥ 1 in Section 3.2. However, in this case M represents a complete graph and {(i, i + n + 1) | 1 ≤ i ≤ n} is the unique minimal and integer UCA model equivalent to M. Thus all the considered problems are trivial in this case. If 2. is true, then A i → A i is a loop of the digraph B(M) defined in Section 3. We can certainly allow the existence of such a loop in B. However, this edge plays no role in the considered problems as sep(A i → A i ) < 0 by (sep 3 ).

The synthetic graph of a PCA model
Pirlot introduced the synthetic graph of a PIG model [28,29] to represent the separation constraints of its extremes in any equivalent UIG representation. In this section we extend them to PCA models and we show that they correctly reflect the separation constraints in any equivalent UCA model.
Let M = (C, A) be a PCA model with arcs A 1 < . . . < A n . The bounded synthetic graph of M is the digraph B(M) (see Figure 1) that has a vertex v(A i ) for each A i ∈ A and a vertex A 0 , and whose edge set is The edges in E σ , E ν , E η , and E β are said to be the steps, noses, hollows, and bounds of B(M), respectively. (Note that E σ , E ν and E η could have a nonempty intersection, even if this is not the common case. However, B(M) has no loops as M is not trivial.) For the sake of simplicity, we usually drop the parameter M from B(M) when no ambiguities are possible. Moreover, we regard the arcs of M as being the vertices of B, thus we may say that We classify the edges of B in two classes according to the positions of their arcs. We say a step (resp. nose) A i → A j is internal when i < j, while a hollow is internal when i > j. Noninternal edges are referred to as external; in particular, all the bounds are external. Observe that every step is internal except A n → A 1 . Similarly, a nose A i → A j is internal if and only if the arc (s(A i ), s(A j )) does not cross 0, while a hollow A i → A j is internal if and only if (s(A j ), s(A i )) does not cross 0. Since the purpose of A 0 is to represent the point 0 of M, we can say, in short, that A i → A j is internal when 0 is not crossed in the traversal of the extremes involved in the definition of A i → A j .
We define a special edge weighing sep u of B whose purpose is to indicate how far or close must s(A i ) and s(A j ) be in any u-CA model equivalent to M, for every edge A i → A j of B. For a UCA descriptor u, the edge weighing sep u is such that: where q ∈ {0, 1} equals 0 if and only if A i → A j is internal. For the sake of notation, we omit the subscript u from sep when no ambiguities are possible. Suppose for a moment that M is a u-CA model. By definition, Thus, equation (sep 2 ) models the non-intersection constraints imposed by the noses of B. A similar analysis shows that (sep 1 ) indicates that all the beginning points must be at distance at least d + d s , (sep 3 ) models the intersection constraints imposed by the hollows of B, and (sep 4 ) models the bound constraints, assuming that A 0 represents 0 in M.
As we shall see in Theorem 1, a u-CA model equivalent to M exists when the longest path problem with weight sep has a feasible solution on B. In such case, a u-CA model can be generated by observing the distances from A 0 . With this in mind, we define U(M, u) to be the u-CA model with arcs U 1 , . . . , U n such that s(U i ) = dsep(A 0 , A i ), for every 1 ≤ i ≤ n (we assume arithmetic modulo c). For simplicity, we omit M and u from U as usual.  Proof. (i) ⇒ (ii). Suppose M is equivalent to a u-CA model M with arcs A 1 , . . . , A n such that A i corresponds to A i for 1 ≤ i ≤ n. Write s(A 0 ) to mean the point 0 of M . Then, it is not hard to see (cf. above) that s( (ii) ⇒ (iii). Let U 1 < . . . < U n be the arcs of U, U n+1 = U 1 , A n+1 = A 1 , and note that d * sep(A i , A j ) = dsep(A i , A j ) for every 0 ≤ i, j ≤ n as B has no cycles of positive length. Thus, by (sep 4 ), U satisfies (unit 5 ) as s( When restricted to PIG models, Theorem 1 is a somehow alternative formulation of Proposition 2.5 in [28]; see also Proposition 5.4 in [18].

The bounded representation problem
Though simple enough, Theorem 1 allows us to solve u-Rep as follows. First, we build the digraph B in which every edge A i → A j is weighed with s ij = sep u (A i , A j ). Then, we invoke the Bellman-Ford shortest path algorithm [5] on B to obtain s i = d * sep(A 0 , A i ) for every 0 ≤ i ≤ n. If Bellman-Ford ends in success, then we output U(M, u); otherwise, we output the cycle of positive weight found as the negative certificate.
Bellman-Ford computes each value s i = s n i in an iterative manner. At iteration k, the value of s i is updated to As B has O(n) edges, a total of O(n 2 ) arithmetic operations are performed. By (sep 1 )-(sep 4 ), s k i ∈ N when u is integer, thus O(1) time is required by each operation. However, as it was noted by Klavík et al. [18], we cannot assume O(1) time per operation when u is non-integer. The inconvenient is that to compare two fractional values a 1 /b 1 and a 2 /b 2 we have to multiply them with a common multiple of b 1 and b 2 . Thus, a priori, the number of bits used to represent s k−1 j could be large, and the operations required to compute s k i could take more than constant time. It turns out that we can represent s i with O(1) bits in a simple manner. The idea is to use Just note that if s 0 is ever updated, then B has a cycle of positive weight, thus we can immediately halt Bellman-Ford in failure. By doing so we observe, by invariant, that s k i = [t] for every iteration k and some distance tuple With the above implementation, each arithmetic operation performed by Bellman-Ford costs O(1) time, as it involves only O(1) of the input values. We conclude, therefore, that u-Rep can be solved in O(n 2 ) time, even when u is non-integer. As far as our knowledge extends, this is the first polynomial algorithm to solve this problem.
By definition, (Int)BoundRep is solvable if and only if u-Rep is solvable for some (integer) UCA descriptor u. The main difference between both problems is that d is an input of u-Rep whereas a feasible d must be found by BoundRep. A simple solution for (Int)BoundRep is to invoke the above algorithm with a small enough value of d.
In other words, we transform every weight of sep into an integer before invoking Bellman-Ford in the algorithm above. This algorithm is efficient when d consumes O(1) bits, e.g., when u is integer. But, it is not efficient in the general case as to compare two distance tuples we need to operate with d.
An alternative solution for BoundRep is to find any To find d we invoke the algorithm for u-Rep, but instead giving an input number for d, we just think of d as a placeholder for a value lower than or equal to d * . As before, s ij = sep(A i → A j ) and s i = d * sep(A 0 , A i ) are encoded with distance tuples [t ij ] and [t i ], respectively. However, we re-implement the comparison operator to cope with the fact that d is an indeterminate value.
Let [d i ] and [d ij ] be the coefficients of t ij and t i that multiply d, respectively. For a distance

Then, every arithmetic operation costs O(1) time as it involves only O(1) input values.
If Bellman-Ford ends in success,

The separation of a boundless walk
The cycles of B with maximum sep-values play a fundamental role when deciding if M admits an equivalent u-CA model, as shown in Theorem 1. The purpose of this section is to analyze how do these separations look like in the boundless synthetic graph. The (boundless) synthetic graph of M is just S(M) = B(M) \ A 0 ; for the sake of simplicity, we drop the parameter M as usual. The main tool that we apply is a pictorial description of S, that generalizes the work of Mitas [27] on PIG models (see Section 8.1). Roughly speaking, Mitas arranges the vertices of S into a matrix, where the row and column of A i correspond to its height (cf. below) and the number of internal hollows of some paths from A 1 , respectively. Let For the sake of notation, we drop the parameter M as usual. In Figure 1, the vertices are drawn in levels according to their height.
It is important to note that internal noses and steps "jump" to higher or equal levels, while external noses and steps "jump" to lower levels. Similarly, internal hollows "jump" to equal or lower levels while external hollows "jump" to higher levels. We need a more explicit description of how does the height change when an edge is traversed. In general, we say that . For the sake of notation, we refer to noses (resp. steps, hollows) with δ jump simply as δ-noses (resp. δ-steps, δ-hollows).
It is not hard to see (check Figure 1) that S has three kinds of noses, namely 1-, (−h)-, and Similarly, there are three kinds of steps, namely 0-, 1-, and (−h)-steps, and four kinds of hollows, namely 0-, (−1)-, h-, and external (h − 1)-hollows. Note that we need to differentiate between internal 0-hollows and external (h − 1)-hollows when h = 1. For the sake of simplicity, we will refer to A i → A j as an (h − 1)-hollow to mean that A i → A j is an external (h − 1)-hollow. We emphasize that no confusions are possible because M has no external 0-hollows; otherwise A i and A j would cover the circle of M. Observe that, as it happens with noses, h( Obviously, the jump of a walk W depends exclusively on the number of different kinds of noses, hollows and steps that it contains. We write ν δ (W), η δ (W), and σ δ (W) to indicate the number of δ-noses, δ-hollows, and δ-steps of W, respectively. As usual, we do not write the parameter W when it is clear from context. The following observation describes the jump of W.
We now define two kinds of walks that are of particular interest for us. These walks correspond to what Tucker calls by the names of (a, b)-independent and (x, y)-circuits of a PCA model (see [35] and Section 7). We say that a walk of S is a nose walk when it contains no hollows, while it is a hollow walk when it contains no noses and η h + η h−1 ≥ σ −h . Note that a walk is both a nose and a hollow walk only if all its edges are steps; in general, walks that contain only steps are referred to as step walks. Nose and hollow walks are important because they impose lower and upper bounds for the circumference of the circle in a UCA model.
For any nose walk W N , the value r( A similar analysis is enough to conclude (assuming for any hollow cycle W H (this is the reason why hollow cycles are restricted to The following observation sums up equations (2) and (3); note that, as usual, we omit the parameter M from r and R.

Observation 4.
For every u-CA model, By (4), M is equivalent to a u-CA model only if c = ( + d)(h + r) + e for some e ≥ 0. The factor ( + d)(h + r) is required for each nose cycle to fit in the model when considered in isolation, while the extra space e serves to accommodate the interactions between all the arcs. Note that, in general, M needs not be equivalent to a u-CA model. This is not important, though, as we can always write c as ( + d)(h + r) + e; just observe that e could be negative in some cases.
We find it convenient to express sep(W) as a function of and e, for every walk W of S. With this in mind, observe that the value of sep(W) for a walk W is, by definition Applying Equation (1) and some algebraic manipulation, we conclude that where: The values len(W), ext(W), and const(W, d, d s ) are the length, extra, and constant factors of W, and W, d, and d s are omitted as usual. We emphasize that the triplet (len, ext, const) is, in some sort, a generalization to what Mitas takes as the column in his pictorial representation (see [27] and Section 8.1). The main difference is that the external edges can be disregarded from S when M is a PIG model. Mitas also discards the 0-hollows and the steps to define the column, thus (len, ext, const) gets reduced to (0, 0, 2η −1 ).
There are at least two advantages of expressing sep as a polynomial with indeterminates and e and coefficients len, ext and const. First, by Theorem 1, we can see at first sight that M is equivalent to a (c, )-CA model whenever either len(W) < 0 or len(W) = 0 and ext(W) < 0 for every cycle W. Just take large enough values for and e. In particular, observe that len(W) < 0 for every cycle when M is a PIG model; thus, this is just one more proof of the fact that every PIG model is equivalent to an UIG model. The second advantage is that, obviously, the factors depend only on the structure of S and not on the weighing function sep. In fact, we can compute ext(W) by means of the edge weighing ext (the overloaded notation is intentional) of S such that We can compute len(W) and const(W, d, d s ) in a similar fashion with the corresponding edge weighings len and const d,ds .

Efficient Tucker's characterization
In this section we give an alternative proof of Tucker's characterization, taking advantage of the framework of synthetic graphs. In short, Tucker's theorem states that M is equivalent to some UCA model if and only if a/b < x/y for every (a, b)-independent and every (x, y)-circuit of M [35]. As already mentioned (and proven in Section 7) the nose and hollow cycles of S are the equivalents of the (a, b)-independents and (x, y)-circuits of M. Moreover, the maximal and minimal values of a/b and x/y are somehow related to r and R, respectively. Thus, intuition tells us that we should be able to prove that M is equivalent to a UCA model if and only if r < R. This is equivalence (i) ⇔ (ii) of Theorem 6 below. Though equivalence (i) ⇔ (ii) is not new, our proof of this fact is new and somehow simple. One of the main features about Theorem 6 is that it exhibits new characterizations that can be used for positive and negative certification. In particular, it shows how to obtain an integer (c, )-CA model equivalent to M with c and polynomial in n. The existence of such models was questioned by Durán et al. in [8] and proved by Lin and Szwarcfiter in [24] by means of feasible circulations.
Before stating Theorem 6, we study the relation between sep and the ratios of M. Recall that the sep-values of nose and hollow cycles impose the lower and upper bounds described by (4), respectively. The reason to consider only nose and hollow cycles is that they have the largest sep-values when c and are large, as it follows from (5) and the next lemma. Proof. The proof is by induction on ν(W) × η(W) and σ(W) + 1, the base case of which is trivial. Suppose, then, that W has at least one nose and one hollow. So, W must have a subwalk W 1i = B 1 , . . . , B i such that B 1 → B 2 is a nose, B 2 , . . . , B i−1 is a step walk, and B i−1 → B i is a hollow. Observe that i ≥ 3, because t(B 1 )s(B 2 ) are consecutive and thus B 2 → B 1 is not a hollow.
Consider first the case in which W 1i is not a path, thus it contains a cycle W jk = B j , . . ., B k = B j (j < k) that must have at least one 1-step or 0-hollow. Note that W jk = W 1i because otherwise B 2 , . . . , B i−1 would pass through B 1 = B i contradicting the fact that W jk is a cycle. Hence, W jk does not contains both a nose and a hollow and len(W jk ) ≤ 0; recall (6). Moreover, if W jk has an external hollow (which must be B i−1 → B i ), then it must contain the unique external step of S. Therefore, ext(W ji ) ≤ 0 by (7), and the proof follows by induction on W \ W ji .
Consider now the case in which W 1i is a path and let W 1i be the step path from B 1 to B i . We claim that len(W 1i ) = len(W 1i ) and ext(W 1i ) = ext(W 1i ), in which case the proof follows by induction on (W \ W 1i ) ∪ W 1i . Since W 1i is a path, it follows that either B 2 > B i or B i > B 1 , which leaves us with only five possible combinations for the heights of B 1 , B 2 , B i−1 , and B i , all of which are analyzed in the table below. The claim is therefore true.
The above lemma brings us closer to Tucker's characterization, as it shows that any cycle with sep > 0 can be transformed into a hollow or nose cycle; thus, the existence of a UCA model equivalent to M is reduced to how its ratios look like. One of the salient features of our proof is that it builds an efficient UCA model U equivalent to M. The idea is to take U = U(M, c, ) as in Theorem 1 for some appropriate values of c and . Observe that d = d r = 0 in this case, hence we can replace B and A 0 with S and A 1 in the definition of U. In principle, O(n 2 ) time is required to compute all the values of dsep(A 1 , A i ), because S is not an acyclic graph. By taking some appropriate values for c (or e) and , we can remove all these cycles so as to reduce the time complexity to O(n). With this in mind, we say that an edge A i → A j of S is redundant when either  (v) R is acyclic.
(ii) ⇒ (iii). If W H is a hollow cycle with a nonnegative length factor, then (iii) ⇒ (iv). Suppose either len(W) > 0 or len(W) = 0 and ext(W) ≥ 0 for some cycle W of S. If ext(W) ≥ 0, then the statement follows as there is a hollow cycle with a nonnegative length factor by Lemma 5. Otherwise, there is a nose cycle W N with positive length factor by Lemma 5, so implying (recall (2)) which is impossible.
(v) ⇒ (vi). Taking into account that R is acyclic and every walk of R is also a walk of S, it follows that d * sep(S, For the remaining inequality suppose, by induction, that sep(W) ≤ dsep(R, A 1 , A i ) for every walk W of S that goes from A 1 to A i whose length is at most k − 1 < n. Consider any walk W = B 1 , . . . , B k+1 of S from A 1 = B 1 , and let Now, taking into account that every term of the length factor is a multiple of either 1 or r = r 1 /r 2 in (6), we obtain that By (5), we obtain that Case 2: (red 1 ) is false, thus (red 2 ) holds. As before, we observe by induction that len(W R j ) = dlen(A 1 , B j ) and, thus, ext(W R j ) = (dext • dlen)(A 1 , B j ). Consequently, by (red 2 ), Since (red 1 ) is true, it follows that len(W S k+1 ) = dlen(A 1 , B k+1 ). Then, by (5), We conclude, therefore, that sep(W) ≤ dsep(R, A 1 , A i ) for every walk W of S that goes from A 1 to A i whose length is at most n. By induction, this implies that sep(W) ≤ dsep(R, Theorem 6 has some nice algorithmic consequences Rep when combined with Theorem 1. For any input PCA model M we solve u-Rep for the UCA descriptor u implied by statement (vi). As a byproduct, we either obtain a UCA model equivalent to M or a cycle of S that can be used for negative certification. The algorithm costs O(n 2 ) time, plus the time and space required so as to compute r(M). In Section 6 we show a not-so-hard O(n) time variation of this algorithm, taking advantage of the reduction of S. However, we first discuss how r can be found.

The recognition algorithm by Kaplan and Nussbaum
Translated to synthetic graphs, Tucker's characterization (equivalence (i) ⇔ (ii) of Theorem 6) states that M is equivalent to no UCA model if only if S has nose and hollow cycles W N and W H such that r(W N ) ≥ R(W H ). The original proof by Tucker does not show how to obtain such cycles. More than thirty years later, in [8], Durán et al. described the first polynomial algorithm to obtain such cycles with a rather complex implementation. A few years later, in [15], Kaplan and Nussbaum improved this algorithm so as to run in O(n) time while simplifying the implementation. The purpose of this section is to translate the algorithm by Kaplan and Nussbaum in terms of the synthetic graph. The proof of correctness is simple, short, and rather intuitive, while the implementation of the algorithm is quite similar to the one given by Kaplan and Nussbaum.
The main concept of this section is that of greedy cycles. For any nose (resp. hollow) walk W N = B 1 , . . . , B k of S, we say that B i is greedy (in W N ) when either B i → B i+1 is nose (resp. hollow) or no nose (resp. hollow) of S starts at B i . A nose (resp. hollow) cycle is greedy when all its vertices are greedy. In other words, W N is greedy when noses (resp. hollow) are preferred over steps. The main idea of Durán et al., which was somehow implicit in [35], is to observe that S contains a greedy nose (resp. hollow) cycle of highest (resp. lowest) ratio. Then, they compute the unique greedy nose (resp. hollow) cycle starting at a vertex A, for every A ∈ V (S), and keep the one with highest (resp. lowest) ratio. Note that each greedy nose (resp. hollow) cycle B 1 , . . . , B k is found k times, once for each starting vertex B i . Kaplan and Nussbaum, instead, compute each greed nose (resp. hollow) cycle only once by taking only one vertex as the starting point.
The next lemma has a new proof that S contains a greedy nose cycle of highest ratio.
Lemma 7 (see also [8,15,35]). For any nose cycle W N of S there exists a greedy nose cycle Proof. The proof is trivial when W N is greedy. When W N is not greedy, we can transform it into a greedy nose cycle by traversing W N from any vertex while applying the following operation when a non-greedy vertex B 1 is found, until no more non-greedy vertices remain. Let  table below).
The proof that S contains a greedy hollow cycle with lowest ratio is similar and we omit it as it not required by our algorithm. Moreover, an analogous proof is given in Lemma 9, while Section 7 shows the equivalence between hollow cycles and (x, y)-circuits.
Lemma 8 (see [15] and Section 7). For any hollow cycle W H of S there exists a greedy hollow cycle W H of S such that R(W H ) ≥ R(W H ).
The algorithm to compute a nose (resp. hollow) cycle with highest (resp. lowest) ratio follows easily from Lemma 7 (resp. Lemma 8). Just note that if an edge A i → A j belongs to a greedy nose (resp. hollow) cycle, then either A i → A j is a nose (resp. hollow), or there are no noses (resp. hollow) from A i in S. Then, W is a greedy nose (resp. hollow) cycle of S if and only if W is a cycle of the digraph S N that is obtained by keeping only the noses (resp. hollows) of S and the steps that go from vertices with no noses (resp. hollows). Since all the vertices in S N have out-degree 1, we can obtain all the greedy cycles in O(n) time. Then, by Lemmas 7 and 8, r and R can be computed in O(n) time. Furthermore, if r > R, then a nose and a hollow cycles W N and W H with r(W N ) = r and R(W H ) = R are obtained as a byproduct.  [24], who showed how to reduce the problem of finding such a (c, )-CA model to a circulation problem. Their algorithm and its correctness have nothing to do with Theorem 6 and it is not easy to see how a forbidden subgraph can be obtained for certification (that is, without invoking a second recognition algorithm, as the one by Kaplan and Nussbaum). Kaplan and Nussbaum ask for a unified certification algorithm. We provide such an algorithm in this section.

Efficient construction of UCA models
Our algorithm is based on the equivalence (i) ⇔ (v) ⇔ (vi) of Theorem 6. That is, the algorithm just checks whether R(M) is acyclic. If affirmative, then U(c, ) can be taken as the positive certificate by Theorem 1, where c and are defined as in Theorem 6(vi). Otherwise, a nose cycle with ratio r(M) combined with a cycle of R(M) form the negative certificate. Of course, testing if R is acyclic and finding a cycle in R both cost O(n) time. When R is acyclic, we can compute dsep in O(n) time using R so as to build U(c, ). Hence, the difficulty of the algorithm is on finding R.
By definition, R is obtained by removing the redundant edges of S; this can be done in O(n) time once the redundant edges of S are found. In turn, recall that an edge A i → A j is redundant if and only if Say that a nose (resp. hollow) walk W = B 1 , . . . , B k is greedy when there exists B i ∈ W such that B j is greedy for every 1 ≤ j ≤ i, while B i , . . . , B k is a step walk. In other words, W is greedy when noses (resp. hollows) are preferred until some point in which only steps follow.
It turns out that W N,i and W H,i are greedy paths. The proof of this fact is analogous to those of Lemmas 7 and 8, yet we include it for the sake of completeness.

Lemma 9.
For any nose (resp. hollow) walk W N of S there exists a greedy nose (resp. hollow) walk W N of S joining the same vertices such that either len(W N ) < len(W N ) or len(W N ) = len(W N ) and ext(W N ) ≤ ext(W N ).
Proof. The proof is by induction on |W N | − p and |W N |, where p is the position of the first non-greedy vertex of W N . The base case in which p is greater than the position last nose (resp. hollow) of W N is trivial. Suppose, then, that B 1 is the first non-greedy vertex of W N and that B 1 appears before the last nose (resp. hollow) of W N . Let B 1 → B the the nose (resp. hollow) from B 1 and consider the following cases.
Recall that our problem is to find the len and ext values for the path W N,i satisfying (gn 1 ) and (gn 2 ), for every 1 ≤ i ≤ n. We solve this problem in two phases. Clearly, there exists a unique greedy nose path N beginning at A 1 that is maximal. The first phase consist of traversing N = B 1 , . . . , B k while p(B i ) = (len(B 1 , . . . , B i ), ext(B 1 , . . . , B i )) is computed and stored for every 1 ≤ i ≤ k. In the second phase each step is computed and stored. By Lemma 9, W N,i is a greedy nose path starting at A 1 , thus W N,i is equal to a subpath of N plus a (possibly empty) step path. Consequently, there are only two possibilities for the last edge of W N,i according to whether

Logspace construction of UCA models
In the full version of [21], Kobler et al. ask whether it is possible to solve Rep in (deterministic) logspace. In this section we provide an affirmative answer to this question by showing that the algorithm of the previous section can be implemented so as to run in logspace. Before doing so, we briefly discuss the logspace recognition of UCA graphs, for the sake of completeness.
Kobler et al. [21] show a logspace algorithm for the recognition of PCA graphs. As a byproduct, their algorithm outputs a PCA model M with arcs A 1 < . . . < A n ; we implement the algorithm by Kaplan and Nussbaum so as to run in logspace when M is given. Let S N be the subgraph of S obtained by removing all its hollows and all its steps that go from a vertex in which a nose starts. All the vertices of S N have out-degree 1. So, the nose ratio of each cycle W of S N can be obtained in logspace by traversing W from each of its vertices. By Lemma 7, r is the maximum among such ratios. Then, taking into account that S N can be easily computed in logspace from M, we conclude that r is obtainable in logspace. An analogous algorithm can be used to compute the hollow ratio R of M in logspace. By Theorem 6, M is equivalent to a UCA model if and only if r < R. The algorithm can output, also in logspace, the nose and hollow cycles with ratios r and R, respectively. These cycles provide a negative certificate that M is equivalent to no UCA models when r ≥ R.
The logspace representation algorithm can be divided in two phases. In the first phase, R is build, while, in the second phase, the UCA model is obtained from a topological sort of its vertices. Clearly, the problem of computing R can be logspace reduced to querying which of the edges of S are redundant. By (red 1 ) and (red 2 ), the problem of testing if A i → A j is redundant is logspace reduced to that of finding dlen(A 1 , A i ) and (dlen • dext)(A 1 , A i ). As stated in the previous section, this problem is reduced to that of computing len(W N,i ), ext(W N,i ), len(W H,i ), and ext(W H,i ) where W N,i is the greedy nose path from A 1 to A i defined by (gn 1 ) and (gn 2 ), while W H,i is defined analogously. By Lemma 7,W N,i = N a,b for some a, b < n, where N a,b is the walk obtained by first traversing a edges of the unique maximal greedy path N that begins at A 1 , and then traversing b steps. So, by keeping the counters a and b, we can compute the maximum among the values of len (N a,b ) and ext(N a,b ) for the paths N a,b ending at A i with a, b < n. Such a computation requires logspace, thus R can be obtained in logspace.
Once R is build, we could compute U(c, ) by finding dsep(R, A 1 , A i ) for every 1 ≤ i ≤ n. There is a major inconvenience with this approach: finding the longest path between two vertices of an acyclic digraph is a complete problem for the class of non-deterministic logspace problems. To deal with this problem we could observe that R is not only an acyclic digraph but also one with a rather particular structure.
Theorem 11. If M is a PCA model, then S is a toroidal digraph.
Proof. As the theorem is implied by [27], we defer its proof to Section 8.1 (see Corollary 21).
Toroidal acyclic digraphs are much simpler than general acyclic digraphs. Yet, up to this date, the best algorithms to compute their longest paths run in unambiguous logspace [23]. For this reason, the UCA model computed in the second phase is a variation of U(c, ). The key idea is to observe that the reachability problem for toroidal digraphs that have a unique vertex with in-degree 0 can be solved in logspace [34]. That is, for A i , A j ∈ V (R), the reachability algorithm in [34] outputs YES when there is a path from A i to A j in R. Then, we can compute reach(A j ) = |{A i ∈ V (R) | there is a path from A i to A j in R}| in logspace for any given A j ∈ V (R). The representation algorithm takes advantage of this fact by replacing const with the easier-to-find reach. That is, the constructed UCA model U reach is the (c, )-CA model with arcs U 1 , . . . , U n such that c = ( + 1)(h + r) + e for e = 4n, + 1 = r 2 e 2 , and s(U j ) = ( + 1)(h(A j ) + dlen(A 1 , A j )) + e(dext • dlen)(A 1 , A j ) + 2reach(A j ) for every 1 ≤ j ≤ n. Here, as in Theorem 6 (vi), r = r 1 /r 2 , thus c, , and s(U j ) are integers. By the previous discussion, U reach is obtainable in logspace. The fact that U reach is equivalent to M follows from the next theorem. Proof. Suppose first that R is acyclic and let U 1 , . . . , U n be the arcs of U reach as in its definition. Then, it suffices to show that: where q ∈ {0, 1} equals 0 if and only if A i → A j is internal. Take any edge A i → A j and, for the sake of notation, let: By definition (9), where ε = ( + 1)∆len(i, j) + e∆ext(i, j) + 2∆reach(i, j). Note that ε ≥ 2. Indeed, if A i → A j is redundant, then either ∆len(i, j) > 0 or ∆len(i, j) = 0 and ∆ext(i, j) > 0; thus ε ≥ 2 as in Theorem 6 (v) ⇒ (vi). If A i → A j is not redundant, then A i → A j is an edge of R and ∆reach(i, j) > 0, while ∆len(i, j) = ∆ext(i, j) = 0. Consequently, ε ≥ 2 regardless of whether A i → A j is redundant or not. Then, (a)-(c) follow by inspection, considering the 10 possible values for the jump of A i → A j . For the sake of completeness, the table below sums up all these cases; recall that c = h( + 1) + r( + 1) + e.

(a, b)-independents and (x, y)-circuits
As stated, our algorithm outputs two cycles when M is not equivalent to a UCA model: a nose cycle W N with ratio r(M) and a cycle W H of R. As in the proofs of implications (iii) ⇔ (iv) ⇔ (v), W H is a hollow cycle with a nonnegative length factor. Moreover, as in implication (ii) ⇔ (iii), R(W H ) ≤ r(W N ). Note that, in principle, this certificate needs not be equal to the one in Section 5, because W H needs not be the hollow cycle with minimum ratio. Nevertheless, this certificate is somehow analogous to the one provided by the algorithm by Kaplan and Nussbaum. Rigorously speaking, the certificate of Section 5 is neither equal to the one given by the algorithm by Kaplan and Nussbaum. The former is a pair of nose and hollow cycles while the latter is a pair of (a, b)-independent plus (x, y)-circuit. Nose cycles can contain more vertices than the corresponding (a, b)-independents while hollow cycles can contain more vertices than the corresponding (x, y)-circuits. These added vertices are, nevertheless, redundant and can be eliminated from the certificate so as to obtain a minimal forbidden induced submodel as the negative certificate. The purpose of this section is to describe the equivalence between nose (resp. hollow) cycles and (a, b)-independents (resp. (x, y)-circuits) and how to transform one into the other and vice versa. We begin describing what are the (a, b)-independents and (x, y)-circuits.
For two arcs A i , A j of a PCA model M, we define the ss arc of A i , A j to be the arc (s(A i ), s(A j )). For a sequence of arcs A = B 1 , . . . , B k , the ss traversal of A is the family of arcs T that contains the ss arc of B i , B i+1 for every 1 ≤ i ≤ k (where B 1 = B k+1 ). The number of turns of T is the number of its arcs that contain the point 0 of C(M). In simple terms, the ss traversal of A is obtained by traversing C(M) from s(B 1 ) to s(B 2 ) to . . . to s(B k ) to s(B 1 ), while its number of turns is the number of complete loops to the circle in such a traversal.
An (a, b)-independent of a PCA model M is a sequence of arcs A = B 1 , . . . , B a such that  s(B i+1 ) ∈ B i for every 1 ≤ i ≤ a and whose ss traversal takes b turns. Similarly, an (x, y)circuit is a sequence of arcs B 1 , . . . , B x such that s(B i+1 ) ∈ B i for every 1 ≤ i ≤ x and whose ss traversal takes y turns. Note that x > 2y as no pair of arcs of M cover the circle. An  (a, b)-independent is maximal when a/b is maximum and a, b are relative primes, while an (x, y)-circuit is minimal when x/y is minimum and x, y are relative primes. As we shall shortly see, statement (i) ⇔ (ii) of Theorem 6 is equivalent to the following theorem by Tucker. There is a one-to-one correspondence between the standard (a, b)-independents of M and the nose circuits of S, as follows. Let A = B 1 , . . . , B a be a standard (a, b)-independent and W i be the step path of S that goes from B i to B i , where B i is the arc whose ending point immediately precedes s(B i+1 ). Clearly, a nose circuit, and B 1 → B 1 , . . . , B a → B a are its noses, then  A(W) = B 1 , . . . , B a is an standard (a, b)-independent for some b. It is not hard to see that A(W(A)) = A and W(A(W)) = W, thus the correspondence is one-to-one.
Observe that the number of turns b in the ss traversal of A is precisely the number of external noses and steps of W = W(A). In other words, Similarly, the number a of arcs of A equals the number of noses of W; by (1),

Hence, a/b = h + r(W).
A similar analysis holds for (x, y)-circuits. Say that an (x, y)-circuit A = B 1 , . . . , A x is standard when s(B i ) immediately precedes an ending point t(B i ) in M. Note that M contains an (x, y)-circuit if and only if it contains an standard (x, y)-circuit; in such circuit, B i → B i is a hollow of S. Then, A is in a one-to-one correspondence with the hollow circuit W = W(A) that goes through W 1 , W 2 , . . . , W x where each W i is the step path going from B i to B i+1 . As before, the number of turns in the ss traversal of A is the number of external hollows minus the number of external steps, i.e., while the number x of arcs in A is its number of hollows; by (1) Hence, x/y = h + R(W).
Clearly, we can obtain W(A) in O(n) time for any standard (a, b)-independent (resp. (x, y)circuit) A, and vice versa. Moreover, note that, as stated, a/b ≥ x/y if and only if r ≥ R. We summarize this section in the next theorem.

Minimal UCA and UIG models
Theorem 1 gives us a procedure to check if M is equivalent to a u-CA model, when u is given as input. However, not much is known about the sets of feasible values c and . In this aspect, unit circular-arc models are much less studied than unit interval models. In this section we prove that every UCA model admits an equivalent minimal UCA model. Minimal UCA models are a generalization of minimal UIG models, as defined by Pirlot [28]. Proof. For the sake of notation, write a , b to denote the UCA descriptor (c + a, + b, d, d s ), for every 0 ≤ a ≤ x and 0 ≤ b ≤ y. Suppose, to obtain a contradiction, that M is equivalent to no a, b -CA model for some 1 ≤ a ≤ x and 1 ≤ b ≤ y. Then, by Theorem 1, sep a,b (W) > 0, sep x,0 (W) ≤ 0, and sep 0,y (W) ≤ 0 for some cycle W of S. By (4), there exists e ≥ 0 such that for every 0 ≤ a ≤ x and 0 ≤ b ≤ y. Thus, by (5), sep 0,y = ( + y + d)len + eext + const ≤ 0 (iii) sep x,0 = ( + d)len + (y(h + r) + e + x)ext + const ≤ 0.
Recall that len < 0 by Theorem 6. Then, as 0 < (ii) − (iv), we obtain that (v) ext ≤ −1 (recall ext ∈ Z), while (vi) (h + r)ext > len follows by 0 < (ii) − (iii) and (v). Then, For the rest of this section, we restrict ourselves to the case in which d and d s are integers. By (2), r = 0 for every UIG model M, thus, by (5), sep(W) ∈ N if and only if and c are integers. We obtain, therefore, the following corollary that was first proved by Pirlot [28].

Corollary 17. Every (d, d s )-minimal UIG model is integer for every d, d s ∈ N
The above corollary holds for UCA models with an integer nose ratio as well. However, we were not able to prove or disprove the above corollary for the general case. For this reason, we say that an integer (c, , d, d s )-CA model M is (N, d, d

Minimal UIG models
Mitas' key idea is to take so that (10) holds by equality when sep(W x ) is maximum (recall sep depends on ). The flaw, however, is that she discards 0-hollows and 1-steps before solving (10).
To make the above statement more precise, let T (M) be the digraph obtained from S(M) by removing all the 0-hollows and 1-steps, and W T x be a path from A i to A j in T (as usual we drop the parameter M from T ). Mitas claims (Theorem 5 in [27], although using a different terminology) that when sep(W T x ) is maximum and is minimum. Figure 2 shows a counterexample to this fact. The inconvenient is that dsep(S, A 1 , A i ) is greater than dsep(T , A 1 , A i ) when every maximum path from A 1 to A i contains the 0-hollow or 1-step ending at A i .
Equation (11) is fundamental for keeping the time and space complexity low. The main observation is that T is acyclic whereas S is not.

Lemma 19 ([27]). Digraph T (M) is acyclic, for any UIG model M.
Given that T is acyclic, we can compute the column that every arc of M occupies in a pictorial description of T . The column of A 1 is c(A 1 ) = 0, while, for every 1 < i ≤ n, the column of A i is: for a small enough ε (say ε 1/n); obviously, if A i is not the end of a nose (resp. hollow, step), then the corresponding value in the above equation is 0. It is easy to see, by the existence of 0-steps, that c(I i ) ≤ c(I k ) ≤ c(I j ) when A i and A j are the leftmost and rightmost with height x, for every A i < A k < A j . In Figure 2, each vertex A of S occupies the coordinate (c(A), h(A)) on the plane, for some imperceptible ε, while each directed edge is a straight arrow. This pictorial description, which we call the canonical drawing of T , was proposed by Mitas and it is quite useful for simplifying some geometrical arguments. The reason is that this drawing is a plane digraph; we include a proof of this fact as it is not completely explicit in [27].
Proof. Suppose, to obtain a contradiction, that the canonical drawing of T it is not a plane graph. Then, there are two crossing straight lines that correspond to the edges A i → A j and A x → A y with h(A i ) ≤ h(A x ). By definition, T has only 1-noses, (−1)-hollows and 0-steps, while every vertex A is positioned in (c(A), h(A)). Hence, it follows that A i → A j is a 1-nose, A x → A y is a (−1)-hollow, and A i < A y < A x < A j . But this configuration is impossible because it implies that t(A i )s(A j ) and s(A x )t(A y ) are consecutive, while t(A i ) < t(A y ) and s(A x ) < s(A j ).

Corollary 21 (Theorem 11).
If M is a PCA graph, then S is a toroidal digraph.
Proof. A torus can be obtained from a rectangle by first pasting its north and south borders together, and then pasting the east end of the obtained cylinder with its west end. Thus, it suffices to show how to draw S into a rectangle allowing some edges to escape from the north (resp. east) into the south (resp. west). Let T be obtained from S by removing all the external edges, plus 1-steps and 0-hollows. To draw S, first copy the canonical drawing of T into the rectangle. Then, draw all the 0-hollows and 1-steps so that they escape through the east, all the h-hollows and (−h)-noses so as to run through the north, and the (−h)-step and all the (h − 1)-hollows and (1 − h)-noses by going through the north first and then through the east. It is not hard to see that such a drawing is always possible.
In the next lemma we take advantage of the canonical drawing to prove that every cycle of S contains exactly one 0-hollow or 1-step. Pirlot also studies the shape of the cycles of S [28], but without taking advantage of Mitas' canonical drawing. For the next lemma, recall that len(W) = −η 0 (W) − σ 1 (W) for any cycle W. Proof. Note that len = −η 0 − σ 1 (6), hence, by Lemma 19, len < 0. Suppose, to obtain a contradiction, that len < −1. Then, W has a subpath B 1 , . . . , B j with no 0-hollows nor 1-steps such that B 0 → B 1 and B j → B j+1 each is either a 0-hollow or a 1-step of W. Among all such possible paths, take W so that h(B 1 ) is maximum. Note that B 0 = B j , thus W has another path B −k , . . . , B 0 such that B −k is its unique leftmost vertex. By the maximality of h( Call Gr + to the curve that results by traversing B 1 , . . . , B j in the canonical drawing of T . Note that Gr + is indeed the graph of a continuous function on R → R because c(B i+1 ) > c(B i ) for every 1 ≤ i < j by (12). Similarly, the curve Gr − that results by traversing B −k , . . . , B 0 in the canonical drawing of T is also the graph of a continuous function.
Since T is acyclic, we can compute dconst d,ds (T , A i , A j ) in O(n) time and space for any given 1-step or 0-hollow A j → A i of S. Then, * is obtained in O(hn) time.
Once * has been obtained, U = U(∞, * , d, d s ) can be constructed in O(n 2 ) time and linear space as in Section 3.1. We claim that U is a (d, d s )-minimal UIG model. Indeed, U satisfies (min-uig 1 ) by the minimality of * . To see that U satisfies (min-uig 2 ), consider any path W of S from A 1 to A j . Note that h(A j ) ≥ σ 1 + η 0 = −len because no leftmost vertex is traversed twice by W. Therefore, by (5)

Powers of paths and cycles
Powers of paths and cycles are intimately related to UIG and UCA graphs, respectively. For any graph G, its k-th power G k is the graph obtained from G by adding an edge between v and w whenever there is a path in of length at most k joining them. In this section we write P q and C q to denote the path and cycle graphs with q vertices, respectively. Lin et al. [26] noted that G is a UCA (resp. UIG) graph if and only if G is an induced subgraph of C k q (resp. P k q ) for some q, k (see also [9] for UIG graphs and [11] for UCA graphs).
In [7], Costa et al. propose a specialized O(n 2 ) time and space algorithm whose purpose is to find the minimum values k and q(k) such that a UIG graph G is an induced subgraph of P k q(k) . The reason for writing q(k) dependent on k is to be as truthful to [7] as we can; they always write the number of vertices as a function on the power. This is not important, though, as we know that q in independent of k by Pirlot's minimality Theorem [28]. That is, q is the minimum such that G is an induced subgraph of P k q for every possible k. Mitas' algorithm could have been applied to obtain k and q in O(n) time and space, under the assumption that it is correct. Interestingly, Pirlot's Theorem and Mitas' algorithm predate [7] for at least fifteen years. Moreover, [32,Section 9], which is referenced within [7], mentions that Mitas' algorithm could be adapted to work when the input is a PIG model. The purpose of this section is to apply the minimization algorithms so as to find powers of paths and cycles supergraphs.
Let C k q (resp. P k q ) be the (2q, 2k + 1)-CA (resp. (2k + 1)-IG) model that has an arc with beginning point 2i for every 0 ≤ i < q. It is not hard to see that C k q (resp. P k q ) is a (1, 0)-and (1, 1)-minimal model representing C k q (resp. P k q ). We say that a (c, )-CA (resp. -IG) model M * is completable when M * can be obtained by removing arcs from C k q (resp. P k q ) for some k, q ≥ 0. In such case, C k q (resp. P k q ) is referred to as the completion of M * , while M * is said to be a (k, q)-extension of M for every UCA (resp. UIG) model M equivalent to M * . Note that M * is completable if and only if: (ext 1 ) is odd, (ext 2 ) c is even, and (ext 3 ) all its beginning points are even (thus M * is a (c, , 1, 1)-CA model).
Under this new terminology, the result by Lin et al. [26] states that every UCA (resp. UIG) model M admits a (k, q)-extension M * for some k, q ≥ 0. In analogy to minimal models, we say that M * is a minimal extension of M when q ≤ q and k ≤ k for every (k , q )-extension of M. The minimal power of a cycle (resp. path) MinC k q (resp. MinP k q ) problem consists of finding M * when the UCA (resp. UIG) model M is given as input. A priori, M could have no minimal extensions. But, if M * is the minimal extension of M, then, clearly, k and q are the minimum values such that G(M) is an induced subgraph of C k q (resp. P k q ). We now discuss how to solve MinC k q and MinP k q . The fact that M admits a minimal extension follows by Lemma 15 and Theorem 1. Indeed, if * is the minimum odd number such that M is equivalent to a (c, * , 2)-CA model, and c * is the minimum even number such that M is equivalent to a (c * , , 1, 1)-CA model, then, by Lemma 15, M is equivalent to a (c * , * , 1, 1)-CA model. Furthermore, sep c * , * ,1,1 (A i → A j ) is even for every edge A i → A j of S, by (sep 1 )-(sep 4 ). Thus, all the beginning points of M * = U(M, c * , * , 1, 1) are even. Then, M * is completable by (ext 1 )-(ext 3 ), while it is equivalent to M by Theorem 1. That is, M * is the minimal extension of M and, thus, the solution to MinC k q . The values * and c * can be found O(n 4 log n) time with an algorithm similar to the one in Section 8.
For the special case in which M is a UIG model, we observe that any (1, 1)-minimal model M * equivalent to M is a minimal extension of M. Just recall that the length * of the arcs in M * is equal to const(W, 1, 1) − 1 for some path W of S(M * ). Since const(W, 1, 1) is even, it follows that * is odd and, thus, sep ∞, * ,1,1 (A i → A j ) is even for every edge A i → A j of S(M * ). By (ext 1 )-(ext 3 ), this implies that M * is an extension of M which, of course, is minimal by (min-uig 1 ) and (min-uig 2 ). By Theorem 23, MinP k q is solvable in O(n 2 ) time and linear space.

Further remarks
Synthetic graphs proved to be an important tool for studying how do the UIG representations of PIG graphs look like. The generalization to PCA models is direct; the fact that some arcs wrap around the circle is not important for defining the synthetic graph. To represent the separation constraints that an equivalent UCA model must satisfy, all we had to include to Pirlot's original formulation was the variable c representing the circumference of the circle. Generalizations of simple ideas from PIG to PCA graphs are not always as easy to obtain. Unfortunately, Pirlot's ideas were introduced in the context of semiorders and were not exploited in the context of PCA graphs; the recognition problem of UCA graphs in polynomial time could have been solved more than a decade earlier. In this closing section we provide some remarks and discuss some open problems.
Our definition of UCA descriptors states that every pair of beginning points should be separated by d + d s distance. An obvious generalization to u-Rep and (Int)BoundRep is to replace d s with a function d s : A → Q ≥0 that indicates, for each arc A i , the separation between s(A i ) and the next beginning point s(A i+1 ). The reader can check that Theorem 1 holds for this generalization as well. All we need to do is to replace the value d s with d s (A i ) for each step A i → A i+1 . Moreover, we can use similar functions to further separate t(A i ) from s(A j ) for every nose A i → A j , and s(A i ) from t(A j ) for any hollow A i → A j . We did not consider these generalization for the sake of simplicity and notation.
In Section 8 we gave a simple polynomial algorithm to transform a UCA model M into a minimal (c * , * , d, d s )-CA model. The algorithm works by performing a linear search on * and a binary search on c * . An obvious idea to improve its running time is to replace the linear search on * with a binary search. Unfortunately, this idea is not feasible at first sight because we cannot claim L = { ∈ N | M is equivalent to a (c, , d, d s )-CA model for some c ∈ N} to be a range. For instance, C 4 11 admits a (22,9)-CA model, but it admits no (c, 10)-CA model, whatever value of c is. This is just one more example of a property that is lost when the linear structure of PIG models is replaced by the circular structure of PCA graphs as L = [ * , ∞) when M is PIG.
As calculated in Section 8, the running time of the minimization algorithm is O((d + d s )n 4 log(n + d + d s )). This bound is not tight, as the actual running time is O( * n 2 log(n * )), and * could be much lower than (d+d s )n 2 . As a matter of fact, we developed a simple program for testing if a UCA model is equivalent to some (c, 2n)-CA model. We tested it on many input UCA models and, in all cases, the program was successful.
In Section 8.1 we fixed Mitas' algorithm so as to solve the minimization problem for UIG models. Unfortunately, the running time of the patched algorithm is O(n 2 ). There are two bottlenecks in this algorithm. First, we have to compute the minimum length value * . Then, we have to apply the Bellman-Ford algorithm to compute the actual model. With respect to the space complexity, it is not hard to observe that * can be computed in unambiguous logspace. Indeed, all we have to do is to find the distance between the leftmost and rightmost arcs for every height. As the canonical drawing is a plane graph with O(1) vertices with 0 in-degree, this problem requires unambiguous logspace [23]. Finding logspace algorithms to compute * and the minimal model remain as open problems.
Finally, it should be noted that a UCA graph may admit many non-equivalent minimal UCA models. Indeed, a UCA graph may admit an exponential number of non-equivalent models, each of which is equivalent to a minimal UCA model. It makes sense, then, to say that a model M is minimum when it satisfies (min-uca 1 ) and (min-uca 2 ) for every model M such that G(M) is isomorphic to G(M ). As it was noted by Huang [14], every connected and co-connected PCA graph admits a unique PCA model, up to equivalence and full reversal. Thus, any minimal model of a connected and co-connected PCA graph is minimum. Similarly, every disconnected PCA graph is PIG, and all its models can be obtained from a model M by exchanging the order in which their components appear from 0, and reversing some of the components. Thus, again, any minimal model of G(M) is minimum. Co-disconnected PCA graphs share a similar property: all their PCA models can be obtained from a PCA model M by exchanging the order in which its co-components appear, plus reversing some co-components [14]. Thus, one is tempted to think that all the minimal PCA models are minimum, yet this is not the case. Figure 3 shows two 1-minimal (18, 7)-CA and (20, 8)-CA models that represent the graph whose co-components are P 2 ∪ P 1 and P 4 . We leave as open the problem of computing the minimum UCA model.