aboutsummaryrefslogtreecommitdiffstats
path: root/src/trace/smtAtom.ml
diff options
context:
space:
mode:
authorChantal Keller <Chantal.Keller@lri.fr>2016-04-26 23:46:10 +0200
committerChantal Keller <Chantal.Keller@lri.fr>2016-04-26 23:46:10 +0200
commit3fac4bd6183b19e7980d9e0131dffa7a49f4c096 (patch)
tree626ed0a12332262a8506cd56a5d31e00aea321cb /src/trace/smtAtom.ml
parenta5bd782f300c3767936fc3f45df6a09cda185370 (diff)
downloadsmtcoq-3fac4bd6183b19e7980d9e0131dffa7a49f4c096.tar.gz
smtcoq-3fac4bd6183b19e7980d9e0131dffa7a49f4c096.zip
The tactic "verit" generates more user-friendly subgoals
Diffstat (limited to 'src/trace/smtAtom.ml')
-rw-r--r--src/trace/smtAtom.ml25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/trace/smtAtom.ml b/src/trace/smtAtom.ml
index bbad580..979e4e4 100644
--- a/src/trace/smtAtom.ml
+++ b/src/trace/smtAtom.ml
@@ -92,18 +92,19 @@ module Btype =
let eq_name = Names.id_of_string ("eq"^n) in
let eq_var = Term.mkVar eq_name in
- (* let eq_ty = Term.mkArrow t (Term.mkArrow t (Lazy.force cbool)) in *)
-
- (* let eq = mkName "eq" in *)
- (* let x = mkName "x" in *)
- (* let y = mkName "y" in *)
- (* let req = Term.mkRel 3 in *)
- (* let rx = Term.mkRel 2 in *)
- (* let ry = Term.mkRel 1 in *)
- (* let eq_refl_ty = Term.mkLambda (eq, eq_ty, Term.mkProd (x,t,Term.mkProd (y,t,mklApp creflect [|mklApp ceq [|t;rx;ry|]; Term.mkApp (req, [|rx;ry|])|]))) in *)
-
- let eq_ty = mklApp ctyp_eqb_param [|t|] in
- reify.cuts <- (eq_name, eq_ty)::reify.cuts;
+ let eq_ty = Term.mkArrow t (Term.mkArrow t (Lazy.force cbool)) in
+
+ let eq = mkName "eq" in
+ let x = mkName "x" in
+ let y = mkName "y" in
+ let req = Term.mkRel 3 in
+ let rx = Term.mkRel 2 in
+ let ry = Term.mkRel 1 in
+ let refl_ty = Term.mkLambda (eq, eq_ty, Term.mkProd (x,t,Term.mkProd (y,t,mklApp creflect [|mklApp ceq [|t;rx;ry|]; Term.mkApp (req, [|rx;ry|])|]))) in
+
+ let pair_ty = mklApp csigT [|eq_ty; refl_ty|] in
+
+ reify.cuts <- (eq_name, pair_ty)::reify.cuts;
let ce = mklApp ctyp_eqb_of_typ_eqb_param [|t; eq_var|] in
declare reify t ce