package dolmen

  1. Overview
  2. Docs
A parser library

Install

Dune Dependency

Authors

Maintainers

Sources

dolmen-0.4.1.tar.gz
md5=55a97ff61dd8398e38570272ae7e3964
sha512=83f71037eb568d5449ff2d968cb50a0b105c9712e0bd29497d1f95683698f394860a11d4dee2a2a41163504e395ef068c3974901fca11894d671684fe438fc51

doc/dolmen.tptp/Dolmen_tptp/module-type-Statement/index.html

Module type Dolmen_tptp.StatementSource

Implementation requirement for the TPTP format.

Sourcetype t

The type of statements.

Sourcetype id

The type of identifiers

Sourcetype term

The type of terms used in statements.

Sourcetype location

The type of locations attached to statements.

Sourceval annot : ?loc:location -> term -> term list -> term

Terms as annotations for statements.

Sourceval include_ : ?loc:location -> string -> id list -> t

Include directive. Given the filename, and a list of names to import (an empty list means import everything).

Sourceval tpi : ?loc:location -> ?annot:term -> id -> string -> term -> t
Sourceval thf : ?loc:location -> ?annot:term -> id -> string -> term -> t
Sourceval tff : ?loc:location -> ?annot:term -> id -> string -> term -> t
Sourceval fof : ?loc:location -> ?annot:term -> id -> string -> term -> t
Sourceval cnf : ?loc:location -> ?annot:term -> id -> string -> term -> t

TPTP statements, used for instance as tff ~loc ~annot name role t. Instructs the prover to register a new directive with the given name, role and term. Current tptp roles are:

  • "axiom", "hypothesis", "definition", "lemma", "theorem" acts as new assertions/declartions
  • "assumption", "conjecture" are proposition that need to be proved, and then can be used to prove other propositions. They are equivalent to the following sequence of smtlib statements:

    • push 1
    • assert (not t)
    • check_sat
    • pop 1
    • assert t
  • "negated_conjecture" is the same as "conjecture", but the given proposition is false (i.e its negation is the proposition to prove).
  • "type" declares a new symbol and its type
  • "plain", "unknown", "fi_domain", "fi_functors", "fi_predicates" are valid roles with no specified semantics
  • any other role is an error
OCaml

Innovation. Community. Security.