Complementing Büchi Automata

Similar documents
CS 573 Automata Theory and Formal Languages

CS311 Computational Structures Regular Languages and Regular Grammars. Lecture 6

Technische Universität München Winter term 2009/10 I7 Prof. J. Esparza / J. Křetínský / M. Luttenberger 11. Februar Solution

NON-DETERMINISTIC FSA

Nondeterministic Finite Automata

Nondeterministic Automata vs Deterministic Automata

The University of Nottingham SCHOOL OF COMPUTER SCIENCE A LEVEL 2 MODULE, SPRING SEMESTER MACHINES AND THEIR LANGUAGES ANSWERS

Regular languages refresher

Project 6: Minigoals Towards Simplifying and Rewriting Expressions

Chapter 4 State-Space Planning

Finite State Automata and Determinisation

= state, a = reading and q j

Petri Nets. Rebecca Albrecht. Seminar: Automata Theory Chair of Software Engeneering

Convert the NFA into DFA

Regular expressions, Finite Automata, transition graphs are all the same!!

Minimal DFA. minimal DFA for L starting from any other

Test Generation from Timed Input Output Automata

2.4 Theoretical Foundations

CSCI 340: Computational Models. Kleene s Theorem. Department of Computer Science

Graph States EPIT Mehdi Mhalla (Calgary, Canada) Simon Perdrix (Grenoble, France)

Lecture 9: LTL and Büchi Automata

Compiler Design. Spring Lexical Analysis. Sample Exercises and Solutions. Prof. Pedro C. Diniz

1 PYTHAGORAS THEOREM 1. Given a right angled triangle, the square of the hypotenuse is equal to the sum of the squares of the other two sides.

CS 373, Spring Solutions to Mock midterm 1 (Based on first midterm in CS 273, Fall 2008.)

Types of Finite Automata. CMSC 330: Organization of Programming Languages. Comparing DFAs and NFAs. Comparing DFAs and NFAs (cont.) Finite Automata 2

@#? Text Search ] { "!" Nondeterministic Finite Automata. Transformation NFA to DFA and Simulation of NFA. Text Search Using Automata

CMSC 330: Organization of Programming Languages

Chapter 2 Finite Automata

Types of Finite Automata. CMSC 330: Organization of Programming Languages. Comparing DFAs and NFAs. NFA for (a b)*abb.

Chapter Five: Nondeterministic Finite Automata. Formal Language, chapter 5, slide 1

Lecture 08: Feb. 08, 2019

Lecture 6: Coding theory

Descriptional Complexity of Non-Unary Self-Verifying Symmetric Difference Automata

Designing finite automata II

1 Nondeterministic Finite Automata

Global alignment. Genome Rearrangements Finding preserved genes. Lecture 18

Algorithm Design and Analysis

Intermediate Math Circles Wednesday, November 14, 2018 Finite Automata II. Nickolas Rollick a b b. a b 4

Hybrid Systems Modeling, Analysis and Control

Alpha Algorithm: A Process Discovery Algorithm

Bisimulation, Games & Hennessy Milner logic

THEORY OF FORMAL LANGUAGES EXERCISE BOOK. A Suite of Exercises with Solutions DRAFT COPY

More on automata. Michael George. March 24 April 7, 2014

Behavior Composition in the Presence of Failure

Formal Languages and Automata

Computational Biology Lecture 18: Genome rearrangements, finding maximal matches Saad Mneimneh

CS 491G Combinatorial Optimization Lecture Notes

22: Union Find. CS 473u - Algorithms - Spring April 14, We want to maintain a collection of sets, under the operations of:

Tutorial Worksheet. 1. Find all solutions to the linear system by following the given steps. x + 2y + 3z = 2 2x + 3y + z = 4.

where the box contains a finite number of gates from the given collection. Examples of gates that are commonly used are the following: a b

Compression of Palindromes and Regularity.

Speech Recognition Lecture 2: Finite Automata and Finite-State Transducers

Section 1.3 Triangles

Prefix-Free Regular-Expression Matching

CMPSCI 250: Introduction to Computation. Lecture #31: What DFA s Can and Can t Do David Mix Barrington 9 April 2014

Finite Automata-cont d

Automata Theory 101. Introduction. Outline. Introduction Finite Automata Regular Expressions ω-automata. Ralf Huuck.

CS103B Handout 18 Winter 2007 February 28, 2007 Finite Automata

Coalgebra, Lecture 15: Equations for Deterministic Automata

INTEGRATION. 1 Integrals of Complex Valued functions of a REAL variable

System Validation (IN4387) November 2, 2012, 14:00-17:00

Engr354: Digital Logic Circuits

Counting Paths Between Vertices. Isomorphism of Graphs. Isomorphism of Graphs. Isomorphism of Graphs. Isomorphism of Graphs. Isomorphism of Graphs

Java II Finite Automata I

Algorithms & Data Structures Homework 8 HS 18 Exercise Class (Room & TA): Submitted by: Peer Feedback by: Points:

5. (±±) Λ = fw j w is string of even lengthg [ 00 = f11,00g 7. (11 [ 00)± Λ = fw j w egins with either 11 or 00g 8. (0 [ ffl)1 Λ = 01 Λ [ 1 Λ 9.

Algorithm Design and Analysis

12.1 Nondeterminism Nondeterministic Finite Automata. a a b ε. CS125 Lecture 12 Fall 2016

8 THREE PHASE A.C. CIRCUITS

AUTOMATA AND LANGUAGES. Definition 1.5: Finite Automaton

Automatic Synthesis of New Behaviors from a Library of Available Behaviors

Introduction to Olympiad Inequalities

CS 267: Automated Verification. Lecture 8: Automata Theoretic Model Checking. Instructor: Tevfik Bultan

State Complexity of Union and Intersection of Binary Suffix-Free Languages

6.5 Improper integrals

From LTL to Symbolically Represented Deterministic Automata

Abstraction of Nondeterministic Automata Rong Su

Formal Methods for XML: Algorithms & Complexity

Theory of Computation Regular Languages. (NTU EE) Regular Languages Fall / 38

Unit 4. Combinational Circuits

Myhill-Nerode Theorem

Bottom-Up Parsing. Canonical Collection of LR(0) items. Part II

Thoery of Automata CS402

NFA DFA Example 3 CMSC 330: Organization of Programming Languages. Equivalence of DFAs and NFAs. Equivalence of DFAs and NFAs (cont.

Speech Recognition Lecture 2: Finite Automata and Finite-State Transducers. Mehryar Mohri Courant Institute and Google Research

Alpha Algorithm: Limitations

Proving the Pythagorean Theorem

CS415 Compilers. Lexical Analysis and. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University

A Disambiguation Algorithm for Finite Automata and Functional Transducers

CONTROLLABILITY and observability are the central

CSE 401 Compilers. Today s Agenda

Discrete Structures Lecture 11

Lesson 2: The Pythagorean Theorem and Similar Triangles. A Brief Review of the Pythagorean Theorem.

Theory of Computation Regular Languages

Nondeterminism and Nodeterministic Automata

On Determinisation of History-Deterministic Automata.

Model Reduction of Finite State Machines by Contraction

Table of contents: Lecture N Summary... 3 What does automata mean?... 3 Introduction to languages... 3 Alphabets... 3 Strings...

Transition systems (motivation)

Formal Methods in Software Engineering

Transcription:

Complementing Bühi Automt Guillume Sdegh Tehnil Report n o 090, My 009 revision 07 Model heking is field of forml verifition whih ims to utomtilly hek the ehvior of system with the help of logi formulæ. SPOT is model heking lirry whih relies on one pproh: the utomt-theoreti pproh. In this tehnique, oth system nd formul re expressed with ω-utomt, whih re utomt on infinite words. SPOT provides severl lgorithms to do opertions with these utomt. However, n lgorithm is missing: the omplementtion of Bühi utomt. Beuse of its high omplexity this lgorithm is rrely used in prtie, ut it does not lk theoretil interests sine SPOT uses prtiulr vrint of ω-utomt. We present n implementtion of this lgorithm in SPOT. Le model heking est un domine de l vérifition formelle, qui permet de vérifier le omportement d un système à trvers des formules logiques. SPOT est une iliothèque de model heking qui repose sur une des tehniques du domine : l pprohe utomte. Dns ette pprohe du model heking, le système et les formules sont représentés sous forme d utomtes eptnt des mots de longueur infinie, et plus prtiulièrement des utomtes de Bühi. SPOT propose de nomreux lgorithmes ux utilisteurs de l iliothèque pour mnipuler e type d utomtes, en vue d pplitions u model heking. Pourtnt, un lgorithme est mnqunt : elui de l omplémenttion d utomtes de Bühi (qui produit un utomte reonnissnt l négtion du lngge initilement reonnu). Cet lgorithme est peu utilisé dns l prtique à use de s forte omplexité, mis il ne mnque ps d intérêt du point de vue théorique. Nous présenterons une implémenttion d un tel lgorithme dns SPOT. Keywords Bühi utomt, omplementtion, determiniztion, Sfr onstrution, Streett to Bühi trnsformtion. Lortoire de Reherhe et Développement de l Epit -6, rue Voltire F-976 Le Kremlin-Biêtre edex Frne Tél. + 5 59 7 Fx. + 5 59 sdegh@lrde.epit.fr http://www.lrde.epit.fr/

Copying this doument Copyright 009 LRDE. Permission is grnted to opy, distriute nd/or modify this doument under the terms of the GNU Free Doumenttion Liense, Version. or ny lter version pulished y the Free Softwre Foundtion; with the Invrint Setions eing just Copying this doument, no Front- Cover Texts, nd no Bk-Cover Texts. A opy of the liense is provided in the file COPYING.DOC.

Contents Introdution 5 Automt on infinite words 7. Definitions......................................... 7.. ω-utomt.................................... 7.. Mode of trnsition-funtion........................... 8.. Aeptnes onditions............................. 9.. Leling....................................... Opertions on ω-utomt.................................. Determiniztion.................................... Complementtion................................ 5 Complementing Bühi utomt 6. Determiniztion of Bühi utomt........................... 7.. The lssil powerset onstrution...................... 7.. Sfr s onstrution................................ 7.. Exmple...................................... 0. Deterministi Streett to nondeterministi Bühi utomt................ Constrution of the trnsformtion......................... Exmple...................................... Implementtion in SPOT 6. Detils on the implementtion.............................. 6.. Implementtion of Sfr s onstrution.................... 6.. Implementtion of the Streett-to-Bühi trnsformtion........... 7.. Testing the implementtion........................... 7. Benhmrk......................................... 7 Perspetives 0. Working with Trnsition-sed Generlized Bühi utomt............ 0.. Streett to Generlized Bühi utomt..................... 0. Sfr optimiztions.................................... Conlusion

CONTENTS A Exmple A. Sfr onstrution..................................... A. Trnsformtion of deterministi Streett utomton into non-deterministi Bühi A. Benhmrks........................................ Referenes 6

Introdution Model heking is field of forml verifition whih ims to utomtilly hek the ehvior of system with the help of logi formulæ. The gol of this verifition is to onfirm whether system stisfies set of properties. SPOT (Duret-Lutz nd Poitrenud, 00) is model heking lirry tht relies on one pproh: the utomt-theoreti pproh. In this tehnique, oth system nd formul re expressed with ω-utomt, whih re utomt on infinite words. The utomton tht represents the system to verify hs for lnguge L (A M ), the set of ll possile exeutions of the system. Properties to verify re expressed with the negted formul utomton, whose lnguge, L (A ϕ ) is the set of ll exeutions tht would invlidte the formul. Thus, the intersetion of these two utomt will produe n utomton whose lnguge is the set of ll possile exeutions of the system tht would invlidte the formul. With this lst utomton, proedure lled emptiness hek heks whether the reognized lnguge is empty. When this lnguge is empty, the properties stisfy the system. However, if this lnguge epts non-empty word, then there exists run in the system tht invlidtes the logi formul. SPOT provides set of lgorithms to work with kind of ω-utomt lled Trnsition-sed Generlized Bühi Automton (TGBA). Most of the ommon opertions on ω-utomt used in model heking lredy exist in the lirry, ut the omplementtion, whih is ommon proedure with utomt on finite words is missing. Complementing n utomton mens onstruting nother utomton tht would reognized the omplemented lnguge of the initil one. Even though this opertion would e relly useful in model heking sine formulæ re negted to represent unexpeted ehviors, in prtie this opertion is unrelisti. This is due to the lk of effiient lgorithms, sine even est ones hve n exponentil omplexity. Therefore, model heking voids omplementtion y different wys. For exmple, to void to omplement the utomton of logi formul, lgorithms tht trdue formulæ into utomt use the negtion of the logi formul efore the trnsltion. However, some systems to express properties like the expressions ω-regulr nnot e negted esily. For those kind of systems, hving omplementtion on utomt is useful. Another purpose of implementing this lgorithm is lso to enrih our lirry with nother opertion. Sine SPOT is lirry tht provides lgorithm for its users, nyone ould e interesting in this opertion. Moreover, sine SPOT uses Trnsition-sed Generlized Bühi utomt s kind of ω-utomt, it ould lso e n interesting theoretil sujet to show how this kind of utomt n improve the omplexity of the lgorithms tht we will present lter.

CONTENTS 6 Outline: Chpter will give some kground on ω-utomt, with definitions nd n overview of the opertions tht will interest us. In Chpter we will disuss how to omplement Trnsition-sed Generlized Bühi utomton y desriing the two min lgorithms we used. Chpter will present how these lgorithms re implemented in SPOT, nd will disuss some enhmrks. Chpter will present future works to omplish on the omplementtion, nd we will onlude in the lst hpter.

Chpter Automt on infinite words While lssil finite utomt reognize words of finite length, ω-utomt reognize words of infinite length ut with finite numer of sttes.. Definitions.. ω-utomt Figure. presents the grphil representtion of ω-utomt. Trnsitions Initil stte Stte in the eptne ondition Sttes Figure.: An ω-utomton Definition... An ω-utomton is quintuple A = (Q, Σ, δ, q 0, F ) with: Q finite set of sttes. Σ the lphet. δ : Q Σ Q the trnsition funtion. q 0 Q the initil stte. F the eptne ondition, whih is formul on sttes. The differene with utomt on finite words lies in these eptne onditions.

. Definitions 8 Definition... A sequene of sttes π = π 0, π, π,... Q ω is lled run over n infinite word σ Σ ω, if π 0 = σ 0 nd for every i suh s σ i is the ith letter of σ, π i+ δ(π i, σ i ). An epting run is run tht stisfies the eptne ondition. Exmple. A run of the utomton in Figure. ould e π =,,,... with the stte meet infinitely often. Definition... The infinity set of run π is the set of sttes tht ours infinitely mny time in π nd is denoted inf(π). Exmple. With the previous exmple, inf(π) = { }, sine the stte ours infinitely often in the run. Definition... The lnguge of A is the set of ll the inputs with n epting run of A, nd is denoted L (A) Exmple. The lnguge of the utomton in Figure. with n eptne ondition tht requires to visit infinitely often to e epting would e: word with the letter finitely often nd then the letter infinitely often ( Bhi ω ). Remrk..5. The numer of suessors of stte q Q for the lel σ Σ is denoted δ(q, σ). The properties on ω-utomt n e divided in three riteri used to denote the different kinds of utomt. Their mode of trnsition-funtion, tht defines the semnti of run of n utomton. Their type of eptne ondition, tht defines whether run of the utomton is epting. Their leling, on sttes for most model hekers nd lgorithms, or on trnsitions for few ones like SPOT. These three riteri re detiled in the next setions... Mode of trnsition-funtion The mode of trnsition-funtion defines how run of n utomton ours. We usully distinguish: deterministi utomt, non-deterministi utomt nd universl utomt. An utomton is lled deterministi when eh trnsition funtion δ(q, σ) hs extly one suessor. More formlly, we n sy: iff σ Σ A, q Q A, δ(q, σ), then A is deterministi. Exmple. Figure. represents deterministi utomton sine eh stte hs extly one suessor for eh letter σ. An utomton where trnsition funtion δ(q, σ) my hve more thn one suessor is lled: non-deterministi, when the semnti is to hoose non-deterministilly one stte s suessor when trnsition funtion returns more thn one suessor. Exmple. Interpreted s non-deterministi ω-utomton, run of the word over the utomton in Figure. will reh sttes, OR,.

9 Automt on infinite words universl, when the semnti is to visit ll the suessors when trnsition funtion returns more thn one suessor. Exmple. Interpreted s universl ω-utomton, run of the word over the utomton in Figure. will reh sttes, AND,. (),, () Figure.: Deterministi, Non-deterministi nd Universl utomt... Aeptnes onditions The eptne ondition is formul on sttes tht defines the semnti of n epting run. We will present some eptne onditions tht will e useful for the omplementtion. Bühi eptne ondition Bühi (96) ws the first to introdue ω-utomt with his eptne ondition. The Bühi eptne ondition is the most dpted to model heking sine it supports ll the opertions presented in Setion.: Opertions on ω-utomt. With his definition, the eptne ondition F is set of sttes, nd run must visit infinitely often some sttes from F to e epting. More formlly, run π of Bühi utomton with F Q s eptne ondition is epting, iff inf(π) F. Exmple. Figure. presents Bühi utomton with its sttes in the eptne ondition F mrked with. A run of this utomton is epting if it visits infinitely often sttes OR. Figure.: A Bühi utomton. However, this eptne ondition hs some drwks sine deterministi Bühi utomt re less expressive thn non-deterministi ones (see Susetion.. for the proof nd Susetion.. for n exmple). Moreover, with other eptne onditions like Generlized Bühi

. Definitions 0 eptne ondition, we n hve utomt tht reognize the sme lnguge with smller numer of sttes nd trnsitions. Figure.7 presents severl utomt tht reognize the sme lnguge ut with different eptne onditions. There is dul eptne ondition to Bühi utomt whih is lled o-bühi eptne ondition. A run π of o-bühi utomton with F s eptne ondition is epting, iff inf(π) F = with F Q. This dul eptne ondition is interesting sine the sme deterministi utomton interpreted either with the Bühi eptne ondition or the o-bühi eptne ondition will reognize two omplementry lnguges. However, this property only works with deterministi utomt. Generlized Bühi eptne ondition Generlized Bühi utomt re vrint of Bühi utomt tht is more suint, sine it llows to hve utomt tht reognize the sme lnguge thn Bühi utomt ut with smller numer of sttes nd trnsitions. The Generlized Bühi eptne ondition hs more thn one set of eptne onditions. A run is epting if it psses through t lest one stte of eh set infinitely often. Figure. illustrtes this eptne ondition. More formlly, the definition is i inf(π) F i with F = {F, F,, F n } nd F i Q. Exmple. Figure. presents generlized Bühi utomton with n epting run if run visits infinitely often oth eptne onditions (sttes denoted with nd ). Figure.: A generlized Bühi utomton. Muller eptne ondition Beuse non-deterministi Bühi utomt (generlized or not) nd deterministi Bühi utomt re not equivlent, Muller (96) proposed nother eptne ondition for deterministi ω-utomt. The eptne ondition he suggests is to speify expliitly ll the good infinity sets. A run is epting if the epting set is inluded into the infinity set of visited sttes. The forml definition for this eptne ondition is: inf(π) F, with F Q, the set of set of epting sttes. Muller eptne ondition is generliztion of ll eptne qonditions listed here. However, to work with ω-utomt tht hve the sme expressiveness for deterministi utomt nd non-deterministi utomt we prefer Rin nd Streett eptne onditions, euse in prtie, storing ll the eptne onditions is not interesting.

Automt on infinite words Rin eptne ondition The Rin (969) ondition onsists of pirs (L, U) of susets of Q. A run is epting if there exists pir (L i, U i ) F suh tht run visits infinitely often L i nd only finitely often U i. More formlly this definition is: i : inf(π) L i inf(π) U i = with F Q Q. Exmple. Figure.5 presents Rin utomton with two pirs of eptne onditions: {(, ), (, )}. A run of this utomton is epting if it visits infinitely often nd finitely often (pir, ) OR if it visits infinitely often nd finitely often (pir, ). Figure.5: A Rin utomton Streett eptne ondition Streett (98) suggested dul eptne ondition of Rin s. So this ondition onsists in pirs (L i, U i ) of susets of Q. A run is epting if there exists n i suh tht if it visits infinitely often L i, then U i is lso infinitely often visited. More formlly this definition is: i : inf(π) L i inf(π) U i with F Q Q, or, to expliit the dulity, i : inf(π) L i = inf(π) U i. An interesting property is due to the dulity of Streett nd Rin eptne onditions tht produe n equivlene etween Deterministi Streett nd the negtion of Deterministi Rin. We usully denote DS DR. Exmple. With Figure.5 tht represents Rin utomton, its interprettion s Streett utomton will hve epting runs if, when it visits infinitely often, then is lso visited infinitely often (pir, ) OR when it visits infinitely often, then is lso visited infinitely often (pir, ). Swithing etween lsses With ll these eptne onditions we n hve utomt with the sme expressiveness. Deterministi (Generlized) Bühi utomt is n exeption sine they re less expressive. Therefore there exists some proedures (Löding, 998) to trnsform n utomton from one lss to nother. However, most of these trnsformtions re exponentil. Sfr (989) gives figure to illustrte the omplexity of these trnsformtions. This illustrtion is presented in Figure.6. Summry on eptne onditions All this eptnes onditions n e summrized in Tle..

. Definitions poly exp poly NS NM exp exp exp NB poly NR exp exp exp exp exp exp DS DR exp exp DR exp exp DM exp exp Legend exp N: Non-deterministi B: Bühi D: Deterministi M: Muller R: Rin S: Streett exp: exponentil omplexity poly: polynomil omplexity Figure.6: The omplexity of trnsformtion etween the different lsses of ω-utomt. Nme Domin Semntis Bühi F Q inf(π) F Co-Bühi F Q inf(π) F = Generlized Bühi F Q i : inf(π) F i Muller F Q inf(π) F Rin F Q Q i : inf(π) L i inf(π) U i = Streett F Q Q i : inf(π) L i = inf(π) U i Tle.: Common eptne onditions on ω-utomt

Automt on infinite words In order to omplement Bühi utomt, we will swith to Rin eptne ondition, then to Streett eptne ondition nd finlly return on Bühi eptne ondition. This proess will e presented in Chpter... Leling In the previous exmple, eptne onditions were leled on sttes. However, leling on trnsitions n produe utomt with smller numer of sttes nd trnsitions. Figure.7 presents three utomt tht reognize the sme lnguge. With leling on trnsitions the utomton hs one stte nd three trnsitions ut three sttes nd seven trnsitions with leling on sttes. () A Trnsition-sed Generlized Bühi Automton q 0 q q () The equivlent Generlized Bühi Automton () The equivlent Bühi Automton Figure.7: Trnsition-sed Generlized Bühi utomt, Generlized Bühi nd Bühi utomt. The model heking lirry SPOT is designed to work with non-deterministi Trnsitionsed Generlized Bühi Automt (TGBA), nd implements severl lgorithms tht work for this kind of ω-utomt. However, sine the lgorithms we hve implemented re working on sttes, we will use sttes leled utomt up to the finl utomton tht will e leled on trnsitions. Swithing etween stte-sed nd trnsition-sed Bühi utomt is presented in (Duret- Lutz, 007, setion..5). From stte-sed Bühi utomton with n sttes the trnsformtion lgorithm results trnsition-sed Bühi utomton with lso n sttes. However, for

. Opertions on ω-utomt trnsition-sed Bühi utomton with n sttes, the resulting stte-sed Bühi utomton will hve t most n sttes.. Opertions on ω-utomt Some opertion on ω-utomt re ommon, suh s The produt or intersetion of two ω-utomt A nd A, tht produes n utomton tht reognizes L (A ) L (A ). The opertion is useful in model heking to produe n utomton from the system utomton nd the formul utomton tht will reognize runs of the system tht invlidte the formul. For two utomt with n nd n sttes, the produt utomton will hve O(n n ) sttes. The sum, or union of two ω-utomt A nd A, tht produes n utomton tht reognizes L (A ) L (A ). This opertion is quite esy to implement for non-deterministi utomt sine it only requires to dd n initil stte to join initil sttes of A nd A. For two utomt with n nd n sttes, the sum utomton will hve O(n + n ) sttes. The emptiness hek, tht is ommon for Bühi utomt nd heks whether n ω-utomton reognizes non-empty word... Determiniztion The determiniztion opertion onsists in the trnsformtion of non-deterministi ω-utomton into deterministi one. However, ny non-deterministi Bühi utomton nnot e determinized into n utomton with Bühi eptne onditions. Proof. Given non-deterministi Bühi utomton A tht reognizes n ω-word ( + ) ω. This nottion mens tht must e reognized only finitely often ut infinitely often. This utomton is represented y Figure.8. q 0 q, Figure.8: A Bühi utomton to determinize. Now suppose tht we hve deterministi Bühi utomton B = ({, }, Q, δ, {q 0 }, F ) whih reognizes the sme lnguge s A. Then: u 0 = ω, so u 0 L (A) nd there exists finite prefix v 0 of u 0 tht rings B to F. u = v o ω, so u L (A) nd there exists finite prefix v 0 v of u tht rings B to F..

5 Automt on infinite words u n = v n ω, so u n L (A) nd there exists finite prefix v 0 v v n of u n tht rings B to F. Sine the numer of sttes Q is finite, there exists i nd j, 0 i < j suh s words v 0 v v i nd v 0 v v j ring to the sme stte. Then m = v 0 v v i ( v j ) ω is epted y B. But sine m hs n infinity of, it nnot e reognized y A. This theorem implies tht to determinize Bühi utomton, the Bühi lss nnot e used. The first onstrution for determinizing is due to Muller (96) whih ppers to e fulty. MNughton (966) gve theorem to prove tht ny non-deterministi Bühi utomton n e onverted into Deterministi Muller utomton. To prove his theorem, MNughton proposed onstrution with lrge low-up in O(n), douly exponentil in the size of the originl Bühi utomton. Sfr s onstrution (Sfr, 988, 989) produes Muller or Rin utomton from nondeterministi Bühi utomton. For Bühi utomton with n sttes, it retes deterministi utomton with O(n log n) sttes, whih is optiml for Rin utomt... Complementtion A stte-of-the-rt on the omplementtion of Bühi utomt n e found in Vrdi (007). The omplementtion for deterministi ω-utomt is n esy opertion sine it only requires to swith to the dul eptne ondition (Bühi/Co-Bühi, Rin/Streett), ut for nondeterministi ones this opertion is more omplited. Bühi (96) introdued omplementtion onstrution tht trnsforms Bühi utomton with n sttes into Bühi utomton with O(n) sttes. Sistl et l. (985) suggested n improved version of this onstrution with O(n) sttes. Finlly, Sfr (988) proposed onstrution y determinizing the utomton tht produes n Bühi utomton with O(n log n) sttes. From the theoretil point of view, this onstrution mthes the lower ound desried y Mihel (988) nd is therefore optiml. However, onstnts tht re hidden y the O() nottion n e improved sine Sfr s upper ound is n n while Mihel s is n!. Kupfermn nd Vrdi (997) used omplementtion sed on universl Co-Bühi utomt, tht re dul on the eptne ondition nd the trnsition mode to non-deterministi Bühi utomt. They derese the upper ound up to (6n) n. The urrent est proedure (Yn, 008) lso use these universl Co-Bühi utomt, nd hs for upper ound (0.97n) n.

Chpter Complementing Bühi utomt We will present the Sfr (988) omplementtion. The first step for the omplementtion is to determinize the initil utomton. Sine nondeterministi Bühi utomton nnot e determinized into Bühi utomton, we need to swith to nother lss. Sfr s onstrution (Sfr, 988) onverts non-deterministi Bühi into deterministi Rin utomton. In the previous hpter, we hve presented tht DS DR. Therefore, interpreting the produed Rin utomton s Streett utomton will reognized the negtion of the initil lnguge. Then, we need to trnsform this Streett utomton into non-deterministi Bühi utomton, using trnsformtion presented in Löding (998). This workflow is illustrted in Figure.. A Nondeterministi Bühi Automt Determiniztion Sfr (988) (Setion.) Deterministi Rin Automt Chnging Interprettion (Ovious) A Nondeterministi Bühi Automt Trnsformtion Löding (998) (Setion.) Deterministi Streett Automt Figure.: Steps of the omplementtion.

7 Complementing Bühi utomt. Determiniztion of Bühi utomt.. The lssil powerset onstrution For finite utomton, the lssil opertion for determiniztion is the powerset onstrution (Rin nd Sott, 959). Given n utomton A with Q sttes, this onstrution uses susets of Q s sttes of the deterministi utomton. An exmple to prove tht this onstrution does not work with Bühi utomt is to onsider the utomton A = ({q 0, q }, {, }, δ, ) of Figure.8, tht reognizes lnguge with only finitely nd infinitely. The powerset onstrution is presented in Figure.. We notie tht the reted utomton (utomton.e) does not reognize the sme lnguge s the originl sine n e rehed infinitely often. This result is ovious sine it ws lredy demonstrted in Susetion.. tht this utomton nnot e determinized with Bühi eptne onditions... Sfr s onstrution The wekness of the powerset onstrution is tht it onstruts too mny epting runs. Sfr s ide is to modify the lssil powerset onstrution to trk epting runs of the originl Bühi utomton. Sfr s onstrution use multiple powerset onstrutions in prllel in tree struture lled Sfr trees. The sttes of the deterministi utomton re not simply sets of sttes ut some Sfr trees. A Sfr tree onsists of nodes with A nme to refer to them nd keep trk of their existene over multiples trees. This nme must e unique in the tree nd must e in the set {,..., n} with n the numer of sttes of the originl utomton. A lel, whih is set of sttes of the originl utomt. A mrk, whih is Boolen tht will e introdued lter. A Sfr tree is illustrted in Figure.. Sfr trees hve n ordered reltion sine when node is inserted into the tree, it is onsidered s the youngest. Moreover, some onditions must e stisfied.. The lel of node is strit superset of the lels of its hildren.. Silings nodes hve lels tht re disjoint. As onsequenes of these onditions, tree hs t most n nodes, with n the numer of sttes of the utomton to determinize. We n lso dedue tht the height of Sfr tree is t most n (due to the first ondition), nd tht the numer of hildren of node is most n (due to the seond ondition). The si ide is to dd new hild for every node tht ontins n epting stte in its lel. The lel of this hild will e the set of epting lels in its prent. This ide is illustrted in Figure..

. Determiniztion of Bühi utomt 8 q 0 q q 0 q,, {q 0 } {q 0 } () The eginning of the onstrution. () A in q 0 rehes the stte q 0. q 0 q q 0 q, {q 0 } {q 0, q }, {q 0 } {q 0, q } () A in q 0 rehes sttes q 0 nd q. (d) A in {q 0, q } rehes sttes q 0 nd q. q 0 q, {q 0 } {q 0, q } (e) A in {q 0, q } rehes the stte q 0. This is the finl utomton Figure.: The lssil powerset onstrution: step-y-step.

9 Complementing Bühi utomt The tree The lel, set of sttes The nme {q 0, q, q } {q, q } This node is mrked Two nodes Figure.: A Sfr tree. {q 0, q } {q } {q 0, q } Figure.: Crete new hild: q is n epting stte in the originl utomton. {q 0} {q 0} Figure.5: Remove empty

. Determiniztion of Bühi utomt 0 When node is empty, it mens tht the run trked y this node is finite, so it n e removed sine missing nodes will denote finite runs. This is illustrted in Figure.5. When node hs extly the sme lel s its hildren, then they ll trk the sme run. This mens tht the run trked y this node is infinite. Children n e removed, nd the prent is mrked with flg to reord this deletion. This is illustrted in Figure.6. {q 0} {q 0} {q 0} Figure.6: Vertil merge Constrution of the Sfr trees From the Bühi utomton B = (Q, Σ, δ, q 0, F ) we rete the deterministi Rin utomton R = (Q, Σ, δ, q 0, {(L, U ),..., (L n, U n )}). The initil stte q 0 is Sfr tree with only one node not mrked, with q 0 s lel nd s nme. The trnsition funtion δ (T, ) for Sfr tree T nd Σ is omputed s follows: () Remove mrks All the mrks in the Sfr tree T re removed. () Brnh epting For every node in the Sfr tree T, if lel hs some epting sttes then new hild of this node is inserted s youngest. This node hs unique nme in the tree, no mrk nd the set of epting nodes of its prent for lel. () Powerset For every node n of T, its lel is repled with q lel of n δ(q, ). () Horizontl merge For every two siling nodes of T tht shre the sme stte q Q in their lel, the q in the lel of the youngest node is removed, nd from ll its hildren. (5) Remove empty Every empty node is removed. (6) Vertil merge For every node whose lel is equl to the union of the lels of its hildren, its hildren re removed nd the node is mrked. The set of sttes Q is ll the Sfr trees rehle from the initil Sfr tree. The Rin eptne ondition is the set of pirs F = {(L, U ),, (L n, U n )} where L i onsists of ll Sfr trees with the node nmed i mrked. (infinite run) U i onsists of ll Sfr trees without the node nmed i. (finite run).. Exmple To show how this determiniztion works, we n give n exmple. Figure.. is prt of the determiniztion of the utomton in Figure.7, tht shows eh step of the proedure. The full determiniztion of this utomton is in exmple in the ppendix A..

Complementing Bühi utomt, q 0 q q Figure.7: The Bühi utomton to determinize. Deterministi Streett to nondeterministi Bühi utomt One the originl Bühi utomton is determinized s Rin utomton, interpreting this Rin utomton s Streett one will reognize the negtion of the originl lnguge. Then, the next step is to trnsform the deterministi Streett utomton into non-deterministi Bühi (Figure.8). We will present n lgorithm tht omes from Löding (998). The min ide is to rete n utomton with three pools of sttes. The first one represents finite runs, the seond pool is visited when the run does not need to visit some preise sttes to e epting, nd the lst one is stging re for runs tht must visit some sttes to e epting. The first set does not trk the eptne onditions sine it represents finite runs, ut the two others pools keep trk of the onditions... Constrution of the trnsformtion Let S = (Q, Σ, δ, q 0, {(L, U ),..., (L r, U r )}) e deterministi Streett utomton to trnsform into n equivlent non-deterministi Bühi utomton B = (Q, Σ, δ, q 0, F ) The pirs of eptne onditions of the Streett utomton re trked into two sets: I nd J. Every time I J, for every visited L i the orresponding U i is lso visited. Then we reset I = J =, whih represents our seond pool of sttes tht must e infinitely visited to e epting. The utomton B is defined s follows: Q = Q ( Q {,...,r} {,...,r}) For Σ, q Q, I {,..., r}, J {,..., r}, I = I {i q L i } nd J = J {j q U j } δ (q, ) = ) {(p,, ) p δ(q, )} δ(q, { δ ((q, I, J), ) = {(p, I, J ) p δ(q, )} if I J {(p,, ) p δ(q, )} if I J All sttes with I nd J empty re epting. For Street utomton with n sttes nd r eptne onditions, this onstrution retes Bühi utomton with n ( n n + ) sttes.

. Deterministi Streett to nondeterministi Bühi utomt. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,,. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,, {q0, q} {q0, q, q} {q} {q} {q0, q} {q} {q} {q} {q0, q, q} {q0, q, q} {q} {q} () The suessor funtion is lled on the tree denoted () The originl tree hd no mrked nodes.. Remove mrks,,. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,, {q0, q} {q} {q} {q0, q} {q} {q} {q} {q0, q, q} {q0, q, q} {q} {q0, q, q} {q0, q, q} {q} {q} {q, q} {q, q} {q, q} {q} {q} {q, q} () q nd q re epting sttes. Therefore, eh originl node hs new hild. (d) We n pply the trnsition funtion on the tree reted on the previous figure with the entire lphet. Figure.8: Some steps of the determiniztion of the utomton of Figure.7

Complementing Bühi utomt. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,,. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q},, {q} {q0, q} {q} {q} {q} {q0, q, q} {q} {q0, q, q} {q0, q, q} {q, q} {q} {q} {q0, q, q} {q, q} {q} {q} {q, q} {q, q} (e) Horizontl merge: two siling nodes hve q, q for lel. (f) Empty nodes re removed.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,,. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,, {q0, q} {q} {q} {q0, q} {q} {q} {q} {q0, q, q} {q} {q0, q, q} {q0, q, q} {q} {q0, q, q} {q, q} {q, q} (g) Vertil merge: the prent nd hildren hve the sme set of nodes s lel. Children removed nd the prent is mrked. (h) Some suessors lredy exist.

. Deterministi Streett to nondeterministi Bühi utomt A Nondeterministi Bühi Automt Determiniztion Sfr (988) Deterministi Rin Automt Chnging Interprettion A Nondeterministi Bühi Automt Trnsformtion Löding (998) Deterministi Streett Automt Figure.8: Reminder: steps of the omplementtion... Exmple To illustrte this lgorithm, Figure.0 presents the non-deterministi Bühi utomton reted from the deterministi Streett utomton of Figure.9. Setion A. detils more preisely the steps of this trnsformtion. q q 0 q Figure.9: A Streett utomton S with one pir of eptne ondition denoted y (, run visits infinitely often q, it must lso visit infinitely often q to e epting. ). If

5 Complementing Bühi utomt q q,, q 0 q 0,, q q,, q, { }, q 0, { }, q, { }, Figure.0: The finl Bühi utomton with its epting sttes denoted y.

Chpter Implementtion in SPOT Beuse SPOT is lirry tht works with Trnsition-sed Generlized Bühi utomt, nd the lgorithms presented in the previous setion re for Bühi utomton, first step of degenerliztion is required. This opertion is presented in (Duret-Lutz, 007, setions.. nd..5) nd illustrted in Figures.7 nd.7.. Detils on the implementtion The omplementtion is implemented through proxy lss lled tg_omplement, tht inherits from the virtul lss tg whih is ommon to ll the implementtions of Trnsitionsed Generlized Bühi utomt. All the implementtion is done in single file: sr/tg/tgomplement., nd the heder file (sr/tg/tgomplement.hh) exports the only puli lss of the implementtion: tg_omplement. The file tgomplement. ontins severl internl lsses for the omplementtion. Those lsses re divided in two prts: for Sfr s onstrution nd for the Streett-to-Bühi trnsformtion... Implementtion of Sfr s onstrution Sfr s onstrution is implemented in three lsses: sfr_tree represents nodes of the tree. Root nodes impliitly represent whole trees. All the nodes trnsformtions on trees to ompute suessors re implemented in this lss. The root node is lso responsile to return the Rin s eptne onditions tht ontin the tree. To represent those eptne onditions we use two oost::dynmi_itset for the sets L nd U. If the tree is in one eptne ondition L i, then the ith it of the L-itset will e set to true. The oost::dynmi_itset hs the dvntge to esily support it-to-it opertions like union or intersetion, whih re useful during the Streett to Bühi trnsformtion. A std::vetor<ool> does not support these opertions, nd std::itset hs stti size, tht we do not know t ompiltion-time sine it depends on the numer of pirs of eptne onditions of the utomton.

7 Implementtion in SPOT sfr_tree_utomton represents n utomton with sfr_tree s stte. This struture hs methods to return the initil stte nd to rowse the utomton. sfr_determiniztion hs the min loop of the lgorithm, ut lso uxiliry methods. The min loop onstruts sfr_tree_utomton y dupliting sfr_trees nd lling suessors opertion on those trees. The uxiliry methods ompute for eh tree whih suset of the lphet must e used to ompute suessors. This suset is the onjuntion of ll the tomi properties tht re rehle in the originl utomton from sttes in the lels of the tree... Implementtion of the Streett-to-Bühi trnsformtion The Streett-to-Bühi trnsformtion is diretly implemented into the lss tg_omplement. At the onstrution of n instne of this lss, sfr_tree_utomton is omputed nd the Rin utomton is sved s ttriute of the lss. Then, when the initil stte or the suessors of stte need to e returned, the trnsformtion is omputed on-the-fly. Doing this trnsformtion on-the-fly is kind of optimiztion tht void to rete the whole utomton when it is unneessry. During the opertions like the synhronized produt or the emptiness hek, we do not lwys need to rowse ll the sttes of the utomton the find whether the system stisfies properties. A ommon exmple is during the emptiness hek when lgorithm find non-empty epting word. The lgorithm stops rowsing the sttes, so it ws useless to ompute whose sttes... Testing the implementtion To test whether our implementtion works, simple wy is to use lgorithms tht lredy exist in SPOT. From logi formul ϕ, we produe the utomt A ϕ nd A ϕ with the help of n lgorithm tht trdues formul into n utomton (Couvreur, 999). Then we ompute A ϕ nd A ϕ with our omplementtion. These two utomt should omplementry. To mke sure they re, we ompute the synhronized produt etween those two utomt. The synhronized produt produes n utomton tht reognizes L ( A ϕ ) L ( A ϕ ). If this utomton does not reognize the empty lnguge, then the omplementtion hs issues. This kind of tests is lredy done y LBTT (Turiinen, 000; Turiinen nd Heljnko, 000), test suite for logis to utomt trnsltors, tht is lredy used in SPOT.. Benhmrk To enhmrk our omplementtion, we will use our omplementtion lgorithm on utomt generted from temporl-logi formulæ. The set of logi formulæ in Tle A. (p.5) omes from the SPOT s test suite, tht gthers formulæ tht omes from the literture (Dwyer et l., 998; Etessmi nd Holzmnn, 000; Somenzi nd Bloem, 000). We ompre sttes nd trnsitions of four utomt: A ϕ, B Aϕ, B Aϕ nd A ϕ. Like for testing, the two utomt A ϕ nd A ϕ re produed y the trnsltion lgorithm of Couvreur (999) tht trdues formulæ into Trnsition-sed Generlized Bühi utomt. B Aϕ is degenerliztion of A ϕ into trditionl Bühi utomt, nd B Aϕ is the omplementtion of this utomton tht uses our implementtion. The two utomt B Aϕ nd A ϕ reognize the sme lnguge.

. Benhmrk 8 Sfr s omplementtion is expeted to produe O(n log n) sttes for n initil utomton A ϕ with n sttes. This high omplexity mkes the omplementtion unusle with more thn 0 input sttes, however, we n notie tht just % of the formulæ from the set produe initil utomt with more thn 0 sttes, nd when its ours, omplemented utomt hve n eptle size. However, in some se the omplementtion did not finish fter mny weeks of omputtion. Figure. shows on the sme set of formulæ how ineffiient is our omplementtion ompring to the originl method, ut the omplementtion n e used on more thn three qurters of the test forumulæ. We onsider n utomton n e used up to 000 sttes sine opertions suh s the synhronized produt nd the emptiness hek re pplied on the utomton. With these enhmrks we notie tht our omplementtion is not effiient on formulæ, ut my e used when it does not exists lterntive tehniques.

9 Implementtion in SPOT 8 5 7 0 0 00 0 000 00 0000 000 00000 Too mny sttes. 0 00 () Numer of sttes of A ϕ on the test suite (our omplementtion). () Numer of sttes of A ϕ on the test suite. Figure.: Benhmrks with the sme set of formulæ on A ϕ nd A ϕ

Chpter Perspetives We hve presented nd implemented the omplementtion of Bühi utomt using Sfr s onstrution. A mjor drwk of this implementtion inside SPOT is tht this lgorithm works with Stte-sed non-generlized Bühi utomt wheres SPOT works with Trnsition-sed Generlized Bühi utomt.. Working with Trnsition-sed Generlized Bühi utomt To work with Trnsition-sed Generlized Bühi utomt insted of trditionl Bühi utomt we need to modify Sfr s onstrution nd to hve Streett utomt to Trnsitionsed Generlized Bühi utomt proedure. But sine Sfr s onstrution is not the est omplementtion proedure, nd some onstrution were pulished to del with generlized eptne onstrutions (?), we will fous on this onstrution. The pproh of this onstrution is quite different from Sfr s onstrution, euse it voids to determinize the Bühi utomton, nd prefers using nother kind of intermedite utomton: universl generlized Co-Bühi utomt, tht re dul to non-deterministi generlized Bühi utomt... Streett to Generlized Bühi utomt The trnsformtion of Streett eptne onditions presented in Susetion.. works for trditionl Bühi utomt. We n modify this lgorithm to produe Generlized Bühi utomt. The ide of this modifition is to stop trking the set U of eptne onditions in sttes, ut to use generlized onditions on sttes to mrk when pir hs its two sets L i nd U i mthing the Streett eptne ondition. Let S = (Q, Σ, δ, q 0, {(L, U ),..., (L r, U r )}) e Streett utomton to trnsform into n equivlent Generlized Bühi utomt B = (Q, Σ, δ, q 0, {B,..., B r }). This onstrution is defined s follows: Q = Q ( Q {,...,r}) For Σ, q Q, I {,..., r} nd I = I {i q L i } \ {j q U j }) δ (q, ) = δ(q, ) {(p, ) p δ(q, )} δ ((q, I), ) = {(p, I ) p δ(q, )}

Perspetives The generlized Bühi eptne onditions {B,..., B r } is defined y: q Q, Σ, j {,..., r} : B j = δ((q, x), ). x {,,r}\j. Sfr optimiztions Our implementtion of Sfr s onstrution is the originl presented in Sfr (988). However, there exists some optimiztion methods (Klein nd Bier, 006) to derese the omplexity (even if the omplexity with the O() nottion stys the sme). We ould implement these optimiztions inside SPOT.

Conlusion This report hs presented tehnique to omplement Bühi utomt using Sfr s onstrution for the determiniztion, nd Streett-to-Bühi trnsformtion. This tehnique hs een implemented in our model heking lirry SPOT, to enrih its olletion of lgorithms. Due to the high omplexity of the lgorithms presented, in prtie this omplementtion will hve limited pplition. One pplition is to hek whether lterntive methods like omputing the negtion of formul produe equivlent utomt. Moreover, if we express properties in lnguge tht does not support the negtion, this omplementtion would e lso useful. All the lgorithms re presented for stte-sed Bühi utomt, sine they re designed for this kind of utomt. However SPOT uses Trnsition-sed Generlized Bühi utomt, then trnsformtion from Trnsition-sed Generlized Bühi Automton to Bühi utomt is required in our urrent implementtion. We wnt to diretly work with Trnsition-sed Generlized Bühi utomton to mke enefit of their ompt representtion. Thus, our future work will e to implement new omplementtion proedure, tht supports generlized eptne onditions.

Appendix A Exmple A. Sfr onstrution To illustrte the Sfr s onstrution, we will determinize the Bühi utomton of Figure A.., q 0 q q Figure A.: The Bühi utomton to determinize

A. Sfr onstrution. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q 0 }. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q 0 } {q 0 } () The onstrution strts with n initil stte. () The initil stte ws not mrked.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q}. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} () Suessors re omputed s with the powerset onstrution. (d) The onstrution must ontinue on the suessors.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q0, q} {q0, q} {q0, q} {q} (e) The node ws not mrked. (f) q is epting, therefore new hild with q s lel is inserted.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q} {q}. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q} {q} {q0, q, q} {q0, q, q} {q} {q} (g) The powerset onstrution with the whole lphet is pplied on the tree previously reted. (h) Empty nodes re removed.

5 Exmple. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q} {q0, q} {q} {q0, q, q} {q0, q, q} {q} {q} (i) A tree hs q in its root nd its hild. The root is mrked nd the hild removed. (j) The onstrution ontinue with BFS.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q}. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q},, {q0, q, q} {q0, q, q} {q} {q} (k) The node is omputed... (l)... nd hs true self loop.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,,. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,, {q0, q} {q} {q0, q} {q} {q0, q, q} {q} {q0, q, q} {q} {q} {q} {q} (m) The node is unmrked. (n) q is n epting stte, therefore hild is inserted.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,,. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,, {q0, q} {q} {q} {q} {q0, q} {q} {q} {q} {q0, q, q} {q} {q} {q} {q0, q, q} {q} {q} {q} (o) Suessors re omputed with the powerset onstrution on lel s nodes. (p) Empty node re removed.

A. Sfr onstrution 6. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,,. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,, {q0, q} {q} {q} {q0, q} {q} {q} {q0, q, q} {q0, q, q} {q} {q} {q} (q) Vertil nodes re merged. (r) The BFS ontinue.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,,. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,, {q0, q} {q} {q} {q0, q} {q} {q} {q0, q, q} {q} {q0, q, q} {q} {q0, q, q} {q0, q, q} {q} {q, q} {q} {q} (s) The tree hs ny mrked node. (t) Eh node hs new hild.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,,. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,, {q0, q} {q} {q} {q0, q} {q} {q} {q0, q, q} {q0, q, q} {q} {q} {q0, q, q} {q} {q0, q, q} {q} {q, q} {q, q} {q} {q, q} {q} {q, q} {q, q} (u) The powerset onstrution is pplied. (v) Two siling nodes shred the sme lel. Sttes of the youngest node re removed.

7 Exmple. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q},, {q}. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,, {q0, q} {q} {q} {q0, q, q} {q} {q0, q, q} {q} {q0, q, q} {q} {q, q} {q} {q0, q, q} {q} {q, q} {q, q} () Empty nodes re removed. () Vertil merge is done.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q},, {q}. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,, {q0, q} {q} {q} {q0, q, q} {q} {q0, q, q} {q} {q} {q0, q, q} {q0, q, q} {q, q} {q, q} () The BFS ontinue. (d) The node is unmrked.. Remove mrks,,. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q} {q}. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q},, {q} {q} {q, q} {q, q} {q0, q, q} {q} {q} {q} {q0, q, q} {q} {q} {q} {q0, q, q} {q0, q, q} {q, q} {q, q} (e) q is n epting stte. (f) The powerset onstrution.

A. Sfr onstrution 8. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q},, {q} {q} {q, q} {q, q}. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q},, {q} {q} {q, q} {q0, q, q} {q} {q} {q} {q0, q, q} {q} {q} {q0, q, q} {q0, q, q} {q, q} {q, q} (g) Empty nodes re removed. (h) Vertil merge is done.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,,. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q},, {q} {q} {q, q} {q0, q} {q} {q} {q, q} {q0, q, q} {q0, q, q} {q} {q} {q0, q, q} {q0, q, q} {q, q} {q0, q, q} {q, q} {q, q} (i) The BFS ontinue. (j) Nodes re unmrked.. Remove mrks,,. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q0, q, q} {q} {q} {q, q}. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q},, {q} {q} {q, q} {q} {q0, q, q} {q} {q} {q} {q} {q0, q, q} {q} {q, q} {q0, q, q} {q0, q, q} {q, q} {q, q} {q, q} {q0, q, q} {q, q} {q, q} {q, q} {q, q} (k) Eh node hs new hild. (l) Suessors re omputed.

9 Exmple. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,,. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q},, {q} {q} {q, q} {q0, q} {q} {q} {q, q} {q0, q, q} {q} {q} {q0, q, q} {q} {q} {q} {q} {q} {q0, q, q} {q, q} {q} {q0, q, q} {q0, q, q} {q, q} {q0, q, q} {q, q} {q, q} {q, q} {q, q} (m) Horizontl merge. (n) Empty nodes re removed.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,,. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,, {q0, q} {q} {q} {q, q} {q0, q} {q} {q} {q, q} {q0, q, q} {q0, q, q} {q} {q} {q0, q, q} {q} {q0, q, q} {q, q} {q0, q, q} {q, q} {q, q} (o) Vertil merge. (p) The BFS ontinue with only one tree in the queue... Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q0, q, q} {q},, {q} {q} {q, q} {q, q}. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q} {q0, q, q} {q},, {q} {q} {q, q} {q, q} {q, q} {q0, q, q} {q0, q, q} {q, q} {q, q} (q) The node is unmrked. (r) A new hild is inserted.

A. Sfr onstrution 0. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q},, {q} {q} {q, q}. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q},, {q} {q} {q, q} {q0, q, q} {q} {q} {q} {q, q} {q, q} {q0, q, q} {q} {q} {q} {q, q} {q, q} {q0, q, q} {q0, q, q} {q, q} {q, q} (s) Suessors re omputed. (t) Empty nodes re removed.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,,. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge {q0, q},, {q} {q} {q, q} {q0, q} {q} {q} {q, q} {q} {q0, q, q} {q0, q, q} {q, q} {q} {q} {q0, q, q} {q0, q, q} {q, q} {q, q} (u) Vertil merge. (v) The utomton hs ll its sttes nd trnsitions.. Remove mrks. Brnh eptings. Suessors. Horizontl merge 6. Vertil merge,, {q0, q} {q} {q} {q, q} {q0, q, q} {q} {q0, q, q} {q, q} (w) Rin s eptne onditions re dded.

Exmple A. Trnsformtion of deterministi Streett utomton into non-deterministi Bühi Figure A.- gives more detils on the exmple of trnsformtion of deterministi Streett utomton into non-deterministi Bühi presented t Susetion... q q q0 q0 q q () The Streett utomton () Aeptne onditions re removed. q0 q q0,, q,, q0 q q0,, q,, q q,, q q,, q, { }, q0, { }, () Eh stte hs its suessors duplited with sets I nd J empty (d) The trnsition funtion is pplied on the sttes with I nd J empty. Beuse q L, suessors of (q,, ) hve the eptne ondition in their set I

A. Trnsformtion of deterministi Streett utomton into non-deterministi Bühi q q,, q q,, q0 q0,, q0 q0,, q q,, q q,, q, { }, q, { }, q0, { }, q0, { }, q, { }, q, { }, (e) The trnsition funtion is pplied on the sttes with I tht ontins the eptne ondition. (f) Beuse q U nd q L i hs een visited during the run, suessors reh to the epting pool with I nd J empty. q q,, q0 q0,, q q,, q, { }, q0, { }, q, { }, (g) All sttes with I nd J empty re in the Bühi eptne ondition set. Figure A.-: Steps of the trnsformtion of deterministi Streett utomton into nondeterministi Bühi utomton

Exmple A. Benhmrks Tle A. presents the results of our enhmrks. Those results re disussed in Setion..

A. Benhmrks Formulæ Originl Aϕ Bühi BAϕ Complementtion BAϕ Originl A ϕ St Tr St Tr St Tr St Tr (( U( Up0)) ( V p0)) (( Up0) ( V ( V p0))) 9 5 G p0 7 6 Gp0 7 6 V (( Up0) ( Up)) 6 0 5 (((( V ( Up0)) ( V ( Up))) ( V ( Up))) ( V ( Up))) ( V ( Up)) 6 9 50 76 5 V (p (Xp0 X p0)) 0 0 6 ((p0u(pup)) (pu(pup0))) (pu(p0up)) 6 p0up 9 p0v (p0 p) 0 (p0up0) (pup0) 9 p0u(p ( V p)) 7 50 U(p0 X( V p)) 5 5 G(p G p0) 5 6 Fp0 7 G(p Gp0) 5 6 V ( p0 ( Up)) 6 56 V ( p0 (pup)) 6 80 6 G((p p) ( pu(p0 p))) 6 6 6 5 G(p0 Fp) 6 56 ( V ( Up0)) ( U( V p)) 6 6 9 p0u(p X(pUp)) 5 7 80 69 U(p0 X(pUp)) 5 7 8 8 pu((p0 p) G p) 5 5 8 87 p0u(p G p0) 5 5 9 88 p0u(pup) 6 5 5 7 6 p0v ( pv p) 6 6 9 5 6 G(((p p) Fp) ( p0up)) 6 9 5 89 8 G(((p p) Fp) (p0up)) 6 9 65 9 8 G(((p p) Fp) ( p0u(p p))) 6 9 70 07 8 G((p p) ( p0u(p G p0))) 7 0 9 566 6 G((p p) ( pu((p0 p) G p))) 7 0 77 5 G((p p) (p0u(p Gp0))) 7 0 85 6 G((p p) ( p0u((p p) G p0))) 7 0 87 6 G(p G(p0 Fp)) 7 0 5 6 6 G((((p p) Fp) (p0 ( pu(p p))))up) 7 6 7 8 G(p G(p0 (p XFp))) 8 5 5 006 9 G(p G(p0 ((p p5) X( p5up)))) 8 5 80 06 0 ( V p0)up 6 6 8 7 6 U(p0 X(p X( Up))) 6 5 8 866 58 6 ( Up0) ( U p0) 7 7 0 Fp ( p0up) 7 7 5 79 5 Fp (p0up) 7 7 5 79 5 Fp ( p0u(p p)) 7 7 7 55 5 (Xp0Up) X( p0v ( p0 p)) 8 8 6 5 ( V (p X( V p0))) ( V (p X( V p0))) 8 8 6 80 6 (Fp (p0 ( pu(p p))))up 8 6 78 5 ( U( V p0)) ( V ( Up)) 9 5 05 86 6 V ( p0 (pu(( V p) ( V p)))) 9 5 88 6099 6 6 ( Up0)U( V p) 0 7 9 89 96 7 G(p0 F(p XFp)) 8 8 60 50 6

5 Exmple G(p0 F((p p5) X( p5up))) 8 8 59 90 7 (( V ( Up0)) ( U( V p))) (( V ( Up)) ( U( V p0))) 6 6 0 0 60 7 8 (Xp0UXp) X( p0v p) 5 9 5 9 6 0 U(p0 X( U(p X( U(p X( Up)))))) 5 9 8 5 70 7 Fp0 ( p0u((p p0) X( p0up))) 5 9 6 8 09 6 ( U( V p0)) ( U( V p)) 5 0 5 0 5 096 G p ( pu((p Fp0) ( p0u((p p0) X( p0up))))) 5 0 6 67 9 F(p XFp) ( pup0) 5 0 5 0 6 98 8 G p F(p Fp0) 5 6 5 8 Fp ( p0u(p ((p p0) X( p0up)))) 5 6 77 8 G((p p) ((p0 ( pu(p p)))u(p G(p0 ( pu(p p)))))) 5 8 8 9 998 086 8 Fp ( ((p p) X( pu(p p)))u(p p0)) 6 6 9 69 7 ( V ( p0 ( Up))) ((Xp0Up) X( p0v ( p0 p))) 6 5 6 5 56 5 9 G p F(p ( p0u(p G p0))) 6 5 7 8 656 7 7 G((p Fp) ( ((p p) X( pu(p p)))u(p p0))) 6 6 7 0 7 00 5 0 p0u((p0u(( p0u((p0u(g p0 Gp0)) G p0)) G p0)) G p0) 6 0 0 8 0 6 G((p Fp) ( p0u(p ((p p0) X( p0up))))) 6 0 07 6 5 G(p (Fp0 ( p0u(p ((p p0) X( p0up)))))) 6 0 866 59780 0 G(((p Fp) (p0 ( pu((p p) X( pup)))))up) 6 9 96 696 5 G(((p Fp) (p0 ( pu(((p p) p5) X(( p p5)up)))))up) 6 9 96 9 5 G((p XFp) XF(p Fp0)) 6 7 5 9 5 p0u(p X(p ( U(p X( U(p X( U(p5 X( Up6))))))))) 7 0 9 0 5709 7 G p ( pu(p (F(p XFp) ( pup0)))) 7 8 8 0 69 87 5 ( V ( p0 ( Up))) ((Xp0UXp) X( p0v p)) 7 9 8 0 05 50 5 9 (Fp (p0 ( pu((p p) X( pup)))))up 7 9 0 8 9 (Fp (p0 ( pu(((p p) p5) X(( p p5)up)))))up 7 9 0 95 0 ((( V (p ( V ( Up0)))) ( V (p ( V ( U p0))))) ( V p)) ( V p) 7 8 0 98 8 7 76 G((p Fp) (( p0 p)u(p ((p0 p)u(p (( p0 p)u(p ((p0 7 8 9 5765 77 8 6 p)u(p ( p0up)))))))))) G(p G((p XFp) X( pu(p Fp0)))) 7 58 05 8 8 8 9 50 75 7 Fp (( p0 p)u(p ((p0 p)u(p (( p0 p)u(p ((p0 p)u(p ( p0up))))))))) G(p (( p0 p)u(p ((p0 p)u(p (( p0 p)u(p ((p0 p)u((p 8 9 68 8 580 7 ( p0u(p G p0))) Gp0))))))))) G(((p Fp) ((p X( pup)) X( pu(p Fp0))))Up) 8 7 98 8008 5 Fp ( pu(p ( p0u((p0u(( p0u((p0u(g p0 Gp0)) G p0)) G p0)) 9 6 5 59 07 7 G p0)))) (Fp ((p X( pup)) X( pu(p Fp0))))Up 0 50 0 50 90 76 8 ((( V (p ( U( V p0)))) ( V (p ( U( V p0))))) ( V p)) ( V p) 9 756 70 ((( U( p ( V ( U p0)))) ( U( p ( V ( Up0))))) ( Up)) ( Up) 7 9 9 98 85 86 9 ((( U( p ( U( V p0)))) ( U( p ( U( V p0))))) ( Up)) ( Up) 5 8 8 0008 7 8 G(p ( ((p p) X( pu(p p)))u((p p0) G (p XFp)))) 8 9 9 unfinished 8 7 G((p ((p X( pup)) X( pu(p Fp0))))U(p G((p X( pup)) 97 6 unfinished 9 X( pu(p Fp0))))) G((p (p0 ( pu((p p) X( pup)))))u(p G(p0 (p XFp)))) 6 9 00 unfinished 8 G((p (p0 ( pu(((p p) p5) X(( p p5)up)))))u(p G(p0 ((p p5) X( p5up))))) 6 9 00 unfinished 56 Tle A.: Benhmrks etween BA φ, BA φ nd A φ with φ Liner-time Temporl-Logi formul, on the numer of sttes nd trnsition of the utomt. Formulæ re sorted ording to the initil numer of sttes nd trnsitions.