aboutsummaryrefslogtreecommitdiffstats
path: root/src/lia/lia.ml
diff options
context:
space:
mode:
Diffstat (limited to 'src/lia/lia.ml')
-rw-r--r--src/lia/lia.ml9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lia/lia.ml b/src/lia/lia.ml
index d8ed560..d546559 100644
--- a/src/lia/lia.ml
+++ b/src/lia/lia.ml
@@ -193,6 +193,15 @@ let binop_list tbl op def l =
let smt_clause_to_coq_micromega_formula tbl cl =
binop_list tbl (fun x y -> C(x,y)) TT (List.map Form.neg cl)
+(* backported from Coq-8.8.2 *)
+(* val tauto_lia : Mc.z formula -> Certificate.Mc.zArithProof list option *)
+let tauto_lia ff =
+ let prover = linear_Z in
+ let cnf_ff,_ = cnf Mc.negate Mc.normalise Mc.zunsat Mc.zdeduce ff in
+ match witness_list_tags [prover] cnf_ff with
+ | None -> None
+ | Some l -> Some (List.map fst l)
+
(* call to micromega solver *)
let build_lia_certif cl =
let tbl = create_tbl 13 in