Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Iris
Iris
Commits
fa0e8eb8
Commit
fa0e8eb8
authored
Apr 20, 2018
by
Robbert Krebbers
Browse files
Let `done` and friends fail when the proofmode goal is an evar.
This fixes issue #182.
parent
78dedb27
Changes
2
Hide whitespace changes
Inline
Side-by-side
theories/proofmode/tactics.v
View file @
fa0e8eb8
...
...
@@ -1964,7 +1964,8 @@ Hint Extern 0 (_ ⊢ _) => iStartProof.
(* Make sure that by and done solve trivial things in proof mode *)
Hint
Extern
0
(
envs_entails
_
_
)
=>
iPureIntro
;
try
done
.
Hint
Extern
0
(
envs_entails
_
_
)
=>
iAssumption
.
Hint
Extern
0
(
envs_entails
_
?Q
)
=>
first
[
is_evar
Q
;
fail
1
|
iAssumption
].
Hint
Extern
0
(
envs_entails
_
emp
)
=>
iEmpIntro
.
(* TODO: look for a more principled way of adding trivial hints like those
...
...
theories/tests/proofmode.v
View file @
fa0e8eb8
...
...
@@ -86,6 +86,9 @@ Proof. eexists. iIntros "?" (P). iAssumption. Qed.
Lemma
test_iAssumption_affine
P
Q
R
`
{!
Affine
P
,
!
Affine
R
}
:
P
-
∗
Q
-
∗
R
-
∗
Q
.
Proof
.
iIntros
"H1 H2 H3"
.
iAssumption
.
Qed
.
Lemma
test_done_goal_evar
Q
:
∃
P
,
Q
⊢
P
.
Proof
.
eexists
.
iIntros
"H"
.
Fail
done
.
iAssumption
.
Qed
.
Lemma
test_iDestruct_spatial_and
P
Q1
Q2
:
P
∗
(
Q1
∧
Q2
)
-
∗
P
∗
Q1
.
Proof
.
iIntros
"[H [? _]]"
.
by
iFrame
.
Qed
.
...
...
@@ -405,7 +408,7 @@ Lemma iFrame_with_evar_l P Q :
∃
R
,
(
P
-
∗
Q
-
∗
R
∗
P
)
∧
R
=
Q
.
Proof
.
eexists
.
split
.
iIntros
"HP HQ"
.
Fail
iFrame
"HQ"
.
by
iSplitR
"HP"
.
done
.
iSplitR
"HP"
;
iAssumption
.
done
.
Qed
.
Lemma
iFrame_with_evar_persistent
P
Q
:
∃
R
,
(
P
-
∗
□
Q
-
∗
P
∗
R
∗
Q
)
∧
R
=
emp
%
I
.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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