aboutsummaryrefslogtreecommitdiffstats
path: root/src/lia
diff options
context:
space:
mode:
authorckeller <ckeller@users.noreply.github.com>2019-03-15 11:23:55 +0100
committerGitHub <noreply@github.com>2019-03-15 11:23:55 +0100
commitae455fa3aa29c872c9c5b2736fff861afebcd051 (patch)
tree1db2df3a7bd9ca076ea4007d59557a549af9dc04 /src/lia
parent4a610de645ca2bb505c97dd082220a57595019ad (diff)
downloadsmtcoq-ae455fa3aa29c872c9c5b2736fff861afebcd051.tar.gz
smtcoq-ae455fa3aa29c872c9c5b2736fff861afebcd051.zip
V8.9 (#43)
* New syntax for implicit arguments * Towards 8.9: problems with Micromega plugin * Move to _CoqProject * Back to name Makefile * Switch to Makefile.local instead of -extra * The compilation issue is a Coq bug * Ok with 8.9 * INSTALL with 8.9 * Everything ok with 8.9
Diffstat (limited to 'src/lia')
-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