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

more experimental changelog

parent df0f72f0
No related branches found
No related tags found
No related merge requests found
......@@ -14,14 +14,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
= NotStuck` while stuck WP uses `s = MaybeStuck`.
* [Experimental feature] 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 = NotStuck` while stuck WP uses `s = MaybeStuck`.
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