aboutsummaryrefslogtreecommitdiff
path: root/src/Util/Tactics.v
diff options
context:
space:
mode:
authorGravatar Andres Erbsen <andreser@mit.edu>2016-10-10 17:49:15 -0400
committerGravatar Andres Erbsen <andreser@mit.edu>2016-10-10 17:49:15 -0400
commit06e3a50d3b78bef55bc4e15075743d1ab67d0750 (patch)
tree79f980838f7a09957e2ccb14fd319425b6772260 /src/Util/Tactics.v
parent30e4a8375f973840bf4faf7cf1f37340fbb20979 (diff)
specialize_by: only specialize arguments of type [Prop]
Diffstat (limited to 'src/Util/Tactics.v')
-rw-r--r--src/Util/Tactics.v11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/Util/Tactics.v b/src/Util/Tactics.v
index 69e74a3fe..d0c785fed 100644
--- a/src/Util/Tactics.v
+++ b/src/Util/Tactics.v
@@ -262,10 +262,13 @@ Ltac specialize_by' tac :=
idtac;
match goal with
| [ H : ?A -> ?B |- _ ] =>
- let H' := fresh in
- assert (H' : A) by tac;
- transparent_specialize_one H H';
- try clear H' (* if [H] was transparent, [H'] will remain *)
+ match type of A with
+ Prop =>
+ let H' := fresh in
+ assert (H' : A) by tac;
+ transparent_specialize_one H H';
+ try clear H' (* if [H] was transparent, [H'] will remain *)
+ end
end.
Ltac specialize_by tac := repeat specialize_by' tac.