1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950(* 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. *)moduletypeTerm=sigtypet(** The type of terms. *)typelocation(** The type of locations. *)valatom:?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. *)moduletypeStatement=sigtypet(** The type of statements for iCNF. *)typeterm(** The type of iCNF terms. *)typelocation(** The type of locations. *)valp_inccnf:?loc:location->unit->t(** header of an iCNF file. *)valclause:?loc:location->termlist->t(** Make a clause from a list of literals. *)valassumption:?loc:location->termlist->t(** Generate a solve instruction with the given list of assumptions. *)end(** Requirements for implementations of iCNF statements. *)