blob: 6e84c75c699f272f4b9d5749c9e6ba36b5d770ab (
plain) (
blame)
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
|
open Ast
open Formula
module type ENVIRONMENT_DOMAIN = sig
type t
type itv
(* construction *)
val init : t
val bottom : t
val is_bot : t -> bool
(* variable management *)
val addvar : t -> id -> bool -> t (* integer or float variable ? *)
val forgetvar : t -> id -> t (* remove var from constraints *)
val rmvar : t -> id -> t
val vars : t -> (id * bool) list
val vbottom : t -> t (* bottom value with same environment *)
val var_itv : t -> id -> itv
(* set-theoretic operations *)
val join : t -> t -> t (* union *)
val meet : t -> t -> t (* intersection *)
val widen : t -> t -> t
(* order *)
val subset : t -> t -> bool
val eq : t -> t -> bool
(* abstract operation *)
val apply_f : t -> bool_expr -> t
val apply_cl : t -> conslist -> t
val assign : t -> (id * num_expr) list -> t
(* pretty-printing *)
val print_vars : Format.formatter -> t -> id list -> unit
val print_all : Format.formatter -> t -> unit
val print_itv : Format.formatter -> itv -> unit
end
|