aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnrico Tassi2015-03-22 13:15:20 +0100
committerEnrico Tassi2015-03-22 13:15:20 +0100
commitb9d625513256e854e0b3b831a965adeeba9ccb64 (patch)
treed40334eea43e3f9db95ec481e6c8e897b7a91f7d
parent5e4101a2813f1b98478d52d2cbb763db5d8c76c7 (diff)
Aliasing give_up with admit
-rw-r--r--CHANGES15
-rw-r--r--tactics/coretactics.ml46
2 files changed, 14 insertions, 7 deletions
diff --git a/CHANGES b/CHANGES
index 19683f8e39..53cec0061f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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