Towards a Generic Tool for Reasoning about Labeled Transition Systems Pierre Cast´ eran and Davy Rouillard LaBRI, Bordeaux I University, 33405 TALENCE Cedex, FRANCE, {casteran,rouillar}@labri.u-bordeaux.fr, WWW home page : http://dept-info.labri.u-bordeaux.fr/~casteran/CClair/CClair.html This work is partially supported by the French RNRT project Calife. Abstract. The CClair project is designed to be a general framework for working with various kinds of transition systems, allowing both ver- ification and testing activities. It is structured as a set of theories of Isabelle /HOL, the root being a theory of transition systems and their behaviour. Subtheories define particular families of systems, like con- strained and timed automata. Besides the great expressivity of higher order logic, we show how important features like rewriting and existen- tial variables are determinant in this kind of framework. 1 Introduction Labeled transition systems [4, 15] form a widely used formalism for studying properties of reactive softwares : for instance, we can prove invariants, more or less strong equivalences between two systems, or build executions for simulation and test purposes. Besides the plain model — a set of labeled transitions linking some states —, there exists many variations in the litterature : constrained automata [3, 9], input-output automata [19], various kinds of timed automata [1,18], without forgetting Petri nets, Turing Machines, Robin Milner’s CCS [20]. In general, these concepts are used to modelize critical and/or complex sys- tems, the behaviour of which is important and hard to understand. Computer- aided tools are thus necessary to do huge computations or reasoning, allowing to avoid some human but harmful errors. Depending on which kind of system we want to work on, two main approaches can be considered : Automatic tools can work on some well characterized families of transition systems which have nice decidability properties; they often cross huge finite automata for checking some invariant, doing simulations, etc. Among these tools, we can cite MEC [2], Hytech [14], Kronos [12]. When the size of some system is too big, or the system is parameterized, or its behaviour is described in terms of complex data structures, automatic tools based on enumeration techniques may fail, because of physical limitations of computers or undecidability results [8]. Proof assistants offer the possibility of working with a great variety of math- ematical objects (including infinite ones) and obtaining results with a very good