- Oct 01, 2020
-
-
Michael Sammler authored
-
- Sep 10, 2020
-
-
Ralf Jung authored
-
- Jun 26, 2020
-
-
Ralf Jung authored
-
- May 16, 2020
-
-
Tej Chajed authored
Fixes #319
-
- Mar 16, 2020
-
-
- remove "odd" comment - move atomic triples to bi_scope
-
- Mar 09, 2020
-
-
Robbert Krebbers authored
-
- Nov 08, 2019
-
-
Robbert Krebbers authored
-
- Nov 06, 2019
-
-
- Sep 13, 2019
-
-
Jacques-Henri Jourdan authored
The general idea is to first import/export modules which are further than the current one, and then import/export modules which are close dependencies. This commit tries to use the same order of imports for every file, and describes the convention in ProofGuide.md. There is one exception, where we do not follow said convention: in program_logic/weakestpre.v, using that order would break printing of texan triples (??).
-
- Jun 15, 2019
-
-
Robbert Krebbers authored
-
- Jun 14, 2019
-
-
Ralf Jung authored
-
- Jun 13, 2019
- Jun 12, 2019
-
-
Ralf Jung authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
The new adequacy statement unifies `wp_strong_adequacy`, `wp_strong_all_adequacy`, and `wp_invariance`.
-
- Jun 06, 2019
-
-
Ralf Jung authored
-
- Mar 05, 2019
-
-
Ralf Jung authored
-
- Jan 11, 2019
-
-
Robbert Krebbers authored
-
- Dec 03, 2018
-
-
Robbert Krebbers authored
Thanks @jtassaro.
-
- Oct 31, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This commit extends the state interpretation with an additional parameter to talk about the number of forked-off threads, and a fixed postcondition for each forked-off thread: state_interp : Λstate → list Λobservation → nat → iProp Σ; fork_post : iProp Σ; This way, instead of having `True` as the post-condition of `Fork`, one can have any post-condition, which is then recorded in the state interpretation. The point of keeping track of the postconditions of forked-off threads, is that we get an (additional) stronger adequacy theorem: Theorem wp_strong_all_adequacy Σ Λ `{invPreG Σ} s e σ1 v vs σ2 φ : (∀ `{Hinv : invG Σ} κs, (|={⊤}=> ∃ (stateI : state Λ → list (observation Λ) → nat → iProp Σ) (fork_post : iProp Σ), let _ : irisG Λ Σ := IrisG _ _ _ Hinv stateI fork_post in stateI σ1 κs 0 ∗ WP e @ s; ⊤ {{ v, let m := length vs in stateI σ2 [] m -∗ [∗] replicate m fork_post ={⊤,∅}=∗ ⌜ φ v ⌝ }})%I) → rtc erased_step ([e], σ1) (of_val <$> v :: vs, σ2) → φ v. The difference with the ordinary adequacy theorem is that this one only applies once all threads terminated. In this case, one gets back the post-conditions `[∗] replicate m fork_post` of all forked-off threads. In Iron we showed that we can use this mechanism to make sure that all resources are disposed of properly in the presence of fork-based concurrency.
-
Robbert Krebbers authored
-
- Oct 24, 2018
-
-
Joseph Tassarotti authored
Use explicit names in some scripts, re-organize fupd plainly derived laws, adjust wsat import/export.
-
Joseph Tassarotti authored
Modify adequacy proof to not break the 'fancy update' abstraction. Modify fupd plainly interface and add new derived results.
-
- Oct 18, 2018
- Oct 05, 2018
-
-
Ralf Jung authored
-
- Removing head of list of observations after each reduction step in definition of wp - Adding support for observations to state_interp and world - Applying Ralf's suggestions to previous commit (e.g. replacing /\ and -> with unicode characters)
-
-
- Oct 03, 2018
-
-
Robbert Krebbers authored
-
- Jun 25, 2018
-
-
Ralf Jung authored
-
- Jun 14, 2018
-
-
Jacques-Henri Jourdan authored
-
- Jun 05, 2018
-
-
Ralf Jung authored
-
- Jan 20, 2018
-
-
Robbert Krebbers authored
We already used the following naming convention: `wp_value'` is stated in terms of `of_val` and `wp_value` is stated in terms of `IntoVal`. This commit applies this convention to `wp_value_inv` as well.
-
- Dec 11, 2017
-
-
Jacques-Henri Jourdan authored
-
- Dec 07, 2017
-
-
Ralf Jung authored
-