aboutsummaryrefslogtreecommitdiffhomepage
path: root/contrib
diff options
context:
space:
mode:
authorGravatar corbinea <corbinea@85f007b7-540e-0410-9357-904b9bb8a0f7>2007-07-24 13:55:50 +0000
committerGravatar corbinea <corbinea@85f007b7-540e-0410-9357-904b9bb8a0f7>2007-07-24 13:55:50 +0000
commit0db0531fde66678f60d54df60be1337a7f489000 (patch)
tree009323904a2355e610f4735862eeec4d0bf28423 /contrib
parent3fbfcfd052fd7e007d50c8ee19e44525f80577ac (diff)
Declarative language: fixed the generation of fixpoints for induction proofs.
Cleaner code: the guardedness bug is now corrected. Added "trivial" to the automation. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10042 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'contrib')
-rw-r--r--contrib/cc/ccalgo.ml8
-rw-r--r--contrib/first-order/g_ground.ml45
2 files changed, 9 insertions, 4 deletions
diff --git a/contrib/cc/ccalgo.ml b/contrib/cc/ccalgo.ml
index bc39910d5..b7ef89a3a 100644
--- a/contrib/cc/ccalgo.ml
+++ b/contrib/cc/ccalgo.ml
@@ -401,6 +401,7 @@ let add_quant state id pol (nvars,valid1,patt1,valid2,patt2) =
qe_rhs_valid=valid2}::state.quant
let add_inst state (inst,int_subst) =
+ check_for_interrupt ();
if state.rew_depth > 0 then
let subst = build_subst (forest state) int_subst in
let prfhead= mkVar inst.qe_hyp_id in
@@ -724,7 +725,8 @@ let find_instances state =
let _ =
debug msgnl (str "Running E-matching algorithm ... ");
try
- while true do
+ while true do
+ check_for_interrupt ();
do_match state res pb_stack
done;
anomaly "get out of here !"
@@ -734,7 +736,9 @@ let find_instances state =
let rec execute first_run state =
debug msgnl (str "Executing ... ");
try
- while one_step state do ()
+ while
+ check_for_interrupt ();
+ one_step state do ()
done;
match check_disequalities state with
None ->
diff --git a/contrib/first-order/g_ground.ml4 b/contrib/first-order/g_ground.ml4
index 975acc1c8..e48d47d9d 100644
--- a/contrib/first-order/g_ground.ml4
+++ b/contrib/first-order/g_ground.ml4
@@ -112,8 +112,9 @@ END
let default_declarative_automation gls =
- tclORELSE
- (Cctac.congruence_tac !congruence_depth [])
+ tclORELSE
+ (tclORELSE (Auto.h_trivial [] None)
+ (Cctac.congruence_tac !congruence_depth []))
(gen_ground_tac true
(Some (tclTHEN
default_solver