From d8218ba6484bed152696ed17bcd9c09b572b2178 Mon Sep 17 00:00:00 2001 From: Michele Alberti <michele.alberti@cea.fr> Date: Tue, 23 Nov 2021 11:52:48 +0100 Subject: [PATCH] [Marabou] Just a little rework. --- src/transformations/native_nn_prover.mli | 2 +- src/transformations/vars_on_lhs.ml | 28 ++++++++++++------------ src/transformations/vars_on_lhs.mli | 8 +++++++ tests/marabout.t | 2 -- 4 files changed, 23 insertions(+), 17 deletions(-) create mode 100644 src/transformations/vars_on_lhs.mli diff --git a/src/transformations/native_nn_prover.mli b/src/transformations/native_nn_prover.mli index 65b43a80..d8ad4b12 100644 --- a/src/transformations/native_nn_prover.mli +++ b/src/transformations/native_nn_prover.mli @@ -5,7 +5,7 @@ (**************************************************************************) val init : unit -> unit -(** Register the transformations. *) +(** Register the transformation. *) val meta_input : Why3.Theory.meta (** Indicate the input position. *) diff --git a/src/transformations/vars_on_lhs.ml b/src/transformations/vars_on_lhs.ml index b6cb6ae7..a1ac31d6 100644 --- a/src/transformations/vars_on_lhs.ml +++ b/src/transformations/vars_on_lhs.ml @@ -4,6 +4,8 @@ (* *) (**************************************************************************) +open Base + let make_rt env = let open Why3 in let th = Env.read_theory env [ "ieee_float" ] "Float64" in @@ -21,29 +23,27 @@ let make_rt env = ({ t_node = Tconst _; _ } as const); ({ t_node = Tapp (_, []); _ } as var); ] ) -> - Fmt.pr "HERE: %a!@." Pretty.print_term t; + let tt = [ var; const ] in if Term.ls_equal ls le - then Term.ps_app ge [ var; const ] + then Term.ps_app ge tt else if Term.ls_equal ls ge - then Term.ps_app le [ var; const ] + then Term.ps_app le tt else if Term.ls_equal ls lt - then Term.ps_app gt [ var; const ] + then Term.ps_app gt tt else if Term.ls_equal ls gt - then Term.ps_app lt [ var; const ] + then Term.ps_app lt tt else t | _ -> t in - let init = None in - let init = Task.add_ty_decl init t in - let init = Task.add_param_decl init le in - let init = Task.add_param_decl init lt in - let init = Task.add_param_decl init ge in - let init = Task.add_param_decl init gt in - (rt, init) + let task = + List.fold [ le; lt; ge; gt ] ~init:(Task.add_ty_decl None t) + ~f:Task.add_param_decl + in + (rt, task) let vars_on_lhs env = - let rt, init = make_rt env in - Why3.Trans.rewrite rt init + let rt, task = make_rt env in + Why3.Trans.rewrite rt task let init () = Why3.Trans.register_env_transform diff --git a/src/transformations/vars_on_lhs.mli b/src/transformations/vars_on_lhs.mli new file mode 100644 index 00000000..7914140e --- /dev/null +++ b/src/transformations/vars_on_lhs.mli @@ -0,0 +1,8 @@ +(**************************************************************************) +(* *) +(* This file is part of CAISAR. *) +(* *) +(**************************************************************************) + +val init : unit -> unit +(** Register the transformation. *) diff --git a/tests/marabout.t b/tests/marabout.t index f2db6c2f..b05012d8 100644 --- a/tests/marabout.t +++ b/tests/marabout.t @@ -43,8 +43,6 @@ Test verify <autodetect>Found prover Marabou version 1.0.+, OK. <autodetect>Found prover PyRAT version 1.1, OK. <autodetect>3 prover(s) added - HERE: lt (0.0:t) x1! - HERE: lt (0.0:t) y! Goal G: High failure Output: 1.0.+ -- GitLab