diff options
| author | Enrico Tassi | 2015-03-22 13:15:20 +0100 |
|---|---|---|
| committer | Enrico Tassi | 2015-03-22 13:15:20 +0100 |
| commit | b9d625513256e854e0b3b831a965adeeba9ccb64 (patch) | |
| tree | d40334eea43e3f9db95ec481e6c8e897b7a91f7d | |
| parent | 5e4101a2813f1b98478d52d2cbb763db5d8c76c7 (diff) | |
Aliasing give_up with admit
| -rw-r--r-- | CHANGES | 15 | ||||
| -rw-r--r-- | tactics/coretactics.ml4 | 6 |
2 files changed, 14 insertions, 7 deletions
@@ -153,13 +153,14 @@ Tactics as existential variables in other goals. To emulate the old refine, use "refine c;shelve_unifiable". This can still cause incompatibilities in rare occasions. - * New "give_up" tactic to skip over a goal without admitting it. -- The admit tactic has been removed, "give_up" should be used instead. - To compile code containing "admit" the following solutions can be adopted: - * Add Ltac definition "Ltac admit := give_up." and terminate each - incomplete proof with "Admitted". - * Add an "Axiom" for each admitted subproof. - * Add a single "Axiom proof_admitted : False." and the Ltac definition + * New "give_up" tactic to skip over a goal. A proof containing + given up goals cannot be closed with "Qed", but only with "Admitted". +- The implementation of the admit tactic has changed: no axiom is + generated for the admitted sub proof. "admit" is now an alias for + "give_up". Code relying on this specific behavior of "admit" + can be made to work by: + * Adding an "Axiom" for each admitted subproof. + * Adding a single "Axiom proof_admitted : False." and the Ltac definition "Ltac admit := case proof_admitted.". - Matching using "lazymatch" was fundamentally modified. It now behaves like "match" (immediate execution of the matching branch) but without diff --git a/tactics/coretactics.ml4 b/tactics/coretactics.ml4 index 6d3dc461ec..e909a14c9e 100644 --- a/tactics/coretactics.ml4 +++ b/tactics/coretactics.ml4 @@ -196,6 +196,12 @@ TACTIC EXTEND simple_destruct [ "simple" "destruct" quantified_hypothesis(h) ] -> [ Tactics.simple_destruct h ] END +(* Admit *) + +TACTIC EXTEND admit + [ "admit" ] -> [ Proofview.give_up ] +END + (* Table of "pervasives" macros tactics (e.g. auto, simpl, etc.) *) open Tacexpr |
