Skip to content
Snippets Groups Projects
Commit ca3c807e authored by Ralf Jung's avatar Ralf Jung
Browse files

changelog nits

parent 0523bbf3
No related branches found
No related tags found
No related merge requests found
......@@ -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:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment