package dolmen

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Dolmen_intf.TermSource

Interfaces for Terms. This module defines Interfaces that implementation of terms must respect in order to be used to instantiated the corresponding language classes.

Signature for Parsing Logic languages

Sourcemodule type Logic = sig ... end

Signature used by the Logic class, which parses languages such as tptp, smtlib, etc... Mainly used to parse first-order terms, it is also used to parse tptp's THF language, which uses higher order terms, so some first-order constructs such as conjunction, equality, etc... also need to be represented by standalone terms.

Signature for Response terms

Sourcemodule type Response = Logic

Simply an alias to the Logic signature.

Signature for Typechecked terms

Sourcemodule type Tff = sig ... end

Signature required by terms for typing first-order polymorphic terms.

Sourcemodule type Thf = sig ... end
Sourcemodule type Dimacs = sig ... end

Minimum required to type dimacs

Sourcemodule type Ae_Base = sig ... end

Minimum required to type ae's tff

Sourcemodule type Ae_Arith_Common = sig ... end
Sourcemodule type Ae_Arith = sig ... end

Minimum required to type ae's arith

Sourcemodule type Ae_Array = sig ... end
Sourcemodule type Ae_Bitv = sig ... end

Minimum required to type ae's bitvectors

Sourcemodule type Tptp_Tff_Core = sig ... end

Minimum required to type tptp's tff

Sourcemodule type Tptp_Thf_Core_Const = sig ... end
Sourcemodule type Tptp_Thf_Core = sig ... end

Minimum required to type tptp's thf

Sourcemodule type Tptp_Tff_Arith_Common = sig ... end

Common signature for tptp arithmetics

Sourcemodule type Tptp_Tff_Arith = sig ... end

Signature required by terms for typing tptp arithmetic.

Sourcemodule type Smtlib_Base = sig ... end

Minimum required to type smtlib's core theory.

Sourcemodule type Smtlib_Arith_Common = sig ... end

Common signature for first-order arithmetic

Sourcemodule type Smtlib_Int = sig ... end

Signature required by terms for typing smtlib int arithmetic.

Sourcemodule type Smtlib_Real = sig ... end

Signature required by terms for typing smtlib real arithmetic.

Sourcemodule type Smtlib_Real_Int = sig ... end

Signature required by terms for typing smtlib real_int arithmetic.

Sourcemodule type Smtlib_Array = sig ... end
Sourcemodule type Smtlib_Bvconv = sig ... end
Sourcemodule type Smtlib_Bitv = sig ... end
Sourcemodule type Smtlib_Float_Bitv = sig ... end

Bitvector part of the smtlib float requirements

Sourcemodule type Smtlib_Float_Real = sig ... end

Real part of the smtlib float requirements

Sourcemodule type Smtlib_Float_Float = sig ... end

Float part of the smtlib float requirements

Sourcemodule type Smtlib_Float = sig ... end

Floating points are complicated so this documentation is not in anyway sufficient. A detailed description of the theory together with the rationale of several models decisions as well as a formal semantics of the theory can be found in

Sourcemodule type Smtlib_String_RegLan = sig ... end
Sourcemodule type Smtlib_String_String = sig ... end
Sourcemodule type Smtlib_String = sig ... end
Sourcemodule type Zf_Base = sig ... end
Sourcemodule type Zf_Arith = sig ... end
OCaml

Innovation. Community. Security.