From 844b201753394a6f8c83d927c12ab5052425bc97 Mon Sep 17 00:00:00 2001 From: Julien Girard <julien.girard2@cea.fr> Date: Mon, 4 Apr 2022 10:53:37 +0200 Subject: [PATCH] [SAVer] Created a new table for SVM type and logical symbols. --- src/language.ml | 8 +++++--- src/language.mli | 3 +++ src/verification.ml | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/language.ml b/src/language.ml index 20fa0ddc..ba7fb6e3 100644 --- a/src/language.ml +++ b/src/language.ml @@ -17,8 +17,10 @@ type nnshape = { filename : string; } -let loaded_nets = Term.Hls.create 10 -let lookup_loaded_nets = Term.Hls.find_opt loaded_nets +let loaded_nets = Why3.Term.Hls.create 10 +let loaded_svms = Why3.Term.Hls.create 10 +let lookup_loaded_nets = Why3.Term.Hls.find_opt loaded_nets +let lookup_loaded_svms = Why3.Term.Hls.find_opt loaded_svms let register_nn_as_tuple nb_inputs nb_outputs filename env = let net = Pmodule.read_module env [ "caisar" ] "NN" in @@ -57,7 +59,7 @@ let register_svm nb_inputs nb_outputs filename env = (Ident.id_fresh "svm_apply") [] (Ty.ty_func asarray_input_type asarray_input_type) in - Why3.Term.Hls.add loaded_nets ls_svm_apply + Why3.Term.Hls.add loaded_svms ls_svm_apply { filename; nb_inputs; nb_outputs; ty_data = asarray_input_type }; let th_uc = Pmodule.add_pdecl ~vc:false th_uc diff --git a/src/language.mli b/src/language.mli index 2a053a01..55d5051d 100644 --- a/src/language.mli +++ b/src/language.mli @@ -16,6 +16,9 @@ type nnshape = { val lookup_loaded_nets : Term.lsymbol -> nnshape option (** @return the filename of a nnet Why3 representation. *) +val lookup_loaded_svms : Why3.Term.lsymbol -> nnshape option +(** @return the ioshape of a svm Why3 representation. *) + val register_nnet_support : unit -> unit (** Register NNet parser. *) diff --git a/src/verification.ml b/src/verification.ml index c16475ab..03a22e2b 100644 --- a/src/verification.ml +++ b/src/verification.ml @@ -82,7 +82,7 @@ let handle_task_saver task env dataset_csv command = then let eps = Fmt.str "%a" Constant.print_def e in let svm_filename = - match Language.lookup_loaded_nets svm_app_sym with + match Language.lookup_loaded_svms svm_app_sym with | Some t -> t.filename | None -> failwith "Svm file not found in environment." in -- GitLab