Class representing the types/sorts defined by this ADT theory
The ADT of Booleans, with truth values true, false as only constructors.
The ADT of Booleans, with truth values true, false as only constructors. The ADT is a simple enumeration, and preprocessing will map true to value 0, and false to value 1.
Extractor recognising the constructors of any ADT theory.
Extractor recognising the constructors of any ADT theory. The extractor will produce the adt, and the index of the constructor.
Extractor recognising the X_ctor
functions of
any ADT theory.
Extractor recognising the X_ctor
functions of
any ADT theory.
The preprocessor can sometimes cause solution formulas that are
illegal according to SMT-LIB because they contain the
ADT.CtorId
functions in wrong places.
The preprocessor can sometimes cause solution formulas that are
illegal according to SMT-LIB because they contain the
ADT.CtorId
functions in wrong places. This class
rewrites such formulas to only use CtorId functions in equations
ctorId(t) = num
.
Extractor recognising the selectors of any ADT theory.
Extractor recognising the selectors of any ADT theory. The extractor will produce the adt, the index of the constructor, and the index of the selected constructor argument.
Extractor recognising the X_size
functions of
any ADT theory.
Extractor recognising the X_size
functions of
any ADT theory.
Create an ADT that implements an enumeration, and return the corresponding sort and the terms representing the cases.
Create an ADT that implements lists.
Create an ADT that implements lists. The return tuple provides the
list sort, and the functions for nil, cons, head, tail. If the
withSize
option is set, the last returned function is the
size function of the ADT; it computes the number of constructor symbols
of a term.
Create an ADT that implements a record type, and return the corresponding sort, the constructor symbol, and the selectors.
(Since version ) see corresponding Javadoc for more information.