Skip to content
Snippets Groups Projects
Commit 889177e1 authored by François Bobot's avatar François Bobot
Browse files

Absolutize the path of nnet given to provers

           - more robust
           - fix a perhaps why3 change
parent 2279ae37
No related branches found
No related tags found
No related merge requests found
...@@ -42,5 +42,5 @@ build: [ ...@@ -42,5 +42,5 @@ build: [
["dune" "install" "-p" name "--create-install-files" name] ["dune" "install" "-p" name "--create-install-files" name]
] ]
pin-depends: [ pin-depends: [
[ "why3.1.4.0" "git+https://gitlab.inria.fr/why3/why3.git#4e3d0bc71f153fe5625a4a7c92d4dd6cd5e8cf75" ] [ "why3.1.4.0" "git+https://gitlab.inria.fr/why3/why3.git#047c34a8" ]
] ]
pin-depends: [ pin-depends: [
[ "why3.1.4.0" "git+https://gitlab.inria.fr/why3/why3.git#4e3d0bc71f153fe5625a4a7c92d4dd6cd5e8cf75" ] [ "why3.1.4.0" "git+https://gitlab.inria.fr/why3/why3.git#047c34a8" ]
] ]
...@@ -25,5 +25,5 @@ let autodetect ?(debug = false) () = ...@@ -25,5 +25,5 @@ let autodetect ?(debug = false) () =
let data = Autodetection.Prover_autodetection_data.from_file caisar_conf in let data = Autodetection.Prover_autodetection_data.from_file caisar_conf in
let config = Whyconf.init_config (Some null) in let config = Whyconf.init_config (Some null) in
let binaries = Autodetection.request_binaries_version config data in let binaries = Autodetection.request_binaries_version config data in
let provers = Autodetection.compute_builtin_prover binaries data in let provers = Autodetection.compute_builtin_prover binaries config data in
Whyconf.set_provers config provers Whyconf.set_provers config provers
...@@ -95,6 +95,7 @@ let simplify_goal env input_variables = ...@@ -95,6 +95,7 @@ let simplify_goal env input_variables =
compute_defs = false; compute_defs = false;
compute_builtin = true; compute_builtin = true;
compute_def_set = Term.Sls.empty; compute_def_set = Term.Sls.empty;
compute_max_quantifier_domain = 0;
} }
env known env known
in in
......
...@@ -37,7 +37,8 @@ let combine_prover_answers answers = ...@@ -37,7 +37,8 @@ let combine_prover_answers answers =
| Call_provers.Valid, r | r, Call_provers.Valid -> r | Call_provers.Valid, r | r, Call_provers.Valid -> r
| _ -> acc) | _ -> acc)
let call_prover ~limit (prover : Why3.Whyconf.config_prover) driver task = let call_prover ~limit config (prover : Why3.Whyconf.config_prover) driver task
=
let open Why3 in let open Why3 in
let task_prepared = Driver.prepare_task driver task in let task_prepared = Driver.prepare_task driver task in
let tasks = let tasks =
...@@ -53,10 +54,12 @@ let call_prover ~limit (prover : Why3.Whyconf.config_prover) driver task = ...@@ -53,10 +54,12 @@ let call_prover ~limit (prover : Why3.Whyconf.config_prover) driver task =
| Some _ -> assert false (* By construction of the meta. *) | Some _ -> assert false (* By construction of the meta. *)
| None -> invalid_arg (Fmt.str "No neural network model found in task") | None -> invalid_arg (Fmt.str "No neural network model found in task")
in in
let nn_file = Filename.concat (Caml.Sys.getcwd ()) nn_file in
let command = Re.replace_string nnet_or_onnx ~by:nn_file command in let command = Re.replace_string nnet_or_onnx ~by:nn_file command in
let call_prover_on_task task_prepared = let call_prover_on_task task_prepared =
let prover_call = let prover_call =
Driver.prove_task_prepared ~command ~limit driver task_prepared Driver.prove_task_prepared ~libdir:(Whyconf.libdir config)
~datadir:(Whyconf.datadir config) ~command ~limit driver task_prepared
in in
let prover_result = Call_provers.wait_on_call prover_call in let prover_result = Call_provers.wait_on_call prover_call in
prover_result.pr_answer prover_result.pr_answer
...@@ -109,5 +112,7 @@ let verify ?(debug = false) format loadpath ?memlimit ~prover file = ...@@ -109,5 +112,7 @@ let verify ?(debug = false) format loadpath ?memlimit ~prover file =
in in
Driver.load_driver_absolute env file prover.extra_drivers Driver.load_driver_absolute env file prover.extra_drivers
in in
List.iter ~f:(call_prover ~limit prover driver) tasks) List.iter
~f:(call_prover ~limit (Whyconf.get_main config) prover driver)
tasks)
mstr_theory mstr_theory
#!/bin/sh #!/bin/sh -e
case $1 in case $1 in
...@@ -6,7 +6,9 @@ case $1 in ...@@ -6,7 +6,9 @@ case $1 in
echo "PyRAT 1.1" echo "PyRAT 1.1"
;; ;;
*) *)
echo "PWD: $(pwd)"
echo "NN: $2" echo "NN: $2"
test -e $2 || (echo "Can't find the file" && exit 1)
echo "Goal:" echo "Goal:"
cat $4 cat $4
echo "Result = Unknown" echo "Result = Unknown"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment