LASCAr is a library for manipulating Labeled Transition Systems (LTS) in OCaml. LASCAr provides functions for

LASCAr provides implementations both for “generic” LTS (with or without state attributes) and for “specialized” versions :

The library makes a heavy use of functors to support genericity and to maximise code reuse.


The library API is documented here.

Some annotated code snippets can be found here.

Other examples are provided in a dedicated directory.


The source code for the latest release is here. Compiling and installing requires GNU make and OCaml (version 4.03 or latter, with OCamlP4 support).

LASCAr is also available


To use compile a program making use of the library, simply execute

$ ocamlc -I <install_dir> -o foo utils.cma lascar.cma

or, better, if the package has been installed with ocamlfind or opam

$ ocamlfind ocamlc -package lascar -linkpkg -o foo

For displaying the generated .dot files, you will need to install the Graphviz suite of tools.