I. Introduction
Temporal logic [1] [2] is the natural framework for specifying and verifying the correctness of digital circuits and computer programs. However, due to its resemblance to natural language, its expressivity, and the existence of off-the-shelf algorithms for model checking, temporal logic has the potential to impact several other areas of engineering. Analysis of systems with continuous dynamics based on qualitative simulations and temporal logic was proposed in [3] and [4]. In the control-theoretic community, a framework for specifying and controlling the behavior of a discrete linear system has been developed in [5]. In [6], the authors consider the problem of robustly controlling hybrid systems based on temporal logic specifications. The use of temporal logic for task specification and controller synthesis in mobile robotics has been advocated as far back as [7], and recent results include [8]–[12]. In the area of systems biology, the qualitative behavior of genetic circuits can be expressed in temporal logic, and model checking can be used for analysis, as suggested in [13] and [14]. Besides temporal logic, regular expressions represent another formalism for describing desired behaviors of real systems, as in [15]. The main difference is that regular expressions specify finite behaviors, whereas the temporal logic that we use specifies infinite ones.