Unifying B\"uchi Complementation Constructions

Complementation of B\"uchi automata, required for checking automata containment, is of major theoretical and practical interest in formal verification. We consider two recent approaches to complementation. The first is the rank-based approach of Kupferman and Vardi, which operates over a DAG that embodies all runs of the automaton. This approach is based on the observation that the vertices of this DAG can be ranked in a certain way, termed an odd ranking, iff all runs are rejecting. The second is the slice-based approach of K\"ahler and Wilke. This approach tracks levels of"split trees"- run trees in which only essential information about the history of each run is maintained. While the slice-based construction is conceptually simple, the complementing automata it generates are exponentially larger than those of the recent rank-based construction of Schewe, and it suffers from the difficulty of symbolically encoding levels of split trees. In this work we reformulate the slice-based approach in terms of run DAGs and preorders over states. In doing so, we begin to draw parallels between the rank-based and slice-based approaches. Through deeper analysis of the slice-based approach, we strongly restrict the nondeterminism it generates. We are then able to employ the slice-based approach to provide a new odd ranking, called a retrospective ranking, that is different from the one provided by Kupferman and Vardi. This new ranking allows us to construct a deterministic-in-the-limit rank-based automaton with a highly restricted transition function. Further, by phrasing the slice-based approach in terms of ranks, our approach affords a simple symbolic encoding and achieves the tight bound of Schewe's construction


Introduction
The complementation problem for nondeterministic automata is central to the automatatheoretic approach to formal verification [Var07b].To test that the language of an automaton A is contained in the language of a second automaton B, check that the intersection of A with an automaton that complements B is empty.In model checking, the automaton A corresponds to the system, and the automaton B corresponds to a property [VW86].While it is easy to complement properties given as temporal logic formulas, complementation of properties given as automata is not simple.Indeed, a word w is rejected by a nondeterministic automaton A if all runs of A on w reject the word.Thus, the complementary automaton has to consider all possible runs, and complementation has the flavor of determinization.Representing liveness, fairness, or termination properties requires automata that recognize languages of infinite words.Most commonly considered are nondeterministic Büchi automata, in which some of the states are designated as accepting, and a run is accepting if it visits accepting states infinitely often [Büc62].For automata on finite words, determinization, and hence also complementation, is done via the subset construction [RS59].For Büchi automata the subset construction is not sufficient, and optimal complementation constructions are more complicated [Var07a].
Efforts to develop simple complementation constructions for Büchi automata started early in the 60s, motivated by decision problems of second-order logics.Büchi suggested a complementation construction for nondeterministic Büchi automata that involved a Ramseybased combinatorial argument and a doubly-exponential blow-up in the state space [Büc62].Thus, complementing an automaton with n states resulted in an automaton with 2 2 O(n) states.In [SVW87], Sistla et al. suggested an improved implementation of Büchi's construction, with only 2 O(n 2 ) states, which is still not optimal.Only in [Saf88] Safra introduced a determinization construction, based on Safra trees, which also enabled a 2 O(n log n) complementation construction, matching a lower bound described by Michel [Mic88].A careful analysis of the exact blow-up in Safra's and Michel's bounds, however, reveals an exponential gap in the constants hiding in the O() notations: while the upper bound on the number of states in the complementary automaton constructed by Safra is n 2n , Michel's lower bound involves only an n! blow up, which is roughly (n/e) n .In addition, Safra's construction has been resistant to optimal implementations [ATW06,THB95], which has to do with the complicated combinatorial structure of its states and transitions, which can not be encoded symbolically.
The use of complementation in practice has led to a resurgent interest in the exact blow-up that complementation involves and the feasibility of a symbolic complementation construction.In 2001, Kupferman and Vardi suggested a new analysis of runs of Büchi automata that led to a simpler complementation construction [KV01].In this analysis, one considers a dag that embodies all the runs of an automaton A on a given word w.It is shown in [KV01] that the nodes of this dag can be mapped to ranks, where the rank of a node essentially indicates the progress made towards a suffix of the run with no accepting states.Further, all the runs of A on w are rejecting iff there is a bounded odd ranking of the dag: one in which the maximal rank is bounded, ranks along paths do not increase, paths become trapped in odd ranks, and nodes associated with accepting states are not assigned an odd rank.Consequently, complementation can circumvent Safra's determinization construction along with the complicated data structure of Safra trees, and can instead be based on an automaton that guesses an odd ranking.The state space of such an automaton is based on annotating states in subsets with the guessed ranks.Beyond the fact that the rank-based construction can be implemented symbolically [TV07], it gave rise to a sequence of works improving both the blow-up it involves and its implementation in practice.The most notable improvements are the introduction of tight rankings [FKV06] and Schewe's improved cut-point construction [Sch09].These improvements tightened the (6n) n upper bound of [KV01] to (0.76n) n .Together with recent work on a tighter lower bound [Yan06], the gap between the upper and lower bound is now a quadratic term.Addressing practical concerns, Doyen and Raskin have introduced a useful subsumption technique for the rank-based approach [DR09].
In an effort to unify Büchi complementation with other operations on automata, Kähler and Wilke introduced yet another analysis of runs of nondeterministic Büchi automata [KW08].The analysis is based on reduced split trees, which are related to the Müller-Schupp trees used for determinization [MS95].A reduced split tree is a binary tree whose nodes are sets of states as follows: the root is the set of initial states; and given a node associated with a set of states, its left child is the set of successors that are accepting, while the right child is the set of successors that are not accepting.In addition, each state of the automaton appears at most once in each level of the binary tree: if it would appear in more than one set, it occurs only in the leftmost one.The construction that follows from the analysis, termed the slice-based construction, is simpler than Safra's determinization, but its implementation suffers from similar difficulties: the need to refer to leftmost children requires encoding of a preorder, and working with reduced split trees makes the transition relation between states awkward.Thus, as has been the case with Safra's construction, it is not clear how the slicebased approach can be implemented symbolically.This is unfortunate, as the slice-based approach does offer a very clean and intuitive analysis, suggesting that a better construction is hidden in it.
In this paper we reveal such a hidden, elegant, construction, and we do so by unifying the rank-based and the slice-based approaches.Before we turn to describe our construction, let us point to a key conceptual difference between the two approaches.This difference has made their relation of special interest and challenge.In the rank-based approach, the ranks assigned to a node bound the visits to accepting states yet to come.Thus, the ranks refer to the future of the run, making the rank-based approach inherently nondeterministic.In contrast, in the slice-based approach, the partition of the states of the automaton to the different sets in the tree is based on previous visits to accepting states.Thus, the partition refers to the past of the run, and does not depend on its future.
In order to draw parallels between the two approaches, we present a formulation of the slice-based approach in terms of run dags.A careful analysis of the slice-based approach then enables us to reduce the nondeterminism in the construction.We can then employ this improved slice-based approach in order to define a particular odd ranking of rejecting run dags, called a retrospective ranking.In addition to revealing the theoretical connections between the two seemingly different approaches, the new ranks lead to a complementation construction with a transition function that is smaller and deterministic in the limit: every accepting run of the automaton is eventually deterministic.This presents the first deterministic-in-the-limit complementation construction that does not use determinization.Determinism in the limit is central to verification in probabilistic settings [CY95] and has proven useful in experimental results [ST03].Phrasing slice-based complementation as an odd ranking also immediately affords us the improved cut-point of Schewe, the subsumption operation of Doyen and Raskin, and provides an easy symbolic encoding.

Preliminaries
A nondeterministic Büchi automaton on infinite words (NBW for short) is a tuple A = Σ, Q, Q in , ρ, F , where Σ is a finite alphabet, Q a finite set of states, Q in ⊆ Q a set of initial states, F ⊆ Q a set of accepting states, and ρ : We lift the function ρ to sets R of states in the usual fashion: ρ(R, σ) = q∈R ρ(q, σ).Further, we lift ρ to words word An infinite run of an NBW A on a word w = σ 0 σ 1 • • • ∈ Σ ω is an infinite sequence of states p 0 , p 1 , . . .∈ Q ω such that p 0 ∈ Q in and, for every i ≥ 0, we have p i+1 ∈ ρ(p i , σ i ).Correspondingly, a finite run is a finite sequence of states p 0 , . . ., p n such that p 0 ∈ Q in and, for every 0 ≤ i < n, we have p i+1 ∈ ρ(p i , σ i ).When unspecified, a run refers to an infinite run.A run is accepting iff p i ∈ F for infinitely many i ∈ IN.A word w ∈ Σ ω is accepted by A if there is an accepting run of A on w.The words accepted by A form the language of A, denoted by L(A).The complement of L(A), denoted L(A), is Σ ω \ L(A).We say an automaton is deterministic in the limit if every state reachable from an accepting state is deterministic.Converting A to an equivalent deterministic in the limit automaton involves an exponential blowup [CY95,Saf88].One can simultaneously complement and determinize in the limit, via co-determinization into a parity automaton [Pit06], and then converting that parity automaton to a deterministic-in-the-limit Büchi automaton, with a cost of (n 2 /e) n .
Run dags: Consider an NBW A and an infinite word w = σ 0 σ 1 • • • .The runs of A on w can be arranged in an infinite dag (directed acyclic graph) G = V, E , where The dag G, called the run dag of A on w, embodies all possible runs of A on w.We are primarily concerned with initial paths in G: paths that start in Q in × {0}.Define a node q, i to be an F -node when q ∈ F , and a path in G to be accepting when it is both initial and contains infinitely many F -nodes.An accepting path in G corresponds to an accepting run of A on w.When G contains an accepting path, call G an accepting run dag, otherwise call it a rejecting run dag.We often consider dags H that are subgraphs of G.
and has no descendants in H that are F -nodes.We say a node splits when it has at least two children, and conversely that two nodes join when they share a common child.
Example 2.1.In Figure 1 we describe an NBW A that accepts words with finitely many letters b.On the right is a prefix of the rejecting run dag of A on w = babaabaaabaaaa • • • .
Rank-Based Complementation: If an NBW A does not accept a word w, then every run of A on w must eventually cease visiting accepting states.The notion of rankings, foreshadowed in [Kla90] and introduced in [KV01], uses natural numbers to track the progress of each run in the dag towards this point.A ranking for a dag G = V, E is a mapping from V to IN, in which no F -node is given an odd rank, and in which the ranks along all paths do not increase.Formally, a ranking is a function r : V → IN such that if u ∈ V is an F -node then r(u) is even; and for every u, v ∈ V , if (u, v) ∈ E then r(u) ≥ r(v).Since each path starts at a finite rank and ranks cannot increase, every path eventually becomes trapped in a rank.A ranking is called an odd ranking if every path becomes trapped in an odd rank.Since F -nodes cannot have odd ranks, if there exists an odd ranking r, then every path in G must stop visiting accepting nodes when it becomes trapped in its final, odd, rank, and G must be a rejecting dag.
Lemma 2.2.[KV01] If a run dag G has an odd ranking, then G is rejecting.
A ranking is bounded by l when its range is {0, ..., l}, and an NBW A is of rank l when for every w ∈ L(A), the rejecting dag G has an odd ranking bounded by l.If we can prove that an NBW A is of rank l, we can use the notion of odd rankings to construct a complementary automaton.This complementary NBW, denoted A l R , tracks the levels of the run dag and attempts to guess an odd ranking bounded by l.An l-bounded level ranking for an NBW A is a function f : Q → {0, . . ., l, ⊥}, such that if q ∈ F then f (q) is even or ⊥.Let R l be the set of all l-bounded level rankings.The state space of A l R is based on the set of l-bounded level rankings for A. To define transitions of A l R , we need the following notion: for σ ∈ Σ and f, f ′ ∈ R l , say that f ′ follows f under σ when for every q ∈ Q and q ′ ∈ ρ(q, σ), if f (q) = ⊥ then f ′ (q ′ ) = ⊥ and f ′ (q ′ ) ≤ f (q): i.e. no transition between f and f ′ on σ increases in rank.Finally, to ensure that the guessed ranking is an odd ranking, we employ the cut-point construction of Miyano and Hayashi, which maintains an obligation set of nodes along paths obliged to visit an odd rank [MH84].For a level ranking f , let even(f ) = {q | f (q) is even} and odd(f By [KV01], for every l ∈ IN, the NBW A l R accepts only words rejected by A -exactly all words for which there exists an odd ranking with maximal rank l.In addition, [KV01] proves that for every rejecting run dag there exists a bounded odd ranking.Below we sketch the derivation of this ranking.Given a rejecting run dag G, we inductively define a sequence of subgraphs by eliminating nodes that cannot be part of accepting runs.At odd steps we remove finite nodes, while in even steps we remove nodes that are F -free.Formally, define a sequence of subgraphs as follows: It is shown in [GKSV03,KV01] that only m = 2|Q \ F | steps are necessary to remove all nodes from a rejecting run dag: G m is empty.Nodes can be ranked by the last graph in which they appear: for every node u ∈ G, the prospective rank of u is the index i such that u ∈ G i but u ∈ G i+1 .The prospective ranking of G assigns every node its prospective rank.Paths through G cannot increase in prospective rank, and no F -node can be given an odd rank: thus the prospective ranking abides by the requirements for rankings.We call these rankings prospective because the rank of a node depends solely on its descendants.By [KV01], if G is a rejecting run dag, then the prospective ranking of G is an odd ranking bounded by m.By the above, we thus have the following. Theorem 2.1.[KV01] For every NBW A, it holds that L(A m R ) = L(A).Example 2.4.In Figure 1, nodes for states s and t are finite in G 0 .With these nodes removed, r-nodes are F -free in G 1 .Without r-nodes, q-nodes are finite in G 2 .Finally, p-nodes are F -free in G 3 .
Karmarkar and Chakraborty have derived both theoretical and practical benefits from exploiting properties of this prospective ranking: they demonstrated an unambiguous complementary automaton that, for certain classes of problems, is exponentially smaller than A m R [KC09].Tight Rankings: For an odd ranking r and l ∈ IN, let max rank (r, l) be the maximum rank that r assigns a vertex on level l of the run dag.We say that r is tight1 if there exists an i ∈ IN such that, for every level l ≥ i, all odd ranks below max rank (r, l) appear on level l.It is shown in [FKV06] that the retrospective ranking is tight.This observation suggests two improvements to A m R .First, we can postpone, in an unbounded manner, the level in which it starts to guess the level ranking.Until this point, A m R may use sets of states to deterministically track only the levels of the run dag, with no attempt to guess the ranks.Second, after this point, A m R can restrict attention to tight level rankings -ones in which all the odd ranks below the maximal rank appear.Formally, say a level ranking f with a maximum rank max rank = max{f (q) | q ∈ Q, f (q) = ⊥} is tight when, for every odd i ≤ max rank, there exists a q ∈ Q such that f (q) = i.Let R m T be the subset of R m that contains only tight level rankings.The size of R m T is at most (0.76n) n [FKV06].Including the cost of the cut-point construction, this reduces the state space of A m R to (0.96n) n .

Analyzing dags With Profiles
In this section we present an alternate formulation of the slice-based complementation construction of Kähler and Wilke [KW08].Whereas Kähler and Wilke approached the problem through reduced split trees, we derive the slice-based construction directly from an analysis of the run dag.This analysis proceeds by pruning G in two steps: the first removes edges, and the second removes vertices.
3.1.Profiles.Consider a run dag G = V, E .Let the labeling function Λ : V → {0, 1} be such that Λ( q, i ) = 1 if q ∈ F and Λ( q, i ) = 0 otherwise.Thus, Λ labels F -nodes by 1 and all other nodes by 0. The profile of a path in G is the sequence of labels of nodes in the path.The profile of a node is then the lexicographically maximal profile of all initial paths to that node.Formally, let ≤ be the lexicographic ordering on {0, Finally, the profile of a node v, written h v , is the lexicographically maximal element of {h b | b is an initial path to v}.The lexicographic order of profiles induces a preorder over nodes.
We define the sequence of preorders i over the nodes on each level of the run dag as follows.For every two nodes u and v on a level i, we have that u For convenience, we conflate nodes on the ith level of the run dag with their states when employing this preorder, and say q i r when q, i i r, i .Note that ≈ i is an equivalence relation.Since the final element of a node's profile is 1 iff the node is an F -node, all nodes in an equivalence class must agree on membership in F .We call an equivalence class an F -class when all its members are F -nodes, and a non-F -class when none of its members is an F -node.We now use profiles in order to remove from G edges that are not on lexicographically maximal paths.Let G ′ be the subgraph of G obtained by removing all edges u, v for which there is another edge u Proof.Assume by way of contradiction that h v ∈ {h u 0, h u 1}.Recall that h v is the lexicographically maximal element of {h b | b is an initial path to v}.Thus our assumption entails an initial path b to v so that Note that while it is possible for two nodes with different profiles to share a child in G, Lemma 3.1 precludes this possibility in G ′ .If two nodes join in G ′ , they must have the same profile and be in the same equivalence class.We can thus conflate nodes and equivalence classes, and for every edge (u, v) ∈ E ′ , consider [v] to be the child of [u].Lemma 3.1 then entails that the class [u] can have at most two children: the class of F -nodes with profile h u 1, and the class of non-F -nodes with profile h u 0. We call the first class the F -child of [u], and the second class the non-F -child of [u].
By using lexicographic ordering we can derive the preorder for each level i +1 of the run dag solely from the preorder for the previous level i.To determine the relation between two nodes, we need only know the relation between the parents of those nodes, and whether the nodes are F -nodes.Formally, we have the following.Lemma 3.2.For all nodes u, v on level i, and nodes u ′ , v ′ where E ′ (u, u ′ ) and E ′ (v, v ′ ): We now demonstrate that by keeping only edges associated with lexicographically maximal profiles, G ′ captures an accepting path from G.
Lemma 3.3.G ′ has an accepting path iff G has an accepting path.
Proof.In one direction, if G ′ has an accepting path, then its superset G has the same path.
In the other direction, assume G has an accepting path.Consider the set P of accepting paths in G.We prove that there is a lexicographically maximal element π ∈ P .To begin, we construct an infinite sequence, P 0 , P 1 , . .., of subsets of P such that the elements of P i are lexicographically maximal in the first i + 1 positions.If P contains paths starting in an F -node, then For convenience, define the predecessor of P i to be P if i = 0, and P i−1 otherwise.Note that since G has an accepting path, P is non-empty.Further, every set P i is not equal to its predecessor P ′ only when there is a path in P ′ with an F -node in the ith position.In this case, that path is in P i .Thus every P i is non-empty.
First, we prove that there is a path π ∈ i≥0 P i .Consider the sequence U 0 , U 1 , U 2 , . . .where U i is the set of nodes that occur at position i in runs in P i .Formally, Each node in U i+1 has a parent in U i , although it may not have a child in U i+2 .We can thus connect the nodes in i>0 U i to their parents, forming a sub-dag of G.As every P i is non-empty, every U i is non-empty, and this dag has infinitely many nodes.Since each node has at most n children, by Konig's Lemma there is an initial path π through this dag, and thus through G.We now show by induction that π ∈ P i for every i.As a base case, π ∈ P .Inductively, assume π is in the predecessor P ′ of P i .The set P i is either P ′ , in which case π ∈ P i , or the set {b | b ∈ P ′ , b i is an F -node}.In this latter case, as U i consists only of F -nodes, the node π i must be an F -node. and π ∈ P i .
Second, having established that there must be an element π ∈ i≥0 P i , we prove π is lexicographically maximal in P .Assume by way of contradiction that there exists an accepting path π ′ so that h π ′ > h π .Let k be the first point where h π ′ differs from h π .At this point, it must be that π k is not an F node, while π ′ k is an F node.However, π ′ is an accepting path that shares a profile with π up until this point.As π is in the predecessor P ′ of P k , it must also be that π ′ is in P ′ .By definition, P k then would be {b | b ∈ P ′ , b k is an F -node}.This would imply π ∈ P k , a contradiction.
Finally, we demonstrate that every edge in π occurs in G ′ .Assume by way of contradiction that some edge (π i , π i+1 ) is in E but not in E ′ .This implies there is a node u on level i such that (u, π i+1 ) is in E and π i ≺ i u.Since u ∈ G, there is an initial path b to u.Thus, the path b, u, π i+1 , π i+2 . . . is an accepting path in G.This path would be lexicographically larger than π, contradicting the second claim above.Hence, we conclude π is an accepting path in G ′ .
In the next stage, we remove from G ′ finite nodes.Let Note there may be nodes that are not finite in G, but are finite in G ′ .It is not hard to see that G may have infinitely many F -nodes and still not contain a path with infinitely many F -nodes.Indeed, G may have infinitely many paths each with finitely many F -nodes.We now show that the transition from G via G ′ to G ′′ removes this possibility, and the presence of infinitely many F -nodes in G ′′ does imply the existence of a path with infinitely many F -nodes.
Lemma 3.4.G has an accepting path iff G ′′ has infinitely many F -nodes.
Proof.If G has an accepting path, then by Lemma 3.3 the dag G ′ contains an accepting path.Every node in this path is infinite in G ′ , and thus this path is preserved in G ′′ .This path contains infinitely many F -nodes, and thus G ′′ contains infinitely many F -nodes.
In the other direction, we consider the dag over equivalence classes induced by G ′′ .Given a node u in G ′′ , recall that its equivalence class in G ′′ contains all states v such that v ∈ G ′′ and h u = h v .Given two equivalence classes U and V , recall that V is a child of U when there are u ∈ U , v ∈ V , and E ′′ (u, v).As mentioned above, once we have pruned edges not in G ′ , two nodes of different classes cannot join.Thus this dag is a tree.Further, as every node u in G ′′ is infinite and has a child, its equivalence class must also have a child.Thus the dag of classes in G ′′ is a leafless tree.The width of this tree must monotonically increase and is bounded by n.It follows that at some level j the tree reaches a stable width.We call this level j the stabilization level of G.
After the stabilization level, each class U has exactly one child: as noted above, U cannot have zero children, and if U had two children the width of the tree would increase.Therefore, we identify each equivalence class on level j of G ′′ with its unique branch of children in G ′′ , which we term its pipe.These pipes form a partition of nodes in G ′′ after j.Every node in these pipes has an ancestor, or it would not be in the dag, and has a child, or it would not be infinite and in G ′′ .Therefore each node is part of an infinite path in this pipe.Thus, the pipe with infinitely many F -classes contains only accepting paths.These paths are accepting in G, which subsumes G ′′ .
In the proof above we demonstrated there is a stabilization level j at which the number of equivalence classes in G ′′ stabilized, and discussed the pipes of G ′′ : the single chain of descendants from each equivalence class on the stabilization level j of G ′′ .
Example 3.5.Figure 2 displays G ′′ for the example of Figure 1.Edges removed from G ′ are dotted: at levels 1 and 3 where both q and r transition to r.When both r and s transition to t, they have the same profile and both edges remain.The removed edges render all but the first q-node finite in G ′ .The stabilization level is 0.

3.2.
Complementing With Profiles.We now complement A by constructing an NBW, A S , that employs Lemma 3.4 to determine if a word is in L(A).This construction is a reformulation of the slice-based approach of [KW08] in the framework of run dags: see Appendix A. The NBW A S tracks the levels of G ′ and guesses which nodes are finite in G ′ and therefore do not occur in G ′′ .To track G ′ , the automaton A S stores at each point in time a set S of states that occurs on each level.The sets S are labeled with a guess of which nodes are finite and which are infinite.States that are guessed to be infinite, and thus correspond to nodes in G ′′ , are labeled ⊤, and states that are guessed to be finite, and thus omitted from G ′′ , are labeled ⊥.In order to track the edges of G ′ , and thus maintain this labeling, A S needs to know the lexicographic order of nodes.Thus A S also maintains the preorder i over states on the corresponding level of the run dag.To enforce that states labeled ⊥ are indeed finite, A S employs the cut-point construction of Miyano and Hayashi [MH84], keeping an "obligation set" of states currently being verified as finite.Finally, to ensure the word is rejected, A S must enforce that there are finitely many F -nodes in G ′′ .
To do so, S A uses a bit b to guess the level from which no more F -nodes appear in G ′′ .After this point, F -nodes must be labeled ⊥.Before we define A S , we formalize preordered subsets and operations over them.For a set Q of states, define Q = { S, | S ⊆ Q and is a preorder over S} to be the set of preordered subsets of Q.Let S, be an element in Q.When considering the successors of a state, we want to consider edges that remain in G ′ .For every state q ∈ S and σ ∈ Σ, define ρ S, (q, σ) = {r ∈ ρ(q, σ) | for every q ′ ∈ S, if r ∈ ρ(q ′ , σ) then q ′ q}.Now define the σ-successor of S, as the tuple ρ(S, σ), ′ , where for every q, r ∈ S, q ′ ∈ ρ S, (q, σ), and r ′ ∈ ρ S, (r, σ): and either both r ′ ∈ F and q ′ ∈ F , or both r ′ ∈ F and q ′ ∈ F , then q ′ ≈ ′ r ′ .
• If q ≈ r and one of q ′ and r ′ , say r ′ , is in F while the other, q ′ , is not, then q ′ ≺ ′ r ′ .
We now define A S .The states of A S are tuples S, , λ, O, b where: S, ∈ Q is preordered subset of Q; λ : S → {⊤, ⊥} is a labeling indicating which states are guessed to be finite (⊥) or infinite (⊤); O ⊆ S is the obligation set; and b ∈ {0, 1} is a bit indicating whether we have seen the last F -node in G ′′ .To transition between states of A s , say that t ′ = S ′ , ′ , λ ′ , O ′ , b ′ follows t = S, , λ, O, b under σ when: (1) S ′ , ′ is the σ-successor of S, .
(2) λ ′ is such that for every q ∈ S: • If λ(q) = ⊤, then there exists r ∈ ρ S, (q, σ) such that λ ′ (r) = ⊤, • If λ(q) = ⊥, then for every r ∈ ρ S, (q, σ), it holds that λ ′ (r) = ⊥. ( We want to ensure that runs of A S reach a suffix where all F -nodes are finite.To this end, given a state of A S S, , λ, O, b , we say that λ is F -free if for every q ∈ S ∩ F we have λ(q) = ⊥.Definition 3.6.For an NBW A = Σ, Q, Q in , ρ, F , let A S be the NBW Σ, Q S , Q in S , ρ S , F S , where: We divide runs of A S into two parts.The prefix of a run is the initial sequence of states in which b i is 0, and the suffix is the remaining sequence states, in which b i is 1.A run without a suffix, where b stays 0 for the entire run, has no accepting states.
Theorem 3.1.For every NBW A, it holds that L(A S ) = L(A).
Proof.Consider a word w ∈ Σ ω and the run dag G.We first make the following claims about every infinite run t 0 , t 1 , . .., where (1) The states in S i are precisely {q | q, i ∈ G}.
We exploit this claim to conflate a state q in the ith state with the node q, i , and speak of states in S i being in, being finite in, and being infinite in a graph G. (2) The preorder i is the projection of onto states occurring at level i.
This follows from Lemma 3.2 and the definition of one state in A S following another.(3) For every p ∈ S i , q ∈ S i+1 , it holds that q ∈ ρ S i (p, σ i ) iff E ′ ( p, i , q, i +1 ).
This follows from the definitions of E ′ and ρ S .(4) O i is empty for infinitely many indices i iff every state labeled ⊥ is not in G ′′ .This follows from the cut-point construction of Miyano and Hayashi.
This follows from the definition of transitions between states: every ⊤-labeled state must have a ⊤-labeled child, and thus is infinite in G ′ and in G ′′ .We can now prove the theorem.In one direction, assume there is an accepting run t 0 , t 1 , . ... As this run is accepting, infinitely often O i = ∅.By 4 and 5, this implies the states in S i are correctly labeled ⊤ when and only when they occur in G ′′ .Further, for this run to be accepting we must be able to divide the run into a prefix, and suffix as specified above.In the suffix no state in F can be labeled ⊤, and thus no F -nodes occur in G ′′ past this point.As only finitely many F -nodes can occur before this point, by Lemma 3.3 G does not have an accepting path and w ∈ L(A).
In the other direction, assume w ∈ L(A).This implies there are finitely many F -nodes in G ′′ , and thus a level j where the last F -node occurs.We construct an accepting run t 0 , t 1 , . .., demonstrating along the way that we satisfy the requirements for t i+1 to be in ρ S (t i , σ i ).Given w, the sequence S 0 , 0 , S 1 , 1 , . . . of preordered subsets is uniquely defined by ρ S .There are many possible labelings λ.For every i, select λ i so that a state q ∈ S i is labeled with ⊤ when q, i ∈ G ′′ , and ⊥ when it is not.Since every node in G ′′ has a child, by 3, for every p ∈ S i where λ i (p) = ⊤, there exist a q ∈ ρ S i (p, σ i ) so that λ i+1 (q) = ⊤.Further, every node labeled ⊥ has only finitely many descendants, and so for every p ∈ S i where λ i (p) = ⊥ and q ∈ ρ S i (p, σ i ), it holds that λ i+1 (q) = ⊥.Therefore the transition from λ i to λ i+1 satisfies the requirements of ρ S .The set O 0 = ∅, and given the sets S i and labelings λ i , the sets O i+1 , i ≥ 0 are again uniquely defined by ρ S .Finally, we choose b i = 0 when i < j, and b i = 1 for i ≥ j.Since there are no F -nodes in G ′′ past j, no F -node will be labeled ⊤ and all states past j will be F -free.We have satisfied the last requirement for the transitions from every t i to t i+1 to be valid, rendering this sequence a run.By 4, infinitely often O i = ∅, including infinitely often after j, thus there are infinitely many states t i where b i = 1 and O i = ∅, and this run is accepting.
If n = |Q|, the number of preordered subsets is roughly (0.53n) n [Var80].As there are 2 n labelings, and a further 2 n obligation sets, the state space of A s is at most (2n) n .The slice-based automaton obtained in [KW08] coincides with A S , modulo the details of labeling states and the cut-point construction (see Appendix A).Whereas the correctness proof in [KW08] is given by means of reduced split trees, here we proceed directly on the run dag.

Retrospection
Consider an NBW A. So far, we presented two complementation constructions for A, generating the NBWs A m R and A S .In this section we present a third construction, generating an NBW that combines the benefits of the two constructions above.Both constructions refer to the run dag of A. In the rank-based approach applied in A m R , the ranks assigned to a node bound the visits in accepting states yet to come.Thus, the ranks refer to the future, making A m R inherently nondeterministic.On the other hand, the NBW A S refers to both the past, using profiles to prune edges from G, as well as to the future, by keeping in G ′′ only nodes that are infinite in G ′ .Guessing which nodes are infinite and labeling them ⊤ inherently introduces nondeterminism into the automaton.
Our first goal in the combined construction is to reduce this latter nondeterminism.Recall that a labeling is F -free if all the states in F are labeled ⊥.Observe that the fewer labels of ⊥ (finite nodes) we have, the more difficult it is for a labeling to be F -free and, consequently, the more difficult it is for a run of A S to proceed to the F -free suffix in which b = 1.It is therefore safe for A S to underestimate which nodes to label ⊥, as long as the requirement to reach an F -free suffix is maintained.We use this observation in order to introduce a purely retrospective construction.
For a run dag G, say that a level k is an F -finite level of G when all F -nodes after level k (i.e. on a level k ′ where k ′ > k) are finite in G ′ .By Lemma 3.4, G is rejecting iff there is a level after which G ′′ has no F -nodes.As finite nodes in G ′ are removed from G ′′ , we have: Corollary 4.1.A run dag G is rejecting iff it has an F -finite level.4.1.Retrospective Labeling.The labeling function λ used in the construction of A S labels nodes by {⊤, ⊥}, with ⊥ standing for "finite" and ⊤ standing for "infinite".In this section we introduce a variant of λ that again maps nodes to {⊤, ⊥} except that now ⊤ stands for "unrestricted", allowing us to underestimate which nodes to label ⊥.To capture the relaxed requirements on labelings, say that a labeling λ is legal when every ⊥-labeled node is finite in G ′ .This enables the automaton to track the labeling and its effect on Fnodes only after it guesses that an F -finite level k has been reached: all nodes at or before level k (i.e. on a level k ′ where k ′ ≤ k) are unrestricted, whereas F -nodes after level k and their descendants are required to be finite.The only nondeterminism in the automaton lies in guessing when the F -finite level has been reached.This reduces the branching degree of the automaton to 2, and renders it deterministic in the limit.
The suggested new labeling is parametrized by the F -finite level k.The labeling λ k is defined inductively over the levels of G. Let S i be the set of nodes on level i of G.For i ≥ 0, the function λ k : S i → {⊤, ⊥} is defined as follows: , for a node v where E ′ (v, u).For λ k to be well defined when i > k and u is not an F -node, we need to show that λ k (u) does not depend on the choice of the node v where E ′ (v, u) holds.By Lemma 3.1, all parents of a node in G ′ belong to the same equivalence class.Therefore, it suffices to prove that all nodes in the same class share a label: for all nodes u and u ′ , if u ′ ≈ |u| u then λ k (u) = λ k (u ′ ).The proof proceeds by an induction on i = |u|.Consider two nodes u and u ′ on level i where u ′ ≈ i u.As a base case, if i ≤ k, then u and u ′ are labeled ⊤.For i > k, if u is an F -node, then u ′ is also an F -node and λ k (u) = λ k (u ′ ) = ⊥.Finally, if u and u ′ are both non-F -nodes, recall that all parents of u are in the same equivalence class V .As u ≈ i u ′ , Lemma 3.1 implies that all parents of u ′ are also in V .By the induction hypothesis, all nodes in V share a label, and thus λ k (u) = λ k (u ′ ).
Lemma 4.1.For a run dag G and k ∈ IN, the labeling λ k is legal iff k is an F -finite level for G.
Proof.If λ k is legal, then every ⊥-labeled node is finite in G ′ .Every F -node after level k (i.e. on a level i where i > k) is labeled ⊥, and thus k is an F -finite level for G.If λ k is not legal, then there is a ⊥-labeled node u that is infinite in G ′ .Every ancestor of u is also infinite.Let u ′ be the earliest ancestor of u (possibly u itself) so that λ k (u ′ ) = ⊥.Observe that only nodes after level k can be ⊥-labeled, and so u ′ is on a level i > k.It must be that u ′ is an F -node: otherwise it would inherit its parents' label, and by assumption the parents of u ′ are ⊤-labeled.Thus, u ′ is an F -node after level k that is infinite in G ′ , and k is not an F -finite level for G.
Corollary 4.2.A run dag G is rejecting iff, for some k, the labeling λ k is legal.4.2.From Labelings to Rankings.In this section we derive an odd ranking for G from the function λ k , thus unifying the retrospective analysis behind λ k with the rank-based analysis of [KV01].Consider again the dag G ′ and the function λ k .Recall that every equivalence class U has at most two child equivalence classes, one F -class and one non-Fclass.After the F -finite level k, only non-F -classes can be labeled ⊤.Hence, after level k, every ⊤-labeled equivalence class U can only have a one child that is ⊤-labeled.For every class U on level k, we consider this possibly infinite sequence of ⊤-labeled non-Fchildren.The odd ranking we are going to define, termed the retrospective ranking, gives these sequences of ⊤-labeled children odd ranks.The ⊥-labeled classes, which lie between these sequences of ⊤-labeled classes, are assigned even ranks.The ranks increase in inverse lexicographic order, i.e. the maximal ⊤-labeled class in a level is given rank 1.As with λ k , the retrospective ranking is parametrized by k.The primary insight that allows this ranking is that there is no need to distinguish between two adjacent ⊥-labeled classes.Formally, we have the following.
The k-retrospective ranking of G ′ is the function r k : V → {0..m} defined for every node u on level i as follows.
Note that r k is tight.As defined in Section 2, a ranking is tight if there exists an i ∈ IN such that, for every level l ≥ i, all odd ranks below max rank (r, l) appear on level l.For r k this level is k + 1, after which each ⊤-labeled class is given the odd rank greater by two than the rank of the next lexicographically larger ⊤-labeled class.
Lemma 4.3.For every k ∈ IN, the following hold: Proof.As both claims are trivial when u is at or before level k, assume u is on level i > k.
To prove the first claim, note that α(u) ≥ α(u ′ ): every class, ⊤-labeled or not, that is larger than u ′ must also be larger than u.If α(u) > α(u ′ ), then (1) follows immediately.Otherwise α(u) = α(u ′ ), which implies that λ k (u ′ ) = ⊥: otherwise [u ′ ] would be a ⊤labeled equivalence class larger than u, but not larger than itself.Thus r k (u ′ ) = 2α(u), and As a step towards proving the second claim, we show that α(u) ≥ α(v).Consider every the contrapositive of Lemma 3.2, part 1, entails that u i u ′ .By the definition of λ k , the class [u ′ ] can only have one ⊤-labeled child class: [v ′ ].We have thus established that for every ⊤-labeled class larger than v, there is a unique ⊤-labeled class larger than u, and can conclude that α(u) ≥ α(v).We now show by contradiction that r k (u) ≥ r k (v).For r k (u) < r k (v), it must be that α(u) = α(v), that r k (u) = 2α(u), and that r k (v) = 2α(u) +1.In this case, λ k (u) = ⊥ and λ k (v) = ⊤.Since a ⊥-labeled node cannot have a ⊤-labeled child in G ′ , this is impossible.
When k is an F -finite level of G, the k-retrospective ranking is an m-bounded odd ranking.
Lemma 4.4.For a run dag G and k ∈ IN, the function r k is a ranking bounded by m.Further, if the labeling λ k is legal then r k is an odd ranking.
Proof.There are three requirements for r k to be a ranking bounded by m: (1) Every F -node must have an even rank.At or before level k, every node has rank m, which is even.After k only ⊤-labeled nodes are given odd ranks, and every F -node is labeled ⊥.
(2) For every (u, v) ∈ E, it must hold that r k (u) ≥ r k (v).If u is at or before level k, then it has the maximal rank of m.If u is after level k, we consider two cases: edges in E ′ , and edges in E \ E ′ .For edges in E ′ , this follows from Lemma 4.3 (2).For edges (u, v) ∈ E \ E ′ , we know there exists a u ′ where u The rank is bounded by m.No F -node can be ⊤-labeled.Thus the maximum number of ⊤-labeled classes on every level is |Q \F |.The largest possible rank is given to a node smaller than all ⊤-labeled classes, which must be be a F -node and ⊥-labeled.Thus, this node is given a rank of at most m = 2|Q \ F |.
It remains to show that if λ k is legal, then r k is an odd ranking.Consider an infinite path u 0 , u 1 , . . . in G.We demonstrate that for every i > k such that r k (u i ) is an even rank e, there exists i ′ > i such that r k (u i ′ ) = e.Since a path cannot increase in rank, this implies r k (u i ′ ) < e.To do so, define the sequence U i , U i+1 , . .., of sets of nodes inductively as follows.Let legal then every node given an even rank (such as e) must be finite in G ′ .Therefore every element of U i is finite in G ′ , and thus at some i ′ > i, the set U i ′ is empty.Since U i ′ is empty, to establish that r k (u i ′ ) = e, it is sufficient to prove that for every j, if r k (u j ) = e, then u j ∈ U j .
To show that r k (u j ) = e entails u j ∈ U j , we prove a stronger claim: for every j ≥ i and v on level j, if u j j v and r k (v) = e, then v ∈ U j .We proceed by induction over j.For the base case of j = i, this follows from the definition of U i .For the inductive step, take a node v on level j +1 where r k (v) = e and u j+1 j+1 v.We consider two cases.If r k (u j+1 ) = e then the path from u i to u j+1 entails that r k (u j+1 ) < e, and this case of the subclaim follows from Lemma 4.3 (1).Otherwise, it holds that r k (u j+1 ) = e, and thus r k (u j ) = e.Let u ′ and v ′ be nodes on level j so that (u ′ , u j+1 ) ∈ E ′ and (v ′ , v) ∈ E ′ .As u j+1 j+1 v, the contrapositive of Lemma 3.2, part 1, entails that u ′ j v ′ .Further, since (u ′ , u j+1 ) ∈ E ′ and (u j , u j+1 ) ∈ E, we know u j j u ′ .By transitivity we can thus conclude that u j j v ′ , which along with Lemma 4.3 (1) entails and by the inductive hypothesis v ′ ∈ U j .As E ′ (v ′ , v) holds, by definition v ∈ U j+1 , and our subclaim is proven.
The ranking of Definition 4.2 is termed retrospective as it relies on the relative lexicographic order of equivalence classes; this order is determined purely by the history of nodes in the run dag, not by looking forward to see which descendants are infinite or F -free in some subgraph of G.
Example 4.5.Figure 3 displays λ 0 and the 0-retrospective ranking of our running example.In the prospective ranking (Figure 2), the nodes for state t on levels 1 and 2 are given rank 0, like other t-nodes.In the absence of a path forcing this rank, their retrospective rank is 2.
Figure 3.The run dag G ′ , where 0 is an F -finite level.The labels of λ 0 and ranks in r 0 are displayed as superscripts and subscripts, respectively.The bold lines display the sequences of ⊤-labeled classes in G ′ .The lexicographic order of states is repeated on the right.
We are now ready to define a new construction, generating an NBW A L , which combines the benefits of the previous two constructions.The automaton A L guesses the F -finite level k, and uses level rankings to check if the k-retrospective ranking is an odd ranking.We partition the operation of A L into two stages.Until the level k, the NBW A L is in the first stage, where it deterministically tracks preordered subsets.After level k, the NBW A L moves to the second stage, where it tracks ranks.This stage is also deterministic.Consequently, the only nondeterminism in A L is indeed the guess of k.Before defining A L , we need some definitions and notations.
Recall that Q denotes the set of preordered subsets of Q, and R m T the set of tight level rankings bounded by m.We distinguish between three types of transitions of A L : transitions within the first stage, transitions from the first stage to the second, and transitions within the second stage.The first type of transition is similar to the one taken in A S , by means of the σ-successor relation between preordered subsets.Below we explain in detail the other two types of transitions.Recall that in the retrospective ranking r k , each class in G ′ labeled ⊤ by λ k is given a unique odd rank.Thus the rank of a node u depends on the number of ⊤-labeled classes larger than it, denoted α(u).
We begin with transitions where A L moves between the stages: from a preordered subset S, to a level ranking.On level k + 1, a node is labeled ⊤ iff it is a non-F -node.Thus for every q ∈ S, let β(q) = |{[v] | v ∈ S \ F, u ≺ v}| be the number of non-F -classes larger than q.We now define torank : Q → R m T .Let torank( S, ) be the tight level ranking f where for every q: We now turn to transitions within the second stage, between level rankings.The rank of a node v is inherited from its predecessor u in G ′ .However, λ k may label a finite class ⊤.If a ⊤-labeled class larger than u has no children, then α(u) ≥ α(v).In this case the rank of v decreases.Given a level ranking f , for every q ∈ Q where f (q) = ⊥, let γ(q) = |{f (q ′ ) | q ′ ∈ Q, f (q ′ ) is odd, f (q ′ ) < f (q)}| be the number of odd ranks in the range of f lower than f (q).We define the function tighten : R m → R m T .Let tighten(f ) be the tight level ranking f ′ where for every q: if f (q) = ⊥ and q ∈ F, 2γ(q) +1 if f (q) = ⊥ and q ∈ F.
Note that if f is tight, then f ′ = f , and that while tighten may merge two even ranks, it cannot merge two odd ranks.
For a level ranking f , a letter σ ∈ Σ, and q ′ ∈ Q, let pred(q ′ , σ, f ) = {q | f (q) = ⊥, q ′ ∈ ρ(q, σ)} be the predecessors of q ′ given a non-⊥ rank by f .The lowest ranked element in this set corresponds to the predecessor in G with the maximal profile.With two exceptions, q ′ will inherit this lowest rank.First, tighten might shift the rank down.Second, if q ′ is in F , it cannot be given an odd rank.For n ∈ IN, let ⌊n⌋ even be: n when n is even; and n−1 when n is odd.Define the σ-successor of f to be tighten(f ′ ) where for every q ′ ∈ Q: where in is such that for all q, r ∈ Q in , q r iff q ∈ F or r ∈ F .• ρ L (S, σ) = {S ′ } ∪ { torank(S ′ ), ∅ }, where S ′ is the σ-successor of S.
The proof of Theorem 4.3 is based on Lemmas 2.2 and 4.4 and Corollary 4.2.
Theorem 4.3.For every NBW A, it holds that L(A L ) = L(A).
Proof.Consider a word w ∈ Σ ω and the run dag G.We first make the following claims about every infinite run S 0 , 0 , . .
(1) The states in S i are precisely {q | q, i ∈ G}.This follows by the definitions of σ-successors of preordered subsets and σ-successors of level rankings.(2) The preorder i is the projection of onto states occurring at level i.
This follows from Lemma 3.2 and the definition of σ-successors.(3) For every i ≤ k, state q ∈ S i , and s ∈ S i+1 , it holds that s ∈ ρ S i , i (q, σ i ) iff E ′ ( q, i , s, i +1 ).This follows from the definitions of E ′ and ρ S i , i .(4) For every i > k and q, s ∈ S i , if f i (q) > f i (s), then q, i ≺ i s, i .
(5) For every i > k and q, s ∈ S i , if f i (s) is odd and q, i ≺ i s, i , then f i (q) > f i (s).
This and 4 are proven below.
the set P = {[v] | λ k (v) = ⊤, q, i ≺ i v}. of ⊤-labeled equivalence classes greater than Q, By the inductive hypothesis, ⌊f i (q)/2⌋ = α( q, i ) = |P |.By the definition of r k , each [v] ∈ P has a unique odd rank assigned to each of its elements.By 5, for each [v] this odd rank is smaller than f i (q).Consider the subset of P given by [v] has ⊤-labeled child class on level i +1}.Define P e = P \ P s to be the complementary set: pipes that die on level i.By 5, before the tighten operation is applied, every element of P e has a corresponding odd rank that is unoccupied on level i +1.Since q is clearly not in an element of P e , this odd rank must be less than ⌊f i (q)⌊ even .Thus the final rank assigned to s, after tighten, is either f i (q) − 2|P e | or ⌊f i (q) − 2|P e |⌋ even .In both cases ⌊f i+1 (s)/2⌋ = ⌊f i (q)/2⌋ Analysis: Like the tight-ranking construction in Section 2, the automaton A L operates in two stages.In both, the second stage is the set of tight level rankings and obligation sets.The tight-ranking construction uses sets of states in the first stage, and is bounded by the size of the second stage: (0.96n) n [FKV06].The automaton A L replaces the first stage with preordered subsets.As the number of preordered subsets is O(( n e ln 2 ) n ) ≈ (0.53n) n [Var80], the size of A L remains bounded by (0.96n) n .This can be improved to (0.76n) n : see Section 5 and [Sch09].Further, A L has a very restricted transition relation: states in the first stage only guess whether to remain in the first stage or move to the second, and have nondeterminism of degree 2. States in the second stage are deterministic.Thus the transition relation is linear in the number of states and size of the alphabet, and A L is deterministic in the limit.

Variations on A L
In this section we present two variations of A L : one based on Schewe's variant of the rankbased construction that achieves a tighter bound; and one that is amenable to Tabakov and Vardi's symbolic implementation of the rank-based construction.Schewe's construction alters the cut-point of the rank-based construction to check only one even rank at a time.Doing so drastically reduces the size of the cut-point: intuitively, we can avoid carrying the obligation set explicitly.Instead we could carry the current rank i we are checking, and add to the domain of our ranking function a single extra symbol c that indicates the state is currently being checked, and thus is of rank i.For an analysis of the resulting state space, please see [Sch09].For clarity , we do not remove the obligation set from the construction.Instead, states in this variant of the automaton carry with them the index i, and in a state f, O, i , it holds that O ⊆ {q | f (q) = i}.For a level ranking f , let mr(f ) be the largest rank in f .Note that mr(f ), for a tight ranking, is always odd.

Definition 5.1. For an NBW
Proof.Given a word w, we relate the runs of A Schewe and A L .As both automata are comprised of two internally deterministic stages, with a nondeterministic transition, each index k defines a unique run for each automaton.As the first stage of both automata are identical, and the second stage is deterministic, given a fixed k let p L = S 0 , 0 , . . ., S k , k , f k+1 , O k+1 , f k+2 , O k+2 , . . .be the run of A L on w that moves to the second stage on the kth transition, and let the corresponding run of A Schewe be . .We show that p L is accepting iff p Sch is accepting, or more precisely that p L is rejecting iff p Sch is rejecting.First, we note that the level rankings f k+1 , f k+2 , . . .and f ′ k+1 , f ′ k+2 , . . . in both automata are defined by torank( S k , k ) and the σ-successor relation, and thus for every j > k, it holds f j = f ′ j .In one direction, assume that p Sch is rejecting.This implies there is some j > k so that for every j ′ > j, O ′ j ′ is non-empty.In turn, this implies that there is a sequence q j , q j+1 , . . . of states so that, for every j ′ ≥ j, we have that q j ′ ∈ O ′ j ′ , that f j ′ (q j ′ ) = n j , and that q j ′ +1 ∈ ρ(q j ′ , w j ′ ).If there is no l > j where O l = ∅, then we have that p L is rejecting.Alternately, if there is such a l > j, then q l+1 ∈ O l+1 , and for every l ′ > l we have q l ′ ∈ O l ′ .Again, this implies p L is rejecting.
In the other direction, assume that p L is rejecting.This implies there is some j > k so that for every j ′ > j the set O j ′ is non-empty.In turn, this implies that there is an even rank i and sequence q j , q j+1 , . . . of states so that, for every j ′ ≥ j, we have that q j ′ ∈ O j ′ , that f j ′ (q j ′ ) = i, and that q j ′ +1 ∈ ρ(q j ′ , w j ′ ).We now consider the indexes n j ′ in p Sch .If there is some j ′ > j where n j ′ = i, then for every l ≥ j ′ , it will hold that q l ∈ O ′ l , and p Sch will be rejecting.Alternately, if there is no j ′ > j where n j ′ = i, then it must be that the indexes n j ′ stops cycling through the even ranks.This implies the obligation set stops emptying, and therefore that p Sch must be rejecting.
To symbolically encode a deterministic-in-the-limit automaton, we avoid storing the preorders.To encode the preorder in a BDD as a relation would require a quadratic number of variables, increasing the size unacceptably.Alternately, we could associate each state with its index in the preorder.Unfortunately, calculating the index of each state in the succeeding preorder would require a global compacting step, to remove indices that had become empty.To handle this difficulty, we simply store only the subset in the first stage, and transition to an arbitrary level ranking when we move to the second stage.This maintains determinism in the limit, and cannot result in false accepting run: we can always construct an odd ranking from the sequence of level rankings.The construction and a small example encoding are provided below.
Proof.In one direction, assume w ∈ L(A).This implies w ∈ L(A L ), and thus there exists an accepting run S 0 , 0 , . . ., S k , k , f k+1 , O k+1 , f k+2 , O k+2 , . . . of A L on w.We show that S 0 , . . ., S k , f k+1 , O k+1 , f k+2 , O k+2 , . . . is an accepting run of A Symb on w.We note that in the second stage transitions and accepting states in A Symb are identical to A L .Thus to show that this is an accepting run A Symb , we only need show that the run is valid from 0 to k + 1, By definition, S 0 = Q in is the initial state of A Symb .For every i, 0 ≤ i < k, it holds that S i+1 = ρ(S i , w i ) ∈ ρ Symb (S i , w i ).Finally, consider the transition from S k to f k+1 , O k+1 .Let S k+1 , k+1 be the σ-successor of S k , k .By definition, S k+1 = ρ(S k , w k ).By the transition relation of A L , we have f k+1 = torank( S k+1 , k+1 ) and O k+1 = ∅.By the definition of torank, for every q ∈ Q it holds that f k+1 (q) = ⊥ iff q ∈ S k+1 .Thus f k+1 , O k+1 ∈ ρ Symb (S k ), and S 0 , . . ., S k , f k+1 , O k+1 , f k+2 , O k+2 , . . . is an accepting run of A Symb on w.
In the other direction, if w ∈ L(A Symb ), there is an accepting run S 0 , . . ., S k , f k+1 , O k+1 , f k+2 , O k+2 , . . . of A Symb on w.From this run we construct an odd ranking of G, which implies w ∈ L(A).Define the ranking function r so that for every q, i ∈ G: if i ≤ k then r( q, i ) = m = 2|Q \ F |; and if i > k then r( q, i ) = f i (q).As demonstrated in the proof of Theorem 4.3, the definition of σ-successors and G implies that when i > k, it holds that f i (q) = ⊥.Similarly, by the definition of σ-successors no path in G can increase in rank under r.We conclude that r is a valid ranking function.
To demonstrate that r is an odd ranking, assume by way of contradiction that there is a path q 0 , 0 , q 1 , 1 , . . . in G that gets trapped in an even rank.Let j be the point at which this path gets trapped, or k + 1, whichever is later.If there is no j ′ > j such that O j ′ = ∅, then there is no accepting state after j, and the run would not be accepting.If there is such a j ′ , then O j ′ +1 would contain q j ′ +1 , as f j ′ +1 (q j ′ +1 ) is even.At every point j ′′ > j ′ + 1, the obligation set will contain q j ′′ , and thus there will be no accepting state after j ′ , and the run would not be accepting.However, we have that the run is accepting as a premise.Therefore no path in G gets trapped in an even rank, r is an odd ranking, and by Lemma 2.2 w ∈ L(A).
As an example, Figure 4 is the SMV encoding of the complement of a two-state automaton.

Discussion
We have unified the slice-based and rank-based approaches by phrasing the former in the language of run dags.This enables us to define and exploit a retrospective ranking, providing a deterministic-in-the-limit complementation construction that does not employ determinization.Experiments show that the more deterministic automata are, the better they perform in practice [ST03].By avoiding determinization, we reduce the cost of such a construction from (n 2 /e) n to (0.76n) n [Pit06].In addition, our transition generates a transition relation that is linear in the number of states and size of the alphabet.Schewe demonstrated how to achieve a similar linear bound on the transition relation, but the resulting relation is larger and is not deterministic in the limit [Sch09].
As shown in Section 5, the use of level rankings affords several improvements from existing research on the rank-based approach.First, the cut-point construction of Miyano and Hayashi [MH84] can be improved.Schewe's construction only checks one even rank at a time, reducing the size of the state space to (0.76n) n , only an n 2 factor from the lower bound [Sch09].As Schewe's approach does not alter the progression of the level rankings, it can be applied directly to the second stage of Definition 4.6.The resulting construction inherits the asymptotic state-space complexity of [Sch09].Second, symbolically encoding a preorder is complicated.In contrast, ranks are easily encoded, and the transition between ranks is nearly trivial to implement in SMV [TV07].By changing the states in first stage of A L from preordered subsets to simple subsets, and guessing the appropriate transition to the second stage, we obtain a symbolic representation while maintaining determinism in the limit.This approach sacrifices the linear-sized transition relation, but this is less important in a symbolic encoding.Finally, although not addressed in Section 5, the subsumption relations of Doyen and Raskin [DR09] could be applied to the second stage of Definition 4.6, while it is unclear if it could be applied at all to the slice-based construction.
From a broader perspective, we find it very interesting that the prospective and retrospective approaches are so strongly related.Odd rankings seem to be inherently "prospective," depending on the descendants of nodes in the run dag.By investigating the slicebased approach, we are able to pinpoint the dependency on the future to a single component: the F -free level.This suggests it may be possible to use odd rankings for determinization, automata with other accepting conditions, and automata on infinite trees.

Figure 1 .
Figure 1.Left, the NBW A, in which all states are initial.Right, the rejecting run dag G of A on w = babaabaaabaaaa • • • .Nodes are superscripted with the prospective ranks of Section 2.

Figure 2 .
Figure2.The run dag G ′′ , where dotted edges were removed from G and dotted states were removed from G ′ .Nodes are superscripted with their Λ-labels.Bold lines denote the pipes of G ′′ .The lexicographic order of equivalence classes for each level of G ′ is to the right.
Definition 4.2 (k-retrospective ranking).Consider a run dag G, k ∈ IN, and the labeling λ k : G → {⊤, ⊥}.Let m = 2|Q \ F |.For a node u on level i of G, let α(u) be the number of ⊤-labeled classes lexicographically larger than u; α

Figure 4 .
Figure 4.The SMV encoding of the A Symb , for the two-state automaton consisting of states p and q of Figure 1.
−|P e |.By the inductive hypothesis this is equivalent to α( q, i )−|P e | = |P |−|P e |.By the definition of P s and P e , |P | − |P e | = |P s |.By Lemma 3.1, every ⊤-labeled child of a class in P s is lexicographically larger than s, i +1 .As every ⊤-labeled child must have a unique parent in P s , we conclude that |P s | = α( s, i +1 ).