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-coq
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
Incidents
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
Janno
iris-coq
Commits
ca3c807e
Commit
ca3c807e
authored
Dec 05, 2017
by
Ralf Jung
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changelog nits
parent
0523bbf3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
9 deletions
+8
-9
CHANGELOG.md
CHANGELOG.md
+8
-9
No files found.
CHANGELOG.md
View file @
ca3c807e
...
...
@@ -13,15 +13,14 @@ Changes in and extensions of the theory:
*
Constructions for least and greatest fixed points over monotone predicates
(defined in the logic of Iris using impredicative quantification).
*
Add a proof of the inverse of
`wp_bind`
.
*
Support verifying code that might get stuck by distinguishing
"non-stuck" vs. "(potentially) stuck" weakest preconditions. (See
[Swasey et al. OOPSLA '17] for examples.) The non-stuck
`WP e @ E {{
Φ }}`
ensures that, as
`e`
runs, it does not get stuck. The stuck
`WP e @ E ?{{ Φ }}`
ensures that, as usual, all invariants are
preserved while
`e`
runs, but it permits execution to get stuck. The
former implies the latter. The full judgment is
`WP e @ s; E {{ Φ
}}`
, where non-stuck WP uses
*stuckness bit*
`s = not_stuck`
while
stuck WP uses
`s = maybe_stuck`
.
*
Support verifying code that might get stuck by distinguishing "non-stuck"
vs. "(potentially) stuck" weakest preconditions. (See
[Swasey et al., OOPSLA '17] for examples.) The non-stuck
`WP e @ E {{ Φ }}`
ensures that, as
`e`
runs, it does not get stuck. The stuck
`WP e @ E ?{{ Φ
}}`
ensures that, as usual, all invariants are preserved while
`e`
runs, but
it permits execution to get stuck. The former implies the latter. The full
judgment is
`WP e @ s; E {{ Φ }}`
, where non-stuck WP uses
*stuckness bit*
`s
= not_stuck`
while stuck WP uses
`s = maybe_stuck`
.
Changes in Coq:
...
...
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