summaryrefslogtreecommitdiff
path: root/abstract/abs_interp.ml
diff options
context:
space:
mode:
Diffstat (limited to 'abstract/abs_interp.ml')
-rw-r--r--abstract/abs_interp.ml18
1 files changed, 7 insertions, 11 deletions
diff --git a/abstract/abs_interp.ml b/abstract/abs_interp.ml
index c3b2d79..0db128f 100644
--- a/abstract/abs_interp.ml
+++ b/abstract/abs_interp.ml
@@ -174,9 +174,7 @@ end = struct
num_vars : (id * bool) list;
(* program expressions *)
- f : bool_expr;
cl : conslist;
- f_g : bool_expr;
cl_g : conslist;
guarantees : (id * bool_expr) list;
@@ -237,14 +235,12 @@ end = struct
(print_list Ast_printer.print_typed_var ", ")
rp.all_vars;
- let enum_vars = List.fold_left
- (fun v (_, id, t) -> match t with
- | TEnum ch -> (id, ch)::v | _ -> v)
- [] rp.all_vars in
- let num_vars = List.fold_left
- (fun v (_, id, t) -> match t with
- | TInt -> (id, false)::v | TReal -> (id, true)::v | _ -> v)
- [] rp.all_vars in
+ let num_vars, enum_vars = List.fold_left
+ (fun (nv, ev) (_, id, t) -> match t with
+ | TEnum ch -> nv, (id, ch)::ev
+ | TInt -> (id, false)::nv, ev
+ | TReal -> (id, true)::nv, ev)
+ ([], []) rp.all_vars in
let init_f = Transform.init_f_of_prog rp in
Format.printf "Init formula: %a@.@." Formula_printer.print_expr init_f;
@@ -317,7 +313,7 @@ end = struct
let st =
{ rp; opt; enum_vars; num_vars;
- f; cl; f_g; cl_g; guarantees;
+ cl; cl_g; guarantees;
cycle; forget; d_vars; top;
env; delta; widen } in