Index of modules


A
Abdrule
An abduction rule used in an abductive cyclic prover.
Abducer
A cyclic abducer (cf.

B
Bidirectional [Sl_unify]
Blist
List operations.

C
Containers
Given a BasicType build a module with several containers for it.

E
Elt [Tags]
Elt [Ord_constraints]

F
FList [Sl_tpair]
A list of term pairs.
FList [Sl_term]
FList [Containers.S]
Flist
A functorised list.
Form [Tl_form_ltl]
Form [Tl_form]
Fun
Combinators for manipulating functions.

H
Hashmap [Containers.S]
Hashset [Containers.S]
Hashset
This module implements imperative sets as hash tables.

I
Int
Int BasicType with assorted containers.

L
ListSet [Sl_tpair]
A set of term pairs
Listset
A list-based set container.
Lru
Implementation of an LRU cache for memoising functions.

M
MSet [Sl_pred]
MSet [Containers.S]
Make [Containers]
Functor putting together the different containers.
Make [Treeset]
Create an ordered container.
Make [Pair]
Create functions for equality, comparison, hashing and printing for a pair of types.
Make [Treemap]
Create an ordered map using a tree-based representation.
Make [Listset]
Create an ordered container whose underlying representation is a list.
Make [Multiset]
Create an ordered container that behaves like a bag (add always increases size by one).
Make [Flist]
Given a type with comparison, equality and printing facilities, build the same facilities for lists of that type.
Make [Abducer]
Make [Abdrule]
Make [Seqtactics]
Make [Prover]
Make [Proof]
Make [Proofrule]
Make [Proofnode]
Make [Lru]
Implementation of an LRU cache for memoising functions whose arguments can be compared for equality and can be hashed.
Make [Hashset]
Functor building an implementation of the hashtable structure.
MakeUnifier [Unification]
This functor makes a mk_unifier function for a particular implementation of a container.
Map [Sl_term]
An ordered map with terms as keys.
Map [Containers.S]
Multiset
A multiset container.

O
Option
Functions for manipulating optional values.
Ord_constraints
A structure representing a set of constraints on ordinal-valued variables.

P
Pair
Operations on pairs.
Proof
A cyclic proof object.
Proof [Sigs.ABDUCER]
Proof [Sigs.PROVER]
Proofnode
A node in a cyclic proof.
Proofrule
A proofrule used by a cyclic prover.
Prover
A cyclic prover object.

S
Seq [Sigs.ABDUCER]
Seq [Sigs.PROVER]
Seqtactics
Tactics for combining sequent-level rules.
Set [Sl_term]
An ordered set of terms.
Set [Containers.S]
Sigs
Core module signatures used in Cyclist.
Sl_abduce
This module contains functions to answer various abduction questions for use in program verification.
Sl_deqs
Sets of disequalities over terms.
Sl_form
SL formula, basically a list of symbolic heaps, denoting their disjunction, along with a set of contraints on predicate ordinal labels (tags).
Sl_form_rho
SL formula, basically a list of symbolic heaps, denoting their disjunction.
Sl_heap
Symbolic heaps.
Sl_heap_rho
Symbolic heaps.
Sl_indrule
Inductive rule type consisting of a symbolic heap and a predicate head.
Sl_pred
Predicate occurrences consisting of a predicate identifier and a list of terms as parameters.
Sl_pto
Points-to atom, consisting of a pair of a term and a list of terms.
Sl_ptos
Multiset of points-tos.
Sl_rho
A stack structure for prophecy variables.
Sl_seq
SL sequent, as a pair of SL formulas.
Sl_subst
Module providing SL term substitution-related functionality.
Sl_term
Module defining SL terms, which consist of variables (free or existentially quantified), or the constant nil.
Sl_tpair
An ordered pair of SL terms.
Sl_tpred
Tagged predicate, as a pair of an integer and a predicate.
Sl_tpreds
Multiset of tagged predicates.
Sl_uf
A union-find structure for SL terms.
Sl_unify
This module specialises the generic Unification module to the SL instantiation of cyclist and provides extra functionality to support the unification of its various elements
Soundcheck
Provides an abstract view of a proof as a graph and allows checking its soundness.
Strng
String BasicType with assorted containers.
Subst [Sl_term]
Substitutions over terms
Subst [VarManager.S]

T
Tagpairs
A set of tag pairs with a few convenience functions.
Tags
A set of tags.
Tl_form
A CTL temporal logic formula
Tl_form_ltl
An LTL temporal logic formula
Treemap
An ordered map using the standard Map module.
Treeset
An ordered container based on the standard Set module.

U
Unidirectional [Sl_unify]
Unification
A library of types and combinators supporting continuation-passing-style unifiers
Unifier [Tags.Elt]
Utilsigs
Signatures for containers and essential types.

V
Var [VarManager.S]
Abstract type of variables
VarManager
An abstract datatype for managing variables.