diff options
| author | jforest | 2009-12-16 16:03:38 +0000 |
|---|---|---|
| committer | jforest | 2009-12-16 16:03:38 +0000 |
| commit | ea9a239eefacf85338c1f0ca0d3dc144c7e7f20e (patch) | |
| tree | 461e73186eda24e2155bb13ecc09782b181cd771 /plugins | |
| parent | 3f6db8c182cc45272f1b9988db687bcdd0009ab1 (diff) | |
adding an option functional_induction_rewrite_dependent to make functional induction using not v8.2 version of subst. By default functional induction uses new version of subst
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12592 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/funind/indfun.ml | 2 | ||||
| -rw-r--r-- | plugins/funind/indfun_common.ml | 13 | ||||
| -rw-r--r-- | plugins/funind/indfun_common.mli | 1 |
3 files changed, 15 insertions, 1 deletions
diff --git a/plugins/funind/indfun.ml b/plugins/funind/indfun.ml index 5ab65583a0..38f4284415 100644 --- a/plugins/funind/indfun.ml +++ b/plugins/funind/indfun.ml @@ -110,7 +110,7 @@ let functional_induction with_clean c princl pat = } in Tacticals.tclTHEN - (Tacticals.tclMAP (fun id -> Tacticals.tclTRY (Equality.subst [id])) idl ) + (Tacticals.tclMAP (fun id -> Tacticals.tclTRY (Equality.subst_gen (do_rewrite_dependent ()) [id])) idl ) (Hiddentac.h_reduce flag Tacticals.allHypsAndConcl) g else Tacticals.tclIDTAC g diff --git a/plugins/funind/indfun_common.ml b/plugins/funind/indfun_common.ml index fb1204c1f6..9c15d9d12e 100644 --- a/plugins/funind/indfun_common.ml +++ b/plugins/funind/indfun_common.ml @@ -483,9 +483,22 @@ let add_Function is_general f = let pr_table () = pr_table !from_function (*********************************) (* Debuging *) +let functional_induction_rewrite_dependent_proofs = ref true let function_debug = ref false open Goptions +let functional_induction_rewrite_dependent_proofs_sig = + { + optsync = false; + optname = "functional induction rewrite dependent"; + optkey = ["functional_induction_rewrite_dependent"]; + optread = (fun () -> !functional_induction_rewrite_dependent_proofs); + optwrite = (fun b -> functional_induction_rewrite_dependent_proofs := b) + } +let _ = declare_bool_option functional_induction_rewrite_dependent_proofs_sig + +let do_rewrite_dependent () = !functional_induction_rewrite_dependent_proofs = true + let function_debug_sig = { optsync = false; diff --git a/plugins/funind/indfun_common.mli b/plugins/funind/indfun_common.mli index 87d646ab89..6f6607fccc 100644 --- a/plugins/funind/indfun_common.mli +++ b/plugins/funind/indfun_common.mli @@ -111,6 +111,7 @@ val pr_table : unit -> Pp.std_ppcmds (* val function_debug : bool ref *) val do_observe : unit -> bool +val do_rewrite_dependent : unit -> bool (* To localize pb *) exception Building_graph of exn |
