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
I
Iris
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PierreMarie Pédrot
Iris
Commits
963f522b
Verified
Commit
963f522b
authored
Jan 14, 2019
by
Tej Chajed
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Copyedit the proof mode documentation
parent
12db2bda
Changes
1
Hide whitespace changes
Inline
Sidebyside
Showing
1 changed file
with
9 additions
and
9 deletions
+9
9
ProofMode.md
ProofMode.md
+9
9
No files found.
ProofMode.md
View file @
963f522b
...
...
@@ 3,9 +3,9 @@ Tactic overview
Many of the tactics below apply to more goals than described in this document
since the behavior of these tactics can be tuned via instances of the type
classes in the file
[
proofmode/classes
](
proofmode/classes.v
)
. Most notabl
e
, many
of the tactics can be applied when the to be introduced or to be eliminated
connective
appears under a later, an update modality, or in the conclusion of a
classes in the file
[
proofmode/classes
](
proofmode/classes.v
)
. Most notabl
y
, many
of the tactics can be applied when the
connective
to be introduced or to be eliminated
appears under a later, an update modality, or in the conclusion of a
weakest precondition.
Applying hypotheses and lemmas
...
...
@@ 92,7 +92,7 @@ Elimination of logical connectives
used for proving the premises of
`pm_trm`
, as well as for proving the
resulting goal.
Separati
ng logic
specific tactics
Separati
on logic
specific tactics


`iFrame (t1 .. tn) "selpat"`
: cancel the Coq terms (or Coq hypotheses)
...
...
@@ 106,10 +106,10 @@ Separating logic specific tactics
Notice that framing spatial hypotheses makes them disappear, but framing Coq
or intuitionistic hypotheses does not make them disappear.
This tactic
finishes the goal in case
everything in the conclusion has been
This tactic
solves the goal if
everything in the conclusion has been
framed.

`iCombine "H1" "H2" as "pat"`
:
turn
s
`H1 : P1`
and
`H2 : P2`
into
`
P1 ∗ P2`
, on which
`iDetruct ... as pat`
is called
.

`iCombine "H1" "H2" as "pat"`
:
combine
s
`H1 : P1`
and
`H2 : P2`
into
`
H: P1 ∗ P2`
, then calls
`iDestruct H as pat`
on the combined hypothesis
.
Modalities

...
...
@@ 322,12 +322,12 @@ The syntax for the arguments of these tactics, called _proof mode terms_, is:
(H $! t1 ... tn with "spat1 .. spatn")
Here,
`H`
can be
both a hypothesis, as well as
a Coq lemma whose conclusion is
Here,
`H`
can be
either a hypothesis or
a Coq lemma whose conclusion is
of the shape
`P ⊢ Q`
. In the above,
`t1 ... tn`
are arbitrary Coq terms used
for instantiation of universal quantifiers, and
`spat1 .. spatn`
are
specialization patterns to eliminate implications and wands.
Proof mode terms can be written down using the following short
hands
too:
Proof mode terms can be written down using the following short
hand syntaxes,
too:
(H with "spat1 .. spatn")
(H $! t1 ... tn)
...
...
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