- Sep 10, 2020
-
-
Ralf Jung authored
-
- Jun 26, 2020
- May 25, 2020
-
-
Ralf Jung authored
-
- Apr 06, 2020
-
-
Robbert Krebbers authored
-
- 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 (??).
-
- Mar 05, 2019
-
-
Ralf Jung authored
-
- 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
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.
-
- Oct 24, 2018
-
-
Robbert Krebbers authored
-
- Oct 18, 2018
-
-
Ralf Jung authored
-
- Oct 05, 2018
-
-
Robbert Krebbers 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)
-
-
- Jun 18, 2018
-
-
Ralf Jung authored
-
- Jun 14, 2018
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
- May 24, 2018
-
-
Ralf Jung authored
-
- May 23, 2018
-
-
Ralf Jung authored
There's a very low risk of these conflicting with Coq's standard library
-
- Dec 07, 2017
- Nov 26, 2017
-
-
David Swasey authored
-
- Nov 09, 2017
-
-
David Swasey authored
This reverts commit 913059d2.
-
David Swasey authored
-
- Nov 08, 2017
-
-
David Swasey authored
-
David Swasey authored
-
David Swasey authored
-
David Swasey authored
-
- Oct 30, 2017
-
-
Robbert Krebbers authored
-
- Sep 25, 2017
-
-
Dan Frumin authored
-
- Mar 15, 2017
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
- Mar 09, 2017
-
-
Ralf Jung authored
-
- Jan 12, 2017
-
-
Robbert Krebbers authored
-