package dolmen

  1. Overview
  2. Docs
A parser library for automated deduction

Install

Dune Dependency

Authors

Maintainers

Sources

dolmen-0.8.tbz
sha256=3ee4b4b028b18ab0066cb4648fa14cd4d628a3afd79455f85fb796a9969ac80c
sha512=06d455f0221814dae44d9d8614cab7c1d4fb43a383e603a92ffc9cf4a753d42c5f2a0f3c5ae64aa6cf02da769c4666b130443ae2cf8fa0918c906d46e0caec9a

doc/src/dolmen.icnf/ast.ml.html

Source file ast.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

(* This file is free software, part of dolmen. See file "LICENSE" for more information. *)

(** AST requirements for the iCNF format.
    iCNF is a very simple format intended to express CNFs (conjunctive normal forms)
    in the simplest format possible. Compared to dimacs, iCNF allows local
    assumptions, and does not require to declare the number of clauses and
    formulas. *)

module type Term = sig

  type t
  (** The type of terms. *)

  type location
  (** The type of locations. *)

  val atom : ?loc:location -> int -> t
  (** Make an atom from an non-zero integer. Positive integers denotes variables,
      and negative integers denote the negation of the variable corresponding to
      their absolute value. *)

end
(** Requirements for implementations of Dimacs terms. *)


module type Statement = sig

  type t
  (** The type of statements for iCNF. *)

  type term
  (** The type of iCNF terms. *)

  type location
  (** The type of locations. *)

  val p_inccnf : ?loc:location -> unit -> t
  (** header of an iCNF file. *)

  val clause : ?loc:location -> term list -> t
  (** Make a clause from a list of literals. *)

  val assumption : ?loc:location -> term list -> t
  (** Generate a solve instruction with the given list of assumptions. *)

end
(** Requirements for implementations of iCNF statements. *)


OCaml

Innovation. Community. Security.