aboutsummaryrefslogtreecommitdiffstats
path: root/src/verit
diff options
context:
space:
mode:
Diffstat (limited to 'src/verit')
-rw-r--r--src/verit/verit.ml20
-rw-r--r--src/verit/veritParser.mly2
-rw-r--r--src/verit/veritSyntax.ml10
-rw-r--r--src/verit/veritSyntax.mli4
4 files changed, 18 insertions, 18 deletions
diff --git a/src/verit/verit.ml b/src/verit/verit.ml
index 39f60c0..fbc04e3 100644
--- a/src/verit/verit.ml
+++ b/src/verit/verit.ml
@@ -55,7 +55,7 @@ open SmtCertif
* done;
* Format.fprintf fmt "@."; close_out out_channel *)
-let import_trace ra' rf' filename first lsmt =
+let import_trace ra_quant rf_quant filename first lsmt =
let chan = open_in filename in
let lexbuf = Lexing.from_channel chan in
let confl_num = ref (-1) in
@@ -78,7 +78,7 @@ let import_trace ra' rf' filename first lsmt =
close_in chan;
let cfirst = ref (VeritSyntax.get_clause !first_num) in
let confl = ref (VeritSyntax.get_clause !confl_num) in
- let re_hash = Form.hash_hform (Atom.hash_hatom ra') rf' in
+ let re_hash = Form.hash_hform (Atom.hash_hatom ra_quant) rf_quant in
begin match first with
| None -> ()
| Some _ ->
@@ -114,10 +114,10 @@ let import_all fsmt fproof =
let ro = Op.create () in
let ra = VeritSyntax.ra in
let rf = VeritSyntax.rf in
- let ra' = VeritSyntax.ra' in
- let rf' = VeritSyntax.rf' in
+ let ra_quant = VeritSyntax.ra_quant in
+ let rf_quant = VeritSyntax.rf_quant in
let roots = Smtlib2_genConstr.import_smtlib2 rt ro ra rf fsmt in
- let (max_id, confl) = import_trace ra' rf' fproof None [] in
+ let (max_id, confl) = import_trace ra_quant rf_quant fproof None [] in
(rt, ro, ra, rf, roots, max_id, confl)
@@ -169,7 +169,7 @@ let export out_channel rt ro lsmt =
exception Unknown
-let call_verit _ rt ro ra' rf' first lsmt =
+let call_verit _ rt ro ra_quant rf_quant first lsmt =
let (filename, outchan) = Filename.open_temp_file "verit_coq" ".smt2" in
export outchan rt ro lsmt;
close_out outchan;
@@ -206,7 +206,7 @@ let call_verit _ rt ro ra' rf' first lsmt =
try
if exit_code <> 0 then Structures.warning "verit-non-zero-exit-code" ("Verit.call_verit: command " ^ command ^ " exited with code " ^ string_of_int exit_code);
raise_warnings_errors ();
- let res = import_trace ra' rf' logfilename (Some first) lsmt in
+ let res = import_trace ra_quant rf_quant logfilename (Some first) lsmt in
close_in win; Sys.remove wname; res
with x -> close_in win; Sys.remove wname;
match x with
@@ -223,8 +223,8 @@ let tactic_gen vm_cast lcpl lcepl =
let ro = Op.create () in
let ra = VeritSyntax.ra in
let rf = VeritSyntax.rf in
- let ra' = VeritSyntax.ra' in
- let rf' = VeritSyntax.rf' in
- SmtCommands.tactic call_verit verit_logic rt ro ra rf ra' rf' vm_cast lcpl lcepl
+ let ra_quant = VeritSyntax.ra_quant in
+ let rf_quant = VeritSyntax.rf_quant in
+ SmtCommands.tactic call_verit verit_logic rt ro ra rf ra_quant rf_quant vm_cast lcpl lcepl
let tactic = tactic_gen vm_cast_true
let tactic_no_check = tactic_gen (fun _ -> vm_cast_true_no_check)
diff --git a/src/verit/veritParser.mly b/src/verit/veritParser.mly
index 08c5cb3..c46b7c3 100644
--- a/src/verit/veritParser.mly
+++ b/src/verit/veritParser.mly
@@ -272,7 +272,7 @@ term: /* returns a bool * (SmtAtom.Form.pform or SmtAtom.hatom), the boolean i
| VAR args { let f = $1 in let a = $2 in match find_opt_qvar f with | Some bt -> let op = dummy_indexed_op (Rel_name f) [||] bt in false, Form.Atom (Atom.get ~declare:false ra (Aapp (op, Array.of_list (snd (list_dec a))))) | None -> let dl, l = list_dec $2 in dl, Form.Atom (Atom.get ra ~declare:dl (Aapp (SmtMaps.get_fun f, Array.of_list l))) }
/* Both */
- | EQ name_term name_term { let t1 = $2 in let t2 = $3 in match t1,t2 with | (decl1, Form.Atom h1), (decl2, Form.Atom h2) when (match Atom.type_of h1 with | SmtBtype.Tbool -> false | _ -> true) -> let decl = decl1 && decl2 in decl, Form.Atom (Atom.mk_eq ra ~declare:decl (Atom.type_of h1) h1 h2) | (decl1, t1), (decl2, t2) -> decl1 && decl2, Form.Form (Fapp (Fiff, [|Form.lit_of_atom_form_lit rf (decl1, t1); Form.lit_of_atom_form_lit rf (decl2, t2)|])) }
+ | EQ name_term name_term { let t1 = $2 in let t2 = $3 in match t1,t2 with | (decl1, Form.Atom h1), (decl2, Form.Atom h2) when (match Atom.type_of h1 with | SmtBtype.Tbool -> false | _ -> true) -> let decl = decl1 && decl2 in decl, Form.Atom (Atom.mk_eq_sym ra ~declare:decl (Atom.type_of h1) h1 h2) | (decl1, t1), (decl2, t2) -> decl1 && decl2, Form.Form (Fapp (Fiff, [|Form.lit_of_atom_form_lit rf (decl1, t1); Form.lit_of_atom_form_lit rf (decl2, t2)|])) }
| EQ nlit lit { match $2, $3 with (decl1, t1), (decl2, t2) -> decl1 && decl2, Form.Form (Fapp (Fiff, [|t1; t2|])) }
| EQ name_term nlit { match $2, $3 with (decl1, t1), (decl2, t2) -> decl1 && decl2, Form.Form (Fapp (Fiff, [|Form.lit_of_atom_form_lit rf (decl1, t1); t2|])) }
| LET LPAR bindlist RPAR name_term { $3; $5 }
diff --git a/src/verit/veritSyntax.ml b/src/verit/veritSyntax.ml
index b1a6304..422c6f5 100644
--- a/src/verit/veritSyntax.ml
+++ b/src/verit/veritSyntax.ml
@@ -555,7 +555,7 @@ let init_index lsmt re_hash =
List.iter (fun h -> Format.fprintf fmt "%a\n" (Form.to_smt ~debug:true) (re_hash h)) lsmt;
Format.fprintf fmt "\n%a\n@." (Form.to_smt ~debug:true) re_hf;
flush oc; close_out oc;
- failwith "not found: log available"
+ failwith "Input not found: log available in /tmp/input_not_found.log"
let qf_to_add lr =
let is_forall l = match Form.pform l with
@@ -570,8 +570,8 @@ let qf_to_add lr =
let ra = Atom.create ()
let rf = Form.create ()
-let ra' = Atom.create ()
-let rf' = Form.create ()
+let ra_quant = Atom.create ()
+let rf_quant = Form.create ()
let hlets : (string, Form.atom_form_lit) Hashtbl.t = Hashtbl.create 17
@@ -586,6 +586,6 @@ let clear () =
clear_solver ();
Atom.clear ra;
Form.clear rf;
- Atom.clear ra';
- Form.clear rf';
+ Atom.clear ra_quant;
+ Form.clear rf_quant;
Hashtbl.clear hlets
diff --git a/src/verit/veritSyntax.mli b/src/verit/veritSyntax.mli
index 7a325a6..bd98ba6 100644
--- a/src/verit/veritSyntax.mli
+++ b/src/verit/veritSyntax.mli
@@ -52,8 +52,8 @@ val qf_to_add : SmtAtom.Form.t SmtCertif.clause list -> (SmtAtom.Form.t SmtCerti
val ra : SmtAtom.Atom.reify_tbl
val rf : SmtAtom.Form.reify
-val ra' : SmtAtom.Atom.reify_tbl
-val rf' : SmtAtom.Form.reify
+val ra_quant : SmtAtom.Atom.reify_tbl
+val rf_quant : SmtAtom.Form.reify
val hlets : (string, Form.atom_form_lit) Hashtbl.t