Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Marianna Rapoport
iris-coq
Commits
1f36e734
Commit
1f36e734
authored
Nov 29, 2016
by
Robbert Krebbers
Browse files
Better error message when the argument of iSpecialize is not a hypothesis.
parent
4b2f81cc
Changes
1
Hide whitespace changes
Inline
Side-by-side
proofmode/tactics.v
View file @
1f36e734
...
...
@@ -338,15 +338,19 @@ Tactic Notation "iSpecializeCore" open_constr(t) "as" constr(p) tactic(tac) :=
end
in
lazymatch
t
with
|
ITrm
?H
?xs
?pat
=>
lazymatch
p
with
|
true
=>
eapply
tac_specialize_persistent_helper
with
_
H
_
_
_;
[
env_cbv
;
reflexivity
||
fail
"iSpecialize:"
H
"not found"
|
iSpecializeArgs
H
xs
;
iSpecializePat
H
pat
;
last
(
iExact
H
)
|
let
Q
:
=
match
goal
with
|-
PersistentP
?Q
=>
Q
end
in
apply
_
||
fail
"iSpecialize:"
Q
"not persistent"
|
env_cbv
;
reflexivity
|
tac
H
]
|
false
=>
iSpecializeArgs
H
xs
;
iSpecializePat
H
pat
;
last
(
tac
H
)
lazymatch
type
of
H
with
|
string
=>
lazymatch
p
with
|
true
=>
eapply
tac_specialize_persistent_helper
with
_
H
_
_
_;
[
env_cbv
;
reflexivity
||
fail
"iSpecialize:"
H
"not found"
|
iSpecializeArgs
H
xs
;
iSpecializePat
H
pat
;
last
(
iExact
H
)
|
let
Q
:
=
match
goal
with
|-
PersistentP
?Q
=>
Q
end
in
apply
_
||
fail
"iSpecialize:"
Q
"not persistent"
|
env_cbv
;
reflexivity
|
tac
H
]
|
false
=>
iSpecializeArgs
H
xs
;
iSpecializePat
H
pat
;
last
(
tac
H
)
end
|
_
=>
fail
"iSpecialize:"
H
"should be a hypothesis, use iPoseProof instead"
end
end
.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment