|
In model checking, the system and its corresponding LTL specification are often translated into automata-based models. One of the most popular approach to LTL model checking is an automata-theoretic algorithm called tableau construction. This method take advantage of the fact that both system and its specification can be represented in the same notion, which in here is the Bu¨chi automata model. In this article, we will breifly discuss the properties of Bu¨chi automata, the most widely used automata model in model checking literature. This article assumes you have some basic knowlege on axiomatic set theory and automata theory.
Let us first do a quick recap on your undergraduate theory of computation course. If you have some knowledge on automata theory, you may know that a regular finite automaton, which takes fintie words as input, can be formally defined by a 5-tuple.
Definition
is a finite set of alphabet,
is a finite set of states,
is the finte transition relation,
is the set of initial states,
is the set of accepting states.
Now we can define the notion of a run on a automaton :
Definition
The first state is in the set of initial states.
For , , that is, consecutive states must obey the transition relation .
A run is called accepting if it ends with a state in .
We define the language to be the set of all words accepted by the automaton and is said to be a Regular Langauge. A regular langauge can be described by a regular expression, such as . This article will not elaborate on the meaning of them, as regular expression is almost ubiquitous in day-to-day programming.
Bu¨chi automata can be defined by the same 5-tuple that defines finite automata. In fact, the only difference between Bu¨chi automata and finite automata is that Bu¨chi automata can take words of infinite length as input. Since computers have finite amount of memory and many computer programs only run for finite amount of time, one may argue that finite length input and finite length runs are sufficient to describe the behavior of a system. However, infinite sets (and their cardinalities) can be think of the limit of finite sets when they are bounded but their boundaries are unkown. Furthermore, reactive systems such as traffic light control systems are not expected to terminate. In these scenarios, we must introduce Bu¨chi automata.
Definition
Unlike finite automata who take words in , Bu¨chi automata take words in , which is the language of finite and infinitely long strings whose characters are in , as input. For a Bu¨chi automaton , the langauge consists of all the words accepted by and is called an -regular language. To properly define what it means for a Bu¨chi automaton to accept a word, we must first prove a preliminary lemma.
Lemma
Proof. By the infinite pigeonhole principle, since is infinite and is finite, there must be at least one state in such that it appears infinitely many times in the right-hand side of .
With the notion of , we can now define the concept of acception formally:
Definition
Note that this definition is very similar to how we define fairness in LTL, in fact the fairness condition in LTL is called generalized Bu¨chi acceptance condition.
An important difference between regular finite automata and Bu¨chi automata is that non-deterministic Bu¨chi automata are strictly more expressive than deterministic ones.
Remark
Lemma
Proof. For deterministic Bu¨chi automata, one input word can have exactly one run starting from its initial state. Thus this proposition can be proved directly from the definition of acception.
Theorem
Proof. Consider the language whose and consists of finite number of 's but infinite number of 's . We will prove that no deterministic Bu¨chi automaton can accept this language.
Suppose there exists such automaton such that equals . By the definition of , for any finite word , we have in . Now we can construct an infinite sequence of words such that , , where is the smallest natural number such that is in . Following this definition, we can construct a function that maps a natural number to a word . Let infinite word be any infinite word accepted by such that all words in are its prefixes. By lemma 7, this word is accepted by . However, for any finite number , there is always a prefix of having many of 's. Therefore contains infinitely many 's, contradicting the definition of .
However, there exists a non-deterministic Bu¨chi automaton that accepts this language, see figure 1.