Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Iris
Iris
Commits
01bcf659
Commit
01bcf659
authored
Dec 04, 2020
by
Robbert Krebbers
Browse files
Improve documentation.
parent
90362282
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
7 deletions
+9
-7
docs/proof_mode.md
docs/proof_mode.md
+9
-7
No files found.
docs/proof_mode.md
View file @
01bcf659
...
...
@@ -130,20 +130,22 @@ Elimination of logical connectives
and name the resulting hypothesis
`H2`
. The Coq introduction patterns can
also be used for pure conjunctions; for example we can destruct
`∃ x, ⌜v = x⌝ ∗ l ↦ x`
using
`iDestruct "H" as (x Heq) "H"`
to immediately
put
`Heq: v = x`
in the Coq context.
+
`iDestruct pm_trm as "ipat"`
: destruct a
[
proof-mode term
][
pm-trm
]
(see below) after
specialization using the
[
introduction pat
ter
n
][
ipat
]
`ipat`
. When applied to a wand
in the intuitionistic context this tactic consumes wands (but leaves
universally quantified hypotheses). To keep the wand use
`iPoseProof`
in
stead
.
put
`Heq: v = x`
in the Coq context.
This variant of the tactic will always
throw away the original hypothesis
`H1`
.
+
`iDestruct pm_trm as "ipat"`
: specialize the
[
proof-mode
ter
m
][
pm-trm
]
(see
below) and destruct it using the
[
introduction pattern
][
ipat
]
`ipat`
. If
`pm_trm`
starts with a hypothesis, and that hypothesis resides in the
in
tuitionistic context, it will not be thrown away
.
+
`iDestruct pm_trm as (x1 ... xn) "ipat"`
: combine the above, first
specializing
`pm_trm`
, then eliminating existential quantifiers (and pure
conjuncts) with
`x1 ... xn`
, and finally destructing the resulting term
with
`ipat`
.
using the
[
introduction pattern
][
ipat
]
`ipat`
.
+
`iDestruct pm_trm as %cpat`
: destruct the pure conclusion of a term
`pr_trm`
using the Coq introduction pattern
`cpat`
. When using this tactic,
all hypotheses can be used for proving the premises of
`pm_trm`
, as well as
for proving the resulting goal.
+
`iDestruct num as (x1 ... xn) "ipat"`
/
`iDestruct num as %cpat`
:
introduce
`num : nat`
hypotheses and destruct the last introduced hypothesis.
In case all branches of
`ipat`
start with a
`#`
(which causes the hypothesis
to be moved to the intuitionistic context) or with an
`%`
(which causes the
...
...
Write
Preview
Markdown
is supported
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