aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2016-02-29 12:11:52 +0100
committerPierre-Marie Pédrot2016-02-29 13:24:45 +0100
commitae3bbff3ca2564fe24bdf3dd517c82807eae9151 (patch)
treeef93d798404980f745b3bce3f94c9b56073e882c
parent6c4fcb156dea5a71fd227606b87333ae00aacb69 (diff)
Moving the "symmetry" tactic to TACTIC EXTEND.
-rw-r--r--intf/tacexpr.mli3
-rw-r--r--parsing/g_tactic.ml42
-rw-r--r--printing/pptactic.ml4
-rw-r--r--tactics/coretactics.ml41
-rw-r--r--tactics/tacintern.ml4
-rw-r--r--tactics/tacinterp.ml10
-rw-r--r--tactics/tacsubst.ml3
7 files changed, 1 insertions, 26 deletions
diff --git a/intf/tacexpr.mli b/intf/tacexpr.mli
index 52c07e089a..3f1d0fd76c 100644
--- a/intf/tacexpr.mli
+++ b/intf/tacexpr.mli
@@ -170,9 +170,6 @@ type 'a gen_atomic_tactic_expr =
| TacReduce of ('trm,'cst,'pat) red_expr_gen * 'nam clause_expr
| TacChange of 'pat option * 'dtrm * 'nam clause_expr
- (* Equivalence relations *)
- | TacSymmetry of 'nam clause_expr
-
(* Equality and inversion *)
| TacRewrite of evars_flag *
(bool * multi * 'dtrm with_bindings_arg) list * 'nam clause_expr *
diff --git a/parsing/g_tactic.ml4 b/parsing/g_tactic.ml4
index 238b9a60f7..4587e321f0 100644
--- a/parsing/g_tactic.ml4
+++ b/parsing/g_tactic.ml4
@@ -625,8 +625,6 @@ GEXTEND Gram
| "exists"; bll = opt_bindings -> TacAtom (!@loc, TacSplit (false,bll))
| IDENT "eexists"; bll = opt_bindings ->
TacAtom (!@loc, TacSplit (true,bll))
- (* Equivalence relations *)
- | IDENT "symmetry"; "in"; cl = in_clause -> TacAtom (!@loc, TacSymmetry cl)
(* Equality and inversion *)
| IDENT "rewrite"; l = LIST1 oriented_rewriter SEP ",";
diff --git a/printing/pptactic.ml b/printing/pptactic.ml
index f4007e25e1..689ac6e4eb 100644
--- a/printing/pptactic.ml
+++ b/printing/pptactic.ml
@@ -935,10 +935,6 @@ module Make
) ++ pr.pr_dconstr c ++ pr_clauses (Some true) pr.pr_name h
)
- (* Equivalence relations *)
- | TacSymmetry cls ->
- primitive "symmetry" ++ pr_clauses (Some true) pr.pr_name cls
-
(* Equality and inversion *)
| TacRewrite (ev,l,cl,by) ->
hov 1 (
diff --git a/tactics/coretactics.ml4 b/tactics/coretactics.ml4
index 5862e0f8a0..55461ef7c5 100644
--- a/tactics/coretactics.ml4
+++ b/tactics/coretactics.ml4
@@ -140,6 +140,7 @@ END
TACTIC EXTEND symmetry
[ "symmetry" ] -> [ Tactics.intros_symmetry {onhyps=Some[];concl_occs=AllOccurrences} ]
+| [ "symmetry" clause(cl) ] -> [ Tactics.intros_symmetry cl ]
END
(** Split *)
diff --git a/tactics/tacintern.ml b/tactics/tacintern.ml
index d5f7c72ec1..84df21eb81 100644
--- a/tactics/tacintern.ml
+++ b/tactics/tacintern.ml
@@ -555,10 +555,6 @@ let rec intern_atomic lf ist x =
TacChange (Some (intern_typed_pattern ist p),intern_constr ist c,
clause_app (intern_hyp_location ist) cl)
- (* Equivalence relations *)
- | TacSymmetry idopt ->
- TacSymmetry (clause_app (intern_hyp_location ist) idopt)
-
(* Equality and inversion *)
| TacRewrite (ev,l,cl,by) ->
TacRewrite
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index d1a47dce5a..81fbcc6db6 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -1974,16 +1974,6 @@ and interp_atomic ist tac : unit Proofview.tactic =
end }
end
- (* Equivalence relations *)
- | TacSymmetry c ->
- Proofview.Goal.enter { enter = begin fun gl ->
- let env = Proofview.Goal.env gl in
- let sigma = project gl in
- let cl = interp_clause ist env sigma c in
- name_atomic ~env
- (TacSymmetry cl)
- (Tactics.intros_symmetry cl)
- end }
(* Equality and inversion *)
| TacRewrite (ev,l,cl,by) ->
diff --git a/tactics/tacsubst.ml b/tactics/tacsubst.ml
index 36e0b4278e..142a964454 100644
--- a/tactics/tacsubst.ml
+++ b/tactics/tacsubst.ml
@@ -178,9 +178,6 @@ let rec subst_atomic subst (t:glob_atomic_tactic_expr) = match t with
TacChange (Option.map (subst_glob_constr_or_pattern subst) op,
subst_glob_constr subst c, cl)
- (* Equivalence relations *)
- | TacSymmetry _ as x -> x
-
(* Equality and inversion *)
| TacRewrite (ev,l,cl,by) ->
TacRewrite (ev,