Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Iris
Actris
Commits
d6c96f96
Commit
d6c96f96
authored
Oct 18, 2019
by
Robbert Krebbers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More about normalization in README.
parent
9acbe81f
Pipeline
#20373
failed with stage
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
0 deletions
+15
-0
README.md
README.md
+15
-0
No files found.
README.md
View file @
d6c96f96
...
...
@@ -80,6 +80,21 @@ Actris tactics are as follows:
put
`H : c ↣ prot1`
and
`H : c ↣ prot2`
back into the contexts of the two
respectively goals.
The above tactics implicitly perform normalization of the protocol
`prot`
in
the hypothesis
`H : c ↣ prot`
. For example,
`wp_send`
also works if there is a
with protocol the
`iProto_dual ((<?> y1 .. yn, MSG v; {{ P }}; END) <++> prot)`
.
Concretely, the normalization performs the following actions:
-
It re-associates appends (
`<++>`
), and removes left-identities (
`END`
) of it.
-
It moves appends (
`<++>`
) into sends (
`<!>`
), receives (
`<?>`
), selections
(
`<+>`
) and branches (
`<&>`
).
-
It distributed duals (
`iProto_dual`
) over append (
`<++>`
).
-
It unfolds
`prot1`
into
`prot2`
if there is an instance of the type class
`ProtoUnfold prot1 prot2`
. When defining a recursive protocol, it is
useful to define a
`ProtoUnfold`
instance to obtain automatic unfolding
of the recursive protocol. For example, see
`sort_protocol_br_unfold`
in
[
theories/examples/sort_br_del.v
](
theories/examples/sort_br_del.v
)
.
[
HeapLang
]:
https://gitlab.mpi-sws.org/iris/iris/blob/master/HeapLang.md
[
ProofMode
]:
https://gitlab.mpi-sws.org/iris/iris/blob/master/ProofMode.md
[
ActrisProofMode
]:
theories/channel/proofmode.v
...
...
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