- May 24, 2019
-
-
Robbert Krebbers authored
This MR is a follow up on the renamings performed (implicitly) as part of !215. This MR makes the following changes: - `auth_both_frac_valid` and `auth_both_valid` are now of the same shape as `auth_both_frac_validN` and `auth_both_validN`. That is, both are now biimplications. - The left-to-right direction of `auth_both_frac_valid` and `auth_both_valid` only holds in case the camera is discrete. The right-to-left versions for non-discrete cameras are prefixed `_2`, the convention that we use throughout the development. - Change the direction of lemmas like `auth_frag_valid` and `auth_auth_valid` so that it's consistent with the other lemmas. I.e. make sure that the ◯ and ● are always on the LHS of the biimplication.
-
- May 23, 2019
-
-
- Mar 29, 2019
- Mar 06, 2019
-
-
Ralf Jung authored
-
- Mar 05, 2019
-
-
Ralf Jung authored
-
- Feb 27, 2019
-
-
Ralf Jung authored
-
- Jan 24, 2019
-
-
Ralf Jung authored
-
Ralf Jung authored
-
Ralf Jung authored
-
Maxime Dénès authored
This is in preparation for coq/coq#9274.
-
- Jan 19, 2019
-
-
Ralf Jung authored
-
- Jan 11, 2019
-
-
Robbert Krebbers authored
-
- Dec 03, 2018
-
-
Robbert Krebbers authored
Thanks @jtassaro.
-
- Nov 29, 2018
-
-
Tej Chajed authored
Adding a hint without a database now triggers a deprecation warning in Coq master (https://github.com/coq/coq/pull/8987).
-
- Oct 31, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
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
-
Robbert Krebbers authored
-
- Oct 24, 2018
-
-
Robbert Krebbers authored
-
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 22, 2018
-
-
Ralf Jung authored
-
Robbert Krebbers authored
-
- Oct 18, 2018
- Oct 05, 2018
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Ralf Jung authored
-
Ralf Jung authored
-
-
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
-