Introduction

The Core library provides low-level interfaces to the internally used data structures. Using this library, internal data structures can be manipulated directly, parsed from and printed to human-readable textual descriptions.

Concepts

The low-level data structures are represented as ATerms (short for Annotated Terms) [ATerm]. ATerms represent tree-like data structures with features such as maximal subterm sharing, automatic garbage collection, and compressed binary exchange formats. The ATerms implementation used by mCRL2 is provided by the atermpp library.

Structure

The Core library is a collection of headers and source files in the mcrl2::core namespace. Its main components are:

References

[ATerm]

M.G.J. van den Brand and P. Klint (2007). “ATerms for manipulation and exchange of structured data: It’s all about sharing.” Information and Software Technology 49:55–64.