diff options
| author | herbelin | 2000-05-05 13:23:02 +0000 |
|---|---|---|
| committer | herbelin | 2000-05-05 13:23:02 +0000 |
| commit | 29d0b8cab874cf496d0f8b8e2f899329627b6a1f (patch) | |
| tree | fe5b7018a2591375b444975434b8d2a5cea935f5 | |
| parent | 41eaad090bd3dfa27c510f7cffa841652e10516b (diff) | |
Achèvement nettoyage Pfedit; ajout intros_replacing
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@423 85f007b7-540e-0410-9357-904b9bb8a0f7
| -rw-r--r-- | tactics/tactics.ml | 13 | ||||
| -rw-r--r-- | tactics/tactics.mli | 1 |
2 files changed, 13 insertions, 1 deletions
diff --git a/tactics/tactics.ml b/tactics/tactics.ml index f27bf381b0..860c981264 100644 --- a/tactics/tactics.ml +++ b/tactics/tactics.ml @@ -319,6 +319,17 @@ let intros = tclREPEAT (intro_force false) let intro_erasing id = tclTHEN (thin [id]) (intro_using id) +let intros_replacing ids gls = + let rec introrec = function + | [] -> tclIDTAC + | id::tl -> + (tclTHEN (tclORELSE (intro_replacing id) + (tclORELSE (intro_erasing id) (* ?? *) + (intro_using id))) + (introrec tl)) + in + introrec ids gls + (* User-level introduction tactics *) let dyn_intro = function @@ -1623,7 +1634,7 @@ let abstract_subproof name tac gls = by (tclCOMPLETE (tclTHEN (tclDO (sign_length sign) intro) tac)); save_named true with e when catchable_exception e -> - (abort_current_goal(); raise e) + (abort_current_proof(); raise e) end; exact (applist ((Declare.construct_reference env' CCI na), (List.map (fun id -> VAR(id)) diff --git a/tactics/tactics.mli b/tactics/tactics.mli index 0f45a1e7cb..751a777390 100644 --- a/tactics/tactics.mli +++ b/tactics/tactics.mli @@ -63,6 +63,7 @@ val intro_using : identifier -> tactic val intro_using_warning : identifier -> tactic val intros_using : identifier list -> tactic val intro_erasing : identifier -> tactic +val intros_replacing : identifier list -> tactic val intros : tactic |
