Justifications and a Reconstruction of Parity Game Solving Algorithms
JJustifications and a Reconstruction of ParityGame Solving Algorithms
Ruben Lapauw (cid:63) , Maurice Bruynooghe (cid:63)(cid:63) , and Marc Denecker (cid:63) (cid:63) (cid:63)
Abstract.
Parity games are infinite two-player games played on di-rected graphs. Parity game solvers are used in the domain of formalverification. This paper defines parametrized parity games and intro-duces an operation,
Justify , that determines a winning strategy for asingle node. By carefully ordering
Justify steps, we reconstruct threealgorithms well known from the literature.
Parity games are games played on a directed graph without leaves by two players,Even (0) and Odd (1). A node has an owner (a player) and an integer priority.A play is an infinite path in the graph where the owner of a node chooses whichoutgoing edge to follow. A play and its nodes is won by Even if the highestpriority that occurs infinitely often is even and by Odd otherwise. A paritygame is solved when the winner of every node is determined and proven.Parity games are relevant for boolean equation systems [9,18], temporal log-ics such as LTL, CTL and CTL* [14] and µ -calculus [31,14]. Many problems inthese domains can be reduced to solving a parity game. Quasi-polynomial timealgorithm for solving them exist [8,13,25]. However, all current state-of-the-artalgorithms (Zielonka’s algorithm [32], strategy-improvement [28], priority pro-motion [4,3,2] and tangle learning [29]) are exponential.We start the paper with a short description of the role of parity game solversin the domain of formal verification (Section 2). In Section 3, we recall the essen-tials of parity games and introduce parametrized parity games as a generalizationof parity games. In Section 4 we recall justifications, which we introduced in [21]to store winning strategies and to speed up algorithms. Here we introduce safejustifications and define a Justify operation and proof its properties. Next, inSection 5, we reconstruct three algorithms for solving parity games by definingdifferent orderings over
Justify operations. We conclude in Section 6.
Time logics such as LTL are used to express properties of interacting systems.Synthesis consists of extracting an implementation with the desired properties. (cid:63) [email protected] , Supported by the IWT Vlaanderen (cid:63)(cid:63) [email protected] (cid:63) (cid:63) (cid:63) [email protected] a r X i v : . [ c s . L O ] F e b ,0 b,0 c,1d,1 e,0 f,0 h,2g,1 Fig. 1: A reduced parity game. --/!eat_a,eat_b--/eat_a,!eat_b
Fig. 2: The resulting Mealymachine with two states, al-ternating ¬ eat A , eat B and eat A , ¬ eat B regardless of theinput of hungry A and hungry B .Typically, formulas in such logics are handled by reduction to other formalisms.LTL can be reduced to B¨uchi-automata [30,19], determinized with Safra’s con-struction [27], and transformed to parity games [26]. Other modal logics havesimilar reductions, CTL* can be reduced to automata [5], to µ -calculus [10], andrecently to LTL-formulae [6]. All are reducible to parity games.One of the tools that support the synthesis of implementations for such for-mulas is Strix [22,23], one of the winners of the SyntComp 2018 [16] and Synt-Comp 2019 competition. It reduces LTL formulas on the fly to parity games.A game has three possible outcomes: (i) the parity game needs further expan-sion, (ii) the machine wins the game, i.e., an implementation is feasible, (iii) theenvironment wins, i.e., no implementation exists. Strix also extracts an imple-mentation with the specified behaviour, e.g., as a Mealy machine.Consider a formula based on the well-known dining philosophers problem: G ( hungry A ⇒ F eat A ) ∧ If A is hungry, he will eventually eat G ( hungry B ⇒ F eat B ) ∧ If B is hungry, he will eventually eat G ( ¬ eat A ∨ ¬ eat B ) A and B cannot eat at the same time. (1)Here ( Gφ ) means φ holds in every future trace and ( F φ ) means φ holds in somefuture trace where a trace is a succession of states.Strix transforms the LTL-formula 1 to the parity game of Figure 1. Themachine (Even) plays in the square nodes and the environment (Odd) in thediamond nodes. By playing in state b to d , and in state f to h , Even winsevery node as 2 is then the highest priority that occurs infinitely often in everyplay. From the solution, Strix extracts a 2-state Mealy machine (Figure 2). Itsbehaviour satisfies Formula 1: both philosophers alternate eating regardless oftheir hunger. A parity game [24,12,31] is a two-player game of player 0 (Even) against 1 (Odd).We use α ∈ { , } to denote a player and ¯ α to denote its opponent. Formally,we define a parity game as a tuple PG = ( V, E, O, P r ) with V the set of nodes, E the set of possible moves represented as pairs ( v, w ) of nodes, O : V → { , } the owner function, and P r the priority function V → N mapping nodes totheir priority; ( V, E ) is also called the game graph. Each v ∈ V has at least onepossible move. We use O α to denote nodes owned by α . play (in node v ) of the parity game is an infinite sequence of nodes (cid:104) v , v , . . . , v n . . . (cid:105) where ∀ i : v i ∈ V ∧ ( v i , v i +1 ) ∈ E . We use π as a mathe-matical variable to denote a play. π ( i ) is the i -th node v i of π . In a play π , it isthe owner of the node v i that decides the move ( v i , v i +1 ). There exists plays inevery node. We call the player α = ( n mod 2) the winner of priority n . The win-ner of a play is the winner of the highest priority n through which the play passesinfinitely often. Formally: Winner ( π ) = lim i → + ∞ max { P r ( π ( j )) | j ≥ i } mod 2 . The key questions for a parity game PG are, for each node v : Who is thewinner? And how? As proven by [12], parity games are memoryless determined:every node has a unique winner and a corresponding memoryless winning strat-egy. A (memoryless) strategy for player α is a partial function σ α from a subsetof O α to V . A play π is consistent with σ α if for every v i in π belonging to thedomain of σ α , v i +1 is σ α ( v i ). A strategy σ α for player α is a winning strategy fora node v if every play in v consistent with this strategy is won by α , i.e. regard-less of the moves selected by ¯ α . As such, a game PG defines a winning function W PG : V (cid:55)→ { , } . The set W PG ,α or, when PG is clear from the context, W α denotes the set of nodes won by α . Moreover, for both players α ∈ { , } , thereexists a memoryless winning strategy σ α with domain W α ∩ O α that wins in allnodes won by α . A solution of PG consists of a function W (cid:48) : V → { , } andtwo winning strategies σ and σ , with dom ( σ α ) = W (cid:48) α ∩ O α , such that everyplay in v ∈ W (cid:48) α consistent with σ α is won by α . Solutions always exist; they maydiffer in strategy but all have W (cid:48) = W PG , the winning function of the game. Wecan say that the pair ( σ , σ ) proves that W (cid:48) = W PG .In order to have a framework in which we can discuss different algorithmsfrom the literature, we define a parametrized parity game. It consists of a paritygame PG and a parameter function P , a partial function P : V (cid:42) { , } withdomain dom ( P ) ⊆ V . Elements of dom ( P ) are called parameters, and P assignsa winner to each parameter. Plays are the same as in a PG except that everyplay that reaches a parameter v ends and is won by P ( v ). Definition 1 (Parametrized parity game).
Let PG = ( V, E, O, P r ) be aparity game and P : V (cid:42) { , } a partial function with domain dom ( P ) ⊆ V .Then ( PG , P ) is a parametrized parity game denoted PG P , with parameter set dom ( P ) . If P ( v ) = α , we call α the assigned winner of parameter v . The sets P and P denote parameter nodes with assigned winner 0 respectively 1.A play of ( PG , P ) is a sequence of nodes (cid:104) v , v , . . . (cid:105) such that for all i : if v i ∈ P α then the play halts and is won by α , otherwise v i +1 exists and ( v, v i +1 ) ∈ E . For infinite plays, the winner is as in the original parity game PG . Every parity game PG defines a class of parametrized parity games (PPG’s),one for each partial function P . The original PG corresponds to one of thesegames, namely the one without parameters ( dom ( P ) = ∅ ); every total function P : V → { , } defines a trivial PPG, with plays of length 0 and P = W PG P .A PPG PG P can be reduced to an equivalent PG G : in each parameter v ∈ dom ( P ) replace the outgoing edges with a self-loop and the priority of v with P ( v ). We now have a standard parity game G . Every infinite play ,31 b,41 c,11 d,20 e,50 f,60 Fig. 3: A parametrized parity game with nodes a, . . . , f , P = { d } and P = { a } ,and winning strategies for 0 and 1. The two parameter nodes are in bold. Squarenodes are owned by Even, diamonds by Odd. The labels inside a node are thename and priority; the label on top of a node is the winner. A bold edge belongsto a winning strategy (of the owner of its start node). A slim edge is one startingin a node that is lost by its owner. All remaining edges are dotted. a,31 b,41 c,11 d,21 e,51 f,61 Fig. 4: A parametrized parity game and strategy, after withdrawing d from theparameter list. (cid:104) v , v , . . . (cid:105) in PG P is also an infinite play in G with the same winner. Everyfinite play (cid:104) v , v , . . . , v n (cid:105) with winner P ( v n ) in PG P corresponds to an infiniteplay (cid:104) v , v , . . . , v n , v n , . . . (cid:105) with winner P ( v n ) in G . Thus, the two games areequivalent. It follows that any PPG PG P is a zero-sum game defining a win-ning function W and having memory-less winning strategies σ α with domain( W α \ P α ) ∩ O α (for α = 0 , Example 1.
Figure 3 shows a parametrized parity game and its winning strate-gies. The parameter nodes a and d are won by the assigned winners, respectively1 and 0. Player 1 owns node c and wins its priority. Hence, by playing from c to c , 1 wins in this node. Node b is owned by 0 but has only moves to nodes won by1, hence it is also won by 1. Player 0 wins node e by playing to node d ; 1 playsin node f but playing to f results in an infinite path won by 0, while playing tonode e runs into a path won by 0, so f is won by 0.Based on this PPG, we can construct a solved PPG where node d is removedfrom the parameters. The strategy is adjusted accordingly: Odd wins in d byplaying to c . However, changing the winner of d breaks the strategies and winnersof the nodes e and f . Figure 4 shows one way to obtain a solved PPG with furtheradjustments: nodes e and f are turned into parameters won by 1. Many othersolutions exist, e.g., by turning e into a parameter won by 0. Justifications
In Figure 3 and Figure 4, the solid edges form the subgraph of the game graphthat was analysed to confirm the winners of all nodes. We formalize this subgraphas a justification , a concept introduced in [15] and described below. In the restof the paper, we assume the existence of a parity game PG = ( V, E, O, P r ) anda parametrized parity game PG P = ( PG , P ) with P a parameter function withset of parameters dom ( P ). Also, we use H : V → { , } as a function describinga “hypothesis” of who is winning in the nodes. Definition 2 (Direct justification). A direct justification dj for player α towin node v is a set containing one outgoing edge of v if O ( v ) = α and all outgoingedges of v if O ( v ) = ¯ α .A direct justification dj wins v for α under hypothesis H if for all ( v, w ) ∈ dj , H ( w ) = α . We also say: α wins v by dj under H . Definition 3 (Justification). A justification J for PG is a tuple ( V, D, H ) such that ( V, D ) is a subgraph of ( V, E ) . If a node has outgoing edges in D , it is justified in J , otherwise it is unjustified . Definition 4 (Weakly winning).
A justification ( V, D, H ) is weakly winning if for all justified nodes v ∈ V the set of outgoing edges Out v is a direct justifi-cation that wins v for H ( v ) under H . We observe that any justification J = ( V, D, H ) determines a PPG PG P J where the parameter function P J is the restriction of H to unjustified nodes.If J is weakly winning, the set of edges { ( v, w ) ∈ D | O ( v ) = H ( v ) = α } is apartial function on O α , i.e., a strategy for α . We denote it as σ J,α . Proposition 1.
Assume a weakly winning justification J = ( V, D, H ) . Then,(i) For every path π in D , all nodes v on π have the same hypothetical winner H ( v ) . (ii) All finite paths π starting in node v in D are won in PG P J by H ( v ) .(iii) Every path in D with nodes hypothetically won by α is consistent with σ J,α .(iv) Every play starting in v of PG P J consistent with σ J,H ( v ) is a path in D .Proof. (i) Since any edge ( v, w ) ∈ D belongs to a direct justification that wins v for H ( v ), it holds that H ( v ) = H ( w ). It follows that every path π in D consistsof nodes with the same hypothetical winner. (ii) If path π in v is finite and endsin parameter w , then H ( v ) = H ( w ). The winner of π in PG P J is P J ( w ) which isequal to H ( v ) as H expands P J . (iii) Every path in D with hypothetical winner α , follows σ J,α when it is in a node v with owner α . (iv) Let H ( v ) = α and π be aplay in v of PG P consistent with σ J,α . We can inductively construct a path from v = v in D . It follows from (i) that the n ’th node v n has H ( v n ) = H ( v ) = α .For each non-parameter node v n , if O ( v n ) = α , then v i +1 = σ J,α ( v i ) which is in D . If O ( v n ) = ¯ α then D contains all outgoing edges from v n including the oneto v n +1 . (cid:117)(cid:116) efinition 5 (Winning). A justification J = ( V, D, H ) is winning if (i) J isweakly winning and (ii) all infinite paths (cid:104) v , v , . . . (cid:105) in D are plays of PG wonby H ( v ) . Observe that, if J is winning and H ( v ) = α , all plays in PG P J starting in v and consistent with σ ( V,D,H ) ,α are paths in ( V, D ) won by α . Hence: Theorem 1. If J = ( V, D, H ) is a winning justification for PG P J then H is W PG PJ , the winning function of PG P J , with corresponding winning strategies σ J, and σ J, . The central invariant of the algorithm presented below is that its data structure J = ( V, D, H ) is a winning justification. Thus, in every stage, H is the winningfunction of PG P J and the graph ( V, D ) comprises winning strategies σ J,α forboth players. In a sense, (
V, D ) provides a proof that H is W PG PJ . We introduce an operation that modifies a justification J = ( V, D, H ) and hencealso the underlying game PG P J . Let v be a node in V , α a player and dj eitherthe empty set or a direct justification. We define J [ v : dj, α ] as the justification J (cid:48) = ( V, D (cid:48) , H (cid:48) ) where D (cid:48) is obtained from D by replacing the outgoing edgesof v by the edges in dj , and H (cid:48) is the function obtained from H by setting H (cid:48) ( v ) := α . Modifications for a set of nodes are independent of applicationorder. E.g., J [ v : ∅ , H (cid:48) ( v ) | v ∈ S ] removes all out-going edges of v and sets H (cid:48) ( v ) for all v ∈ S . Multiple operations, like J [ v : dj, α ][ v (cid:48) : dj (cid:48) , α (cid:48) ], are appliedleft to right. Some useful instances, with their properties, are below.In the proposition, a cycle in J is a finite sequence of nodes following edgesin J that ends in its starting node. Proposition 2.
For a weakly winning justification J and a node v with directjustification dj the following holds:(i) If H ( v ) = ¯ α , v has no incoming edges and dj wins v for α under H , then J [ v : dj, α ] is weakly winning and there are no cycles in J (cid:48) with edges of dj .(ii) Let S be a set of nodes closed under incoming edges (if v ∈ S and ( w, v ) ∈ D , then w ∈ S ), let H f be an arbitrary function mapping nodes of S to players. It holds that J [ v : ∅ , H f ( v ) | v ∈ S ] is weakly winning. There are nocycles in J (cid:48) with edges of dj .(iii) If H ( v ) = α and dj wins v for α under H , then J [ v : dj, α ] is weaklywinning. There are no new cycles when ( v, v ) (cid:54)∈ dj and no w ∈ range ( dj ) canreach v in J . Otherwise new cycles pass through v and have at least one edge in dj .Proof. We exploit the fact that J and J (cid:48) are very similar.(i) The direct justification dj cannot have an edge ending in v since H ( v ) (cid:54) = H ( w ) for ( v, w ) ∈ dj and no w ∈ dj can reach v in J since v has no incomingedges, hence J (cid:48) has no cycles through dj . As J is weakly winning and H ispdated only in v , the direct justification of a justified node w (cid:54) = v in J is stillwinning in J (cid:48) . Since also dj wins v for α , J (cid:48) is weakly winning.(ii) Setting H ( v ) arbitrary cannot endanger the weak support of J (cid:48) as v hasno direct justification and no incoming edges in J (cid:48) . Hence J (cid:48) is weakly winning.Also, removing direct justifications cannot introduce new cycles.(iii) Let H ( v ) = α and dj wins v for α under H . Let J (cid:48) = J [ v : dj, α ]. Wehave H (cid:48) = H so the direct justifications of all nodes w (cid:54) = v in J (cid:48) win w for H (cid:48) ( w ). Since dj wins v for H (cid:48) ( v ), J (cid:48) is weakly winning. Also, new cycles if any,pass through dj and v . The eventual goal of a justification is to create a winning justification withoutunjustified nodes. Such a justification contains a solution for the parity gamewithout parameters. To reach this goal we start with an empty winning justifi-cation and iteratively assign a direct justification to one of the nodes.However, haphazardly (re)assigning direct justifications will violate the in-tended winning justification invariant. Three problems appear: First, changingthe hypothesis of a node may violate weakly winning for incoming edges. Theeasiest fix is to remove the direct justification of nodes with edges to this node.Yet removing direct justifications decreases the justification progress. Thus asecond problem is ensuring progress and termination despite these removals.Third, newly created cycles must be winning for the hypothesis. To solve theseproblems, we introduce safe justifications; we start with some auxiliary concepts.Let J be a justification. The set of nodes reaching v in J, including v , isclosed under incoming edges and is denoted with J ↓ v . The set of nodes reach-able from v in J , including v , is denoted with J ↑ v . We define Par J ( v ) as theparameters reachable from the node v , formally Par J ( v ) = J ↑ v ∩ dom ( P ). The justification level jl J ( v ) of a node v is the lowest priority of all its parametersand + ∞ if v has none. The justification leve l jl J ( dj ) of a direct justification dj = { ( v, w ) , . . . , ( v, w n ) } is min { jl J ( w ) , . . . , jl J ( w n ) } , the minimum of thejustification levels of the w i . We drop the subscript J when it is clear from thecontext and write Par ( v ), jl ( v ) and jl ( dj ) for the above concepts. The defaultwinner of a node v is the winner of its priority, i.e., P r ( v ) mod 2; the defaulthypothesis H d assigns default winners to all nodes, i.e., H d ( v ) = P r ( v ) mod 2. Definition 6 (Safe justification).
A justification is safe iff (i) it is a winningjustification, (ii) all unjustified nodes v have H ( v ) = H d ( v ) , that is, the winnersof the current parameters of the PPG are their default winners, and (iii) ∀ v ∈ V : jl ( v ) ≥ P r ( v ) , i.e., the justification level of a node is at least its priority. Fixing the invariants is easier for safe justifications. Indeed, for nodes w ona path to a parameter v , P r ( v ) ≥ jl ( w ) ≥ P r ( w ), so when v is given a directjustification to w then P r ( v ) is the highest priority in the created cycle and H ( v )correctly denotes its winner. Furthermore, the empty safe justification ( V, ∅ , H d )will serve as initialisation of the solving process. .3 The operation Justify To progress towards a solution, we introduce a single operation, namely
Justify .Given appropriate inputs, it can assign a direct justification to an unjustifiednode or replace the direct justification of a justified node. Furthermore, if needed,it manipulates the justification in order to restore its safety.
Definition 7 (Justify).
The operation
Justify ( J, v, dj ) is executable if – Precondition 1: J = ( V, D, H ) is a safe justification, v is a node in V , thereexists a player α who wins v by dj under H . – Precondition 2: if v is unjustified in J then jl ( dj ) ≥ jl ( v ) else jl ( dj ) > jl ( v ) .Let Justify ( J, v, dj ) be executable. If H ( v ) = α then Justify ( J, v, dj ) = J [ v : dj, H ( v )] , i.e., dj becomes the direct justification of v .If H ( v ) = ¯ α , then Justify ( J, v, dj ) = J [ w : ∅ , H d ( w ) | w ∈ J ↓ v ][ v : dj, α ] ,i.e., α wins v by dj , while all other nodes w that can reach v become unjus-tified, and their hypothetical winner H ( w ) is reset to their default winner. If Justify ( J, v, dj ) is executable, we say that v is justifiable with dj or justi-fiable for short; when performing the operation, we justify v .Observe, when Justify modifies the hypothetical winner H ( v ), then, to pre-serve weak winning, edges ( w, v ) need to be removed, which is achieved by re-moving the direct justification of w . Moreover, to preserve (iii) of safety, thisprocess must be iterated until fixpoint and to preserve (ii) of safety, the hypo-thetical winner H ( w ) of w needs to be reset to its default winner. This producesa situation satisfying all invariants. Furthermore, when Justify is applied on ajustified v , it preserves H ( v ) but it replaces v ’s direct justification by one with astrictly higher justification level. As the proof below shows, this ensures that nonew cycles are created through v so we can guarantee that all remaining cyclesstill have the correct winner. So, cycles can only be created by justifying anunjustified node. Lemma 1.
An executable operation
Justify ( J, v, dj ) returns a safe justification.Proof. Assume
Justify ( J, v, dj ) is executable, J (cid:48) = Justify ( J, v, dj ) and let α bethe player that wins v by dj . First, we prove that J (cid:48) is also a winning justification,i.e., that J (cid:48) is weakly winning and that the winner of every infinite path in J (cid:48) isthe hypothetical winner H ( w ) of the nodes w on the path.The operations applied to obtain J (cid:48) are the ones that have been analysed inProposition 2 and for which it was proven that they preserve weakly winning.Note that, in case H ( v ) = ¯ α , the intermediate justification J [ v : ∅ , H d ( v ) | v ∈ J ↓ v ] removes all incoming edges of v . Hence, J (cid:48) is weakly winning and all nodes v, w connected in J have H (cid:48) ( v ) = H (cid:48) ( w ) (*). If no edge in dj belongs to a cycle,then every infinite path (cid:104) v , v , . . . (cid:105) in J (cid:48) has an infinite tail in J starting in w (cid:54) = v which is, since J is winning, won by H ( w ). By (*), this path is won by H ( v ) = H ( w ) and J (cid:48) is winning.f J (cid:48) has cycles through edges in dj , then, by (i) of Proposition 2, H ( v ) mustbe α and we are in case (iii) of Proposition 2. We analyse the nodes n on sucha cycle. By safety of J , P r ( n ) ≤ jl J ( n ); as n reaches v in J , jl J ( n ) ≤ jl J ( v ). If v is unjustified in J then jl J ( v ) = P r ( v ) ≥ P r ( n ), hence P r ( v ) is the highestpriority on the cycle and H ( v ) wins the cycle. If v is justified in J and ( v, w ) ∈ dj is on the new cycle, then jl J ( w ) ≥ jl J ( dj ) > jl J ( v ) (Precondition 2 of Justify ).But w reaches v so jl J ( w ) ≤ jl J ( v ) , which is a contradiction.Next, we prove that J’ is a safe justification (Definition 6). (i) We just provedthat J (cid:48) is a winning justification. (ii) For all unjustified nodes v of J (cid:48) , it holdsthat H ( v ) = H d ( v ), its default winner. Indeed, J has this property and wheneverthe direct justification of a node w is removed, H (cid:48) ( w ) is set to H d ( w ).(iii) We need to prove that for all nodes w , it holds that jl J (cid:48) ( w ) ≥ P r ( w ).We distinguish between the two cases of Justify ( J, v, dj ).(a) Assume H ( v ) = α = H (cid:48) ( v ) and J (cid:48) = J [ v : dj, H ( v )] and let w be anarbitrary node of V . If w cannot reach v in J (cid:48) , the parameters that w reachesin J and J (cid:48) are the same and it follows that jl J (cid:48) ( w ) = jl J ( w ) ≥ P r ( w ). So,(iii) holds for w . Otherwise, if w reaches v in J (cid:48) , then w reaches v in J and anyparameter x that w reaches in J (cid:48) is a parameter that w reaches in J or one thatan element of dj reaches in J . It follows that jl J (cid:48) ( w ) is at least the minimum of jl J ( w ) and jl J ( dj ). As w reaches v in J , jl J ( w ) ≤ jl J ( v ). Also, by Precondition2 of Justify , jl J ( v ) ≤ jl J ( dj ). It follows that jl J (cid:48) ( w ) ≥ jl J ( w ) ≥ P r ( w ). Thus,(iii) holds for w .(b) Assume H (cid:48) ( v ) (cid:54) = H ( v ) = ¯ α and J (cid:48) = J [ w : ∅ , H d ( w ) | w ∈ J ↓ v ][ v : dj, α ] then for nodes w that cannot reach v in J , Par J (cid:48) ( w ) = Par J ( w ) hence jl J (cid:48) ( w ) = jl J ( w ) ≥ P r ( w ) and (iii) holds for w . All nodes w (cid:54) = v that can reach v in J are reset, hence jl J (cid:48) ( w ) = P r ( w ) and (iii) holds. As for v , by construction jl J (cid:48) ( v ) = jl J ( dj ) ≥ jl J ( v ); also jl J ( v ) ≥ P r ( v ) hence (iii) also holds. (cid:117)(cid:116) Lemma 2.
Let J be a safe justification for a parametrized parity game. Unless J defines the parametrized parity game P G ∅ = PG , there exists a node v justifiablewith a direct justification dj , i.e., such that Justify ( J, v, dj ) is executable.Proof. If J defines the parametrized parity game P G ∅ then all nodes are justifiedand J is a solution for the original PG . Otherwise let p be the minimal priorityof all unjustified nodes, and v an arbitrary unjustified node of priority p andlet its owner be α . Then either v has an outgoing edge ( v, w ) to a node w with H ( w ) = α , thus a winning direct justification for α , or all outgoing edges areto nodes w for which H ( w ) = ¯ α , thus v has a winning direct justification for¯ α . In both cases, this direct justification dj has a justification level larger orequal to p since no parameter with a smaller priority exist, so Justify ( J, v, dj )is executable. (cid:117)(cid:116)
To show progress and termination, we need an order over justifications.
Definition 8 (Justification size and order over justifications).
Let , . . . , n be the range of the priority function of a parity game P G ( + ∞ > n ) and J a winning justification for a parametrized parity game extending P G . The size ,31 b,41 c,11 d,20 e,50 f,60a,31 b,41 c,11 d,20 e,50 f,60
Fig. 5: Above, in solid line the edges of the justification graph of the winningbut unsafe justification of Figure 3 and below the result of justifying node a , anon-winning justification. of J , s ( J ) is the tuple ( s + ∞ ( J ) , s n ( J ) , . . . s ( J )) where for i ∈ { , . . . , n, + ∞} , s i ( J ) is the number of justified nodes with justification level i .The order over justifications is the lexicographic order over their size: with i the highest index such that s i ( J ) (cid:54) = s i ( J (cid:48) ) , we have J > s J (cid:48) iff s i ( J ) > s i ( J (cid:48) ) . The order over justifications is a total order which is bounded as Σ i s i ( J ) ≤ | V | . Example 2.
Let us revisit Example 1. The winning justification J of Figure 3 isshown at the top of Figure 5. For the justified nodes of J , we have jl ( b ) = 3, jl ( c ) = + ∞ , jl ( e ) = 2 and jl ( f ) = 2. The justification is not safe as, e.g., jl ( b ) =3 < P r ( b ) = 4. Both unjustified nodes a and d have a winning direct justification,the direct justification { ( a, b ) } wins a for player 1 and the direct justification { ( d, c ) } wins d for 1. The figure at the bottom shows the justification resultingfrom inserting the direct justification winning a . There is now an infinite path (cid:104) a, b, a, b, . . . (cid:105) won by Even but with nodes with hypothetical winner Odd. Thejustification Justify ( J, a, { ( a, b ) } ) is not winning. This shows that condition (iii)of safety of J is a necessary precondition for maintaining the desired invariants. Lemma 3.
Let J be a safe justification with size s J , v a node justifiable with dj and J (cid:48) = Justify ( J, v, dj ) a justification with size s J (cid:48) . Then s J (cid:48) > s J .Proof. In case v is unjustified in J and is assigned a dj that wins v for H ( v ), v is not counted for the size of J but is counted for the size of J (cid:48) . Moreover, othernodes keep their justification level (if they cannot reach v in J ) or may increasetheir justification level (if they can reach v in J ). In any case, s J (cid:48) > s J .In case v is justified in J and is assigned a dj that wins v for H ( v ), then jl J ( dj ) > jl J ( v ), so jl (cid:48) J ( v ) > jl J ( v ). Other nodes keep their justification levelor, if they reach v , may increase their justification level. Again, s J (cid:48) > s J .Finally, the case where dj wins v for the opponent of H ( v ). Nodes can bereset; these nodes w have jl J ( w ) ≤ P r ( v ). As a node cannot have a winningdirect justification for both players, v is unjustified in J . Hence, by precondition(2) of Justify , jl J ( dj ) ≥ P r ( v ). In fact, it holds that jl J ( dj ) > P r ( v ). Indeed, ifsome w ∈ dj would have a path to a parameter of v ’s priority, that path woulde won by H d ( v ) = H ( v ) while H ( w ) is its opponent. Thus, the highest index i where s i changes is jl J ( dj ), and s i increases. Hence, s J (cid:48) > s J . (cid:117)(cid:116) Theorem 2.
Any iteration of
Justify steps from a safe justification, in partic-ular from ( V, ∅ , H d ) , with H d the default hypothesis, eventually solves PG .Proof. By induction: Let PG = ( V, E, O, P r ) be a parity game. Clearly, theempty justification J = ( V, ∅ , H d ) is a safe justification. This is the base case.Induction step: Let J i be the safe justification after i successful Justify stepsand assume that J i = ( V, D i , H i ) contains an unjustified node. By Lemma 2,there exists a pair v and dj such that v is justifiable with dj . For any pair v and dj such that Justify ( J i , v, dj ) is executable, let J i +1 = Justify ( J i , v, dj ). ByLemma 1, J i +1 is a safe justification. By Lemma 3, there is a strict increase insize, i.e., s ( J i +1 ) > s ( J i ).Since the number of different sizes is bounded, this eventually produces asafe J k = ( V, D k , H k ) without unjustified nodes. The parametrized parity game PG P Jk determined by J k is PG . Hence, H k is the winning function of PG , and J k comprises winning strategies for both players. (cid:117)(cid:116) Theorem 2 gives a basic algorithm to solve parity games. The algorithm hasthree features: it is (1) simple, (2) nondeterministic , and (3) in successive stepsit may arbitrarily switch between different priority levels. Hence, by imposingdifferent strategies, different instantiations of the algorithm are obtained.Existing algorithms differ in the order in which they (implicitly) justify nodes.In the next section we simulate such algorithms by different strategies for select-ing nodes to be justified. Another difference between algorithms is in computingthe set R of nodes that is reset when dj wins v for the opponent of H ( v ). Somealgorithms reset more nodes; the largest reset set for which the proofs in thispaper remain valid is { w ∈ V | jl ( w ) < jl ( dj ) } . To the best of our knowledge,the only algorithms that reset as few nodes as Justify ( J, v, dj ) are the oneswe presented in [21]. As the experiments presented there show, the work savedacross iterations by using justifications results in better performance.
In this section, by ordering justification steps, we obtain basic versions of differ-ent algorithms known from the literature. In our versions, we represent the paritygame G as ( V, E, O, P r ) and the justification J as (
V, D, H ). All algorithms startwith the safe empty justification ( V, ∅ , H d ). The recursive algorithms operate ona subgame SG determined by a set of nodes V SG . This subgame determines theselection of Justify ( J, v, dj ) steps that are performed on G . For convenience ofpresentation, G is considered as a global constant. Nested fixpoint iteration [7,11,21] is one of the earliest algorithms ableto solve parity games. In Algorithm 1, we show a basic form that makes use
Fn Fixpoint ( G ) : J ← ( V, ∅ , H d ) the initial safejustification while J has unjustified nodes do p ← min { P r ( v ) | v is unjustified } v ← an unjustified nodewith P r ( v ) = p dj ← a winning directjustification for v under H J ← Justify ( J, v, dj ) return J Algorithm 1:
A fixpoint algo-rithm for justifying nodes input:
A parity game G J ← Zielonka (( V, ∅ , H d ) , V ) Fn Zielonka ( J, V SG ) : p ← max { P r ( v ) | v ∈ V SG } α ← p mod 2 while true do while ∃ v ∈ V SG , dj : v isunjustified, v is justifiable with dj for α with jl ( dj ) ≥ p do J ← Justify ( J, v, dj ) V SSG ←{ v ∈ V SG | P r ( v ) < p, v is unjustified } if V SSG = ∅ then return J ; J ← Zielonka ( J, V
SSG ) while ∃ v ∈ V SG , dj : v isunjustified, v is justifiable with dj for ¯ α with jl ( dj ) ≥ p + 1 do J ← Justify ( J, v, dj ) Algorithm 2: A Justify variant ofZielonka’s algorithm.of our
Justify ( J, v, dj ) action. It starts from the initial justification ( V, ∅ , H d ).Iteratively, it determines the lowest priority p over all unjustified nodes, it selectsa node v of this priority and justifies it. Recall from the proof of Lemma 2, thatall unjustified nodes of this priority are justifiable. Eventually, all nodes arejustified and a solution is obtained. For more background on nested fixpointalgorithms and the effect of justifications on the performance, we refer to ourwork in [21].A feature of nested fixpoint iteration is that it solves a parity game bottomup . It may take many iterations before it uncovers that the current hypothesisof some high priority unjustified node v is, in fact, wrong and so that playing to v is a bad strategy for α . The next algorithms are top down , they start out fromnodes with the highest priority. Zielonka’s algorithm [32], one of the oldest algorithms, is recursive and startswith a greedy computation of a set of nodes, called attracted nodes, in which thewinner α of the top priority p has a strategy to force playing to nodes of toppriority p . In our reconstruction, Algorithm 2, attracting nodes is simulated atLine 6 by repeatedly justifying nodes v with a direct justification that wins v for α and has a justification level ≥ p . Observe that the while test ensures thatthe preconditions of Justify ( J, v, dj ) on the justification level of v are satisfied.Also, every node can be justified at most once.The procedure is called with a set V SG of nodes of maximal level p thatcannot be attracted by levels > p . It follows that the subgraph determined by V SG contains for each of its nodes an outgoing edge (otherwise the opponent ofthe owner of the node would have attracted the node at a level > p ) , hence thisubgraph determines a parity game. The main loop invariants are that (1) thejustification J is safe; (2) the justification level of all justified nodes is ≥ p and(3) ¯ α has no direct justifications of justification level > p to win an unjustifiednode in V SG . The initial justification is safe and it remains so as every Justify call satisfies the preconditions.After the attraction loop at Line 6, no more unjustified nodes of V SG can beattracted to level p for player α . Then, the set of V SSG of unjustified nodes ofpriority < p is determined. If this set is empty, then by Lemma 2 all unjustifiednodes of priority p are justifiable with a direct justification dj with jl ( dj ) ≥ p ,hence they would be attracted to some level ≥ p which is impossible. Thus,there are no unjustified nodes of priority p . In this case, the returned justifica-tion J justifies all elements of V SG . Else, V SSG is passed in a recursive call tojustify all its nodes. Upon return, if ¯ α was winning some nodes in V SSG , theirjustification level will be ≥ p + 1. Now it is possible that some unjustified nodesof priority p can be won by ¯ α and this may be the start of a cascade of resetsand attractions for ¯ α . The purpose of Line 12 is to attract nodes of V SG for ¯ α .Note that Justify ( J, v, dj ) resets all nodes that depend on nodes that switch to¯ α . When the justification returned by the recursive call shows that α wins allnodes of V SSG , the yet unjustified nodes of V SG are of priority p , are justifiableby Lemma 2 and can be won only by α . So, at the next iteration, the call to Attr α will justify all of them for α and V SSG will be empty. Eventually the initialcall of Line 1 finishes with a safe justification in which all nodes are justified thussolving the game G .Whereas fixpoint iteration first justifies low priority nodes resulting in lowjustification levels, Zielonka’s algorithm first justifies nodes attracted to the high-est priority. Compared to fixpoint iteration, this results in large improvements injustification size which might explain its better performance. However, Zielonka’salgorithm still disregards certain opportunities for increasing justification size asit proceeds by priority level, only returning to level p when all sub-problems atlevel < p are completely solved. Indeed, some nodes computed at a low level i << p may have a very high justification level, even + ∞ and might be useful torevise false hypotheses at high levels, saving much work, but this is not exploited.The next algorithm, priority promotion, overcomes this limitation. Priority promotion [3,2,4] follows the strategy of Zielonka’s algorithm exceptthat, when it detects that all nodes for priority p are justified, it does not makea recursive call but returns the set of nodes attracted to priority p nodes as aset R p to a previous level q . There R p is added to the attraction set at level q and the attraction process is restarted. In the terminology of [3], the set R p is a closed p -region that is promoted to level q . A closed p -region of V SG , withmaximal priority p , is a subset R p ⊆ V SG that includes all nodes of V SG withpriority p and for which α = p mod 2 has a strategy winning all infinite plays in R p and for which ¯ α cannot escape from R p unless to nodes of higher q -regionswon by α . We call the latter nodes the escape nodes from R p denote the set ofthem as Escape ( R p ). The level to which R p is promoted is the lowest q -region nput: A parity game G J ← ( V, ∅ , H d ) while ∃ v ∈ V G : v is unjustified do R + ∞ ← { v | jl ( v ) = + ∞} V SG ← V \ R + ∞ ( J, , ) ← Promote ( V SG , J ) while ∃ v ∈ V SG , dj : v isjustifiable with dj and jl ( dj ) = + ∞ do J ← Justify ( J, v, dj ) Algorithm 3:
A variant of pri-ority promotion using
Justify . Fn Promote ( V SG , J ) : p ← max { P r ( v ) | v ∈ V SG } α ← p mod 2 while true do while ∃ v ∈ V SG , dj : v is unjustifiedor jl ( v ) < p , v is justifiable with dj for α with jl ( dj ) ≥ p do J ← Justify ( J, v, dj ) R p ← { v ∈ V SG | jl ( v ) ≥ p } if Closed ( R p , V SG ) then l ← min { q | R q contains an escapenode of R p } return ( J, R p , l ) V SSG ← V SG \ R p ( J, R p (cid:48) , l ) ← Promote ( V SSG , J ) if l > p then return ( J, R p (cid:48) , l ) that contains an escape node from R p . It is easy to show that q is a lower boundof the justification level of R p . In absence of escape nodes, R p is promoted to+ ∞ .Our variant of priority promotion (PPJ) is in Algorithm 3. Whereas Zielonka returned a complete solution J on V SG , Promote returns only a partial J on V SG ; some nodes of V SG may have an unfinished justification ( jl ( v ) < + ∞ ).To deal with this, Promote is iterated in a while loop that continues as longas there are unjustified nodes. Upon return of
Promote , all nodes attractedto the returned + ∞ -region are justified. In the next iteration, all nodes withjustification level + ∞ are removed from the game, permanently. Note that whenpromoting to some q -region, justified nodes of justification level < q can remain.A substantial gain can be obtained compared to the original priority promotionalgorithm which does not maintain justifications and loses all work stored in J .By invariant, the function Promote is called with a set of nodes V SG thatcannot be justified with a direct justification of level larger than the maximalpriority p . The function starts its main loop by attracting nodes for level p .The attraction process is identical to Zielonka’s algorithm except that leftoverjustified nodes v with jl ( v ) < p may be rejustified. As before, the safety of J ispreserved. Then R p consists of elements of V SG with justification level ≥ p . Itis tested ( Closed ) whether R p is a closed p -region. This is provably the case ifall nodes of priority p are justified. If so, J , R p and its minimal escape level arereturned. If not, the game proceeds as in Zielonka’s algorithm and the game issolved for the nodes not in R p which have strictly lower justification level. Sooneror later, a closed region will be obtained. Indeed, at some point, a subgame isentered in which all nodes have the same priority p . All nodes are justifiable(Lemma 2) and the resulting region is closed. Upon return from the recursivecall, it is checked whether the returned region ( R p (cid:48) ) promotes to the currentevel p . If not, the function exits as well (Line 14). Otherwise a new iterationstarts with attracting nodes of justification level p for α . Note that contrary toZielonka’s algorithm, there is no attraction step for ¯ α : attracting for ¯ α at p isthe same as attracting for α (cid:48) = ¯ α at p (cid:48) = p + 1. Discussion
Our versions of Zielonka’s algorithm and priority promotion usethe justification level to decide which nodes to attract. While maintaining justi-fication levels can be costly, in these algorithms, it can be replaced by selectingnodes that are “forced to play” to a particular set of nodes (or to an alreadyattracted node). In the first attraction loop of
Zielonka , the set is initialisedwith all nodes of priority p , in the second attraction loop, with the nodes wonby ¯ α ; In Promote , the initial set consists also of the nodes of priority p .Observe that the recursive algorithms implement a strategy to reach as soonas possible the justification level + ∞ for a group of nodes (the nodes won by theopponent in the outer call of Zielonka , the return of a closed region —for anyof the players— to the outer level in
Promote ). When achieved, a large jumpin justification size follows. This may explain why these algorithms outperformfixpoint iteration.Comparing our priority promotion algorithm (PPJ) to other variants, we seea large overlap with region recovery (RR) [2] both algorithms avoid resettingnodes of lower regions. However, RR always resets the full region, while PPJ canreset only a part of a region, hence can save more previous work. Conversely,PPJ eagerly resets nodes while RR only validates the regions before use, so it canrecover a region when the reset escape node is easily re-attracted. The equivalentjustification of such a state is winning but unsafe, thus unreachable by applying
Justify ( J, v, dj ). However, one likely can define a variant of
Justify ( J, v, dj )that can reconstruct RR. Delayed priority promotion [4] is another variant whichprioritises the best promotion over the first promotion and, likely, can be directlyreconstructed.Tangle learning [29] is another state of the art algorithm that we have stud-ied. Space restrictions disallow us to go in details. We refer to [21] for a version oftangle learning with justifications. For a more formal analysis, we refer to [20]).Interestingly, the updates of the justification in the nodes of a tangle cannotbe modelled with a sequence of safe
Justify ( J, v, dj ) steps. One needs an al-ternative with a precondition on the set of nodes in a tangle. Similarly as for
Justify ( J, v, dj ), it is proven in [20] that the resulting justification is safe andlarger than the initial one.Justification are not only a way to explicitly model (evolving) winning strate-gies, they can also speed up algorithms. We have implemented justification vari-ants of the nested fixpoint algorithm, Zielonka’s algorithm, priority promotion,and tangle learning. For the experimental results we refer to [21,20].Note that the data structure used to implement the justification graph mat-ters. Following an idea of Benerecetti et al.[3], our implementations use a singlefield to represent the direct justification of a node; it holds either a single node,or null to represent the set of all outgoing nodes. To compute the reset set R of node, we found two efficient methods to encode the graph J : (i) iterate overall incoming nodes in E and test if their justification contains v , (ii) store forevery node a hash set of every dependent node. On average, the first approachis better, while the second is more efficient for sparse graphs but worse for densegraphs. This paper explored the use of justifications in parity game solving. First, wegeneralized parity games by adding parameter nodes. When a play reaches aparameter it stops in favour of one player. Next, we introduced justificationsand proved that a winning justification contains the solution of the parametrizedparity game. Then, we introduced safe justifications and a
Justify operationand proved that a parity game can be solved by a sequence of
Justify steps. A
Justify operation can be applied on a node satisfying its preconditions, it assignsa winning direct justification to the node, resets —if needed— other nodes asparameters, preserves safety of the justification, and ensures the progress of thesolving process.To illustrate the power of
Justify , we reconstructed three algorithms: nestedfixpoint iteration, Zielonka’s algorithm and priority promotion by ordering appli-cable
Justify operations differently. Nested fixpoint induction prefers operationson nodes with the lowest priorities; Zielonka’s algorithm starts on nodes withthe maximal priority and recursively descends; priority promotion improves uponZielonka with an early exit on detection of a closed region (a solved subgame).A distinguishing feature of a justification based algorithm is that it makes ac-tive use of the partial strategies of both players. While other algorithms, such asregion recovery and tangle learning, use the constructed partial strategies whilesolving the parity game, we do not consider them justification based algorithms.For region recovery, the generated states are not always weakly winning, whiletangle learning applies the partial strategies for different purposes. As shown in[21] where justifications improve tangle learning, combining different techniquescan further improve parity game algorithms.Interesting future research includes: (i) exploring the possible role of jus-tifications in the quasi-polynomial algorithm of Parys [25], (ii) analysing thesimilarity between small progress measures algorithms [13,17] and justificationlevel, (iii) analysing whether the increase in justification size is a useful guidefor selecting the most promising justifiable nodes, (iv) proving the worst-casetime complexity by analysing the length of the longest path in the lattice ofjustification states where states are connected by
Justify ( J, v, dj ) steps.
References
1. Benerecetti, M., Dell’Erba, D., Mogavero, F.: A delayed promotion policy for paritygames. In: Cantone, D., Delzanno, G. (eds.) Proceedings of the Seventh Interna-tional Symposium on Games, Automata, Logics and Formal Verification, GandALF016, Catania, Italy, 14-16 September 2016. EPTCS, vol. 226, pp. 30–45 (2016).https://doi.org/10.4204/EPTCS.226.32. Benerecetti, M., Dell’Erba, D., Mogavero, F.: Improving priority promotion forparity games. In: Bloem, R., Arbel, E. (eds.) Hardware and Software: Verificationand Testing - 12th International Haifa Verification Conference, HVC 2016, Haifa,Israel, November 14-17, 2016, Proceedings. Lecture Notes in Computer Science,vol. 10028, pp. 117–133 (2016). https://doi.org/10.1007/978-3-319-49052-6 83. Benerecetti, M., Dell’Erba, D., Mogavero, F.: Solving parity games via prioritypromotion. In: Chaudhuri, S., Farzan, A. (eds.) Computer Aided Verification -28th International Conference, CAV 2016, Toronto, ON, Canada, July 17-23, 2016,Proceedings, Part II. Lecture Notes in Computer Science, vol. 9780, pp. 270–290.Springer (2016). https://doi.org/10.1007/978-3-319-41540-6 154. Benerecetti, M., Dell’Erba, D., Mogavero, F.: A delayed promotion policy for paritygames. Inf. Comput. , 221–240 (2018). https://doi.org/10.1016/j.ic.2018.09.0055. Bernholtz, O., Vardi, M.Y., Wolper, P.: An automata-theoretic approach tobranching-time model checking (extended abstract). In: Dill, D.L. (ed.) ComputerAided Verification, 6th International Conference, CAV ’94, Stanford, California,USA, June 21-23, 1994, Proceedings. Lecture Notes in Computer Science, vol. 818,pp. 142–155. Springer (1994). https://doi.org/10.1007/3-540-58179-0 506. Bloem, R., Schewe, S., Khalimov, A.: CTL* synthesis via LTL synthesis. In: Fis-man, D., Jacobs, S. (eds.) Proceedings Sixth Workshop on Synthesis, SYNT@CAV2017, Heidelberg, Germany, 22nd July 2017. EPTCS, vol. 260, pp. 4–22 (2017).https://doi.org/10.4204/EPTCS.260.47. Bruse, F., Falk, M., Lange, M.: The fixpoint-iteration algorithm for paritygames. In: Peron, A., Piazza, C. (eds.) Proceedings Fifth International Sym-posium on Games, Automata, Logics and Formal Verification, GandALF 2014,Verona, Italy, September 10-12, 2014. EPTCS, vol. 161, pp. 116–130 (2014).https://doi.org/10.4204/EPTCS.161.128. Calude, C.S., Jain, S., Khoussainov, B., Li, W., Stephan, F.: Deciding parity gamesin quasipolynomial time. In: Hatami, H., McKenzie, P., King, V. (eds.) Proceed-ings of the 49th Annual ACM SIGACT Symposium on Theory of Computing,STOC 2017, Montreal, QC, Canada, June 19-23, 2017. pp. 252–263. ACM (2017).https://doi.org/10.1145/3055399.30554099. Cranen, S., Groote, J.F., Keiren, J.J.A., Stappers, F.P.M., de Vink, E.P., Wes-selink, W., Willemse, T.A.C.: An overview of the mCRL2 toolset and its recentadvances. In: Piterman, N., Smolka, S.A. (eds.) Tools and Algorithms for the Con-struction and Analysis of Systems. pp. 199–213. Springer Berlin Heidelberg, Berlin,Heidelberg (2013). https://doi.org/10.1007/978-3-642-36742-7 1510. Cranen, S., Groote, J.F., Reniers, M.A.: A linear translation from CTL* to thefirst-order modal µ -calculus. Theor. Comput. Sci. (28), 3129–3139 (2011).https://doi.org/10.1016/j.tcs.2011.02.03411. van Dijk, T., Rubbens, B.: Simple fixpoint iteration to solve parity games.In: Leroux, J., Raskin, J. (eds.) Proceedings Tenth International Symposiumon Games, Automata, Logics, and Formal Verification, GandALF 2019, Bor-deaux, France, 2-3rd September 2019. EPTCS, vol. 305, pp. 123–139 (2019).https://doi.org/10.4204/EPTCS.305.912. Emerson, E.A., Jutla, C.S.: Tree automata, mu-calculus and determinacy (ex-tended abstract). In: 32nd Annual Symposium on Foundations of Computer Sci-ence, San Juan, Puerto Rico, 1-4 October 1991. pp. 368–377. IEEE ComputerSociety (1991). https://doi.org/10.1109/SFCS.1991.1853923. Fearnley, J., Jain, S., Schewe, S., Stephan, F., Wojtczak, D.: An ordered approachto solving parity games in quasi polynomial time and quasi linear space. In: Erdog-mus, H., Havelund, K. (eds.) Proceedings of the 24th ACM SIGSOFT InternationalSPIN Symposium on Model Checking of Software, Santa Barbara, CA, USA, July10-14, 2017. pp. 112–121. ACM (2017). https://doi.org/10.1145/3092282.309228614. Gr¨adel, E., Thomas, W., Wilke, T. (eds.): Automata, Logics, and InfiniteGames: A Guide to Current Research [outcome of a Dagstuhl seminar, Febru-ary 2001], Lecture Notes in Computer Science, vol. 2500. Springer (2002).https://doi.org/10.1007/3-540-36387-415. Hou, P., Cat, B.D., Denecker, M.: FO(FD): extending classical logicwith rule-based fixpoint definitions. TPLP (4-6), 581–596 (2010).https://doi.org/10.1017/S147106841000029316. Jacobs, S., Bloem, R., Colange, M., Faymonville, P., Finkbeiner, B., Khalimov,A., Klein, F., Luttenberger, M., Meyer, P.J., Michaud, T., Sakr, M., Sickert, S.,Tentrup, L., Walker, A.: The 5th reactive synthesis competition (SYNTCOMP2018): Benchmarks, participants & results. CoRR (2019), http://arxiv.org/abs/1904.07736
17. Jurdzinski, M.: Small progress measures for solving parity games. In: Re-ichel, H., Tison, S. (eds.) STACS 2000, 17th Annual Symposium on Theoret-ical Aspects of Computer Science, Lille, France, February 2000, Proceedings.Lecture Notes in Computer Science, vol. 1770, pp. 290–301. Springer (2000).https://doi.org/10.1007/3-540-46541-3 2418. Kant, G., van de Pol, J.: Efficient instantiation of parameterised boolean equa-tion systems to parity games. In: Wijs, A., Bosnacki, D., Edelkamp, S. (eds.)Proceedings First Workshop on GRAPH Inspection and Traversal Engineering,GRAPHITE 2012, Tallinn, Estonia, 1st April 2012. EPTCS, vol. 99, pp. 50–65(2012). https://doi.org/10.4204/EPTCS.99.719. Kesten, Y., Manna, Z., McGuire, H., Pnueli, A.: A decision algorithm for fullpropositional temporal logic. In: Courcoubetis, C. (ed.) Computer Aided Verifi-cation, 5th International Conference, CAV ’93, Elounda, Greece, June 28 - July1, 1993, Proceedings. Lecture Notes in Computer Science, vol. 697, pp. 97–109.Springer (1993). https://doi.org/10.1007/3-540-56922-7 920. Lapauw, R.: Reconstructing and Improving Parity Game Solvers with Justifica-tions. Ph.D. thesis, Department of Computer Science, KU Leuven, Leuven, Bel-gium (2021), [To appear]21. Lapauw, R., Bruynooghe, M., Denecker, M.: Improving parity game solvers withjustifications. In: Beyer, D., Zufferey, D. (eds.) Verification, Model Checking, andAbstract Interpretation - 21st International Conference, VMCAI 2020, New Or-leans, LA, USA, January 16-21, 2020, Proceedings. Lecture Notes in ComputerScience, vol. 11990, pp. 449–470. Springer (2020). https://doi.org/10.1007/978-3-030-39322-9 2122. Luttenberger, M., Meyer, P.J., Sickert, S.: Practical synthesis of reactive sys-tems from LTL specifications via parity games. Acta Inf. (1), 3–36 (2020).https://doi.org/10.1007/s00236-019-00349-323. Meyer, P.J., Sickert, S., Luttenberger, M.: Strix: Explicit reactive synthesis strikesback! In: Chockler, H., Weissenbacher, G. (eds.) Computer Aided Verification -30th International Conference, CAV 2018, Held as Part of the Federated LogicConference, FloC 2018, Oxford, UK, July 14-17, 2018, Proceedings, Part I.Lecture Notes in Computer Science, vol. 10981, pp. 578–586. Springer (2018).https://doi.org/10.1007/978-3-319-96145-3 314. Mostowski, A.: Games with forbidden positions. University of Gdansk, Gdansk.Tech. rep., Poland, Tech. Rep (1991)25. Parys, P.: Parity games: Zielonka’s algorithm in quasi-polynomial time. In: Ross-manith, P., Heggernes, P., Katoen, J. (eds.) 44th International Symposium onMathematical Foundations of Computer Science, MFCS 2019, August 26-30, 2019,Aachen, Germany. LIPIcs, vol. 138, pp. 10:1–10:13. Schloss Dagstuhl - Leibniz-Zentrum f¨ur Informatik (2019). https://doi.org/10.4230/LIPIcs.MFCS.2019.1026. Piterman, N.: From nondeterministic buchi and streett automata to deterministicparity automata. In: 21th IEEE Symposium on Logic in Computer Science (LICS2006), 12-15 August 2006, Seattle, WA, USA, Proceedings. pp. 255–264. IEEEComputer Society (2006). https://doi.org/10.1109/LICS.2006.2827. Safra, S.: On the complexity of omega-automata. In: 29th Annual Sym-posium on Foundations of Computer Science, White Plains, New York,USA, 24-26 October 1988. pp. 319–327. IEEE Computer Society (1988).https://doi.org/10.1109/SFCS.1988.2194828. Schewe, S.: An optimal strategy improvement algorithm for solving parity and pay-off games. In: Kaminski, M., Martini, S. (eds.) Computer Science Logic, 22nd Inter-national Workshop, CSL 2008, 17th Annual Conference of the EACSL, Bertinoro,Italy, September 16-19, 2008. Proceedings. Lecture Notes in Computer Science,vol. 5213, pp. 369–384. Springer (2008). https://doi.org/10.1007/978-3-540-87531-4 2729. van Dijk, T.: Attracting tangles to solve parity games. In: Chockler, H., Weis-senbacher, G. (eds.) Computer Aided Verification - 30th International Conference,CAV 2018, Held as Part of the Federated Logic Conference, FloC 2018, Oxford,UK, July 14-17, 2018, Proceedings, Part II. Lecture Notes in Computer Science,vol. 10982, pp. 198–215. Springer (2018). https://doi.org/10.1007/978-3-319-96142-2 1430. Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic programverification (preliminary report). In: Proceedings of the Symposium on Logic inComputer Science (LICS ’86), Cambridge, Massachusetts, USA, June 16-18, 1986.pp. 332–344. IEEE Computer Society (1986)31. Walukiewicz, I.: Monadic second order logic on tree-like structures. In: Puech,C., Reischuk, R. (eds.) STACS 96, 13th Annual Symposium on Theoretical As-pects of Computer Science, Grenoble, France, February 22-24, 1996, Proceed-ings. Lecture Notes in Computer Science, vol. 1046, pp. 401–413. Springer (1996).https://doi.org/10.1007/3-540-60922-9 3332. Zielonka, W.: Infinite games on finitely coloured graphs with applications toautomata on infinite trees. Theor. Comput. Sci.200