package dolmen

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

Install

Dune Dependency

Authors

Maintainers

Sources

dolmen-0.7.tbz
sha256=ff2889fa9d467d5b4d87ae4f819a64358715f457cc6226b455463c2fcd4ab2af
sha512=d6ba56945aabcf0886e83fcf44c45f2f8afcf68e48d2f0b25f9cd8e60d18106fae3976fee49d3e291b2e0ab3266837ad5eff800dc51fe2b3aab15ad81ea58cbb

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.