 03 Apr, 2020 1 commit


Robbert Krebbers authored

 10 Mar, 2020 1 commit


Tej Chajed authored
This feature is now deprecated in Coq master (see https://github.com/coq/coq/pull/7791). Instead of passing a partiallyapplied lemma directly to Hint Resolve, first create a definition and then make that reference a hint.

 21 Nov, 2019 2 commits


Robbert Krebbers authored

Robbert Krebbers authored

 13 Sep, 2019 1 commit


JacquesHenri 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 (??).

 16 Jun, 2019 1 commit


Robbert Krebbers authored
Used the following script: sed ' s/\bCofeMor/OfeMor/g; s/\c>/\d>/g; s/\bcFunctor/oFunctor/g; s/\bCFunctor/OFunctor/g; s/\b\%CF/\%OF/g; s/\bconstCF/constOF/g; s/\bidCF/idOF/g s/\bdiscreteC/discreteO/g; s/\bleibnizC/leibnizO/g; s/\bunitC/unitO/g; s/\bprodC/prodO/g; s/\bsumC/sumO/g; s/\bboolC/boolO/g; s/\bnatC/natO/g; s/\bpositiveC/positiveO/g; s/\bNC/NO/g; s/\bZC/ZO/g; s/\boptionC/optionO/g; s/\blaterC/laterO/g; s/\bofe\_fun/discrete\_fun/g; s/\bdiscrete\_funC/discrete\_funO/g; s/\bofe\_morC/ofe\_morO/g; s/\bsigC/sigO/g; s/\buPredC/uPredO/g; s/\bcsumC/csumO/g; s/\bagreeC/agreeO/g; s/\bauthC/authO/g; s/\bnamespace_mapC/namespace\_mapO/g; s/\bcmra\_ofeC/cmra\_ofeO/g; s/\bucmra\_ofeC/ucmra\_ofeO/g; s/\bexclC/exclO/g; s/\bgmapC/gmapO/g; s/\blistC/listO/g; s/\bvecC/vecO/g; s/\bgsetC/gsetO/g; s/\bgset\_disjC/gset\_disjO/g; s/\bcoPsetC/coPsetO/g; s/\bgmultisetC/gmultisetO/g; s/\bufracC/ufracO/g s/\bfracC/fracO/g; s/\bvalidityC/validityO/g; s/\bbi\_ofeC/bi\_ofeO/g; s/\bsbi\_ofeC/sbi\_ofeO/g; s/\bmonPredC/monPredO/g; s/\bstateC/stateO/g; s/\bvalC/valO/g; s/\bexprC/exprO/g; s/\blocC/locO/g; ' i $(find theories name "*.v")

 12 Jun, 2019 1 commit


Robbert Krebbers authored
The new adequacy statement unifies `wp_strong_adequacy`, `wp_strong_all_adequacy`, and `wp_invariance`.

 11 Jun, 2019 1 commit


Ralf Jung authored

 24 May, 2019 1 commit


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 lefttoright direction of `auth_both_frac_valid` and `auth_both_valid` only holds in case the camera is discrete. The righttoleft versions for nondiscrete 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.

 23 May, 2019 1 commit


Hai Dang authored

 05 Mar, 2019 1 commit


Ralf Jung authored

 27 Feb, 2019 1 commit


Ralf Jung authored

 24 Jan, 2019 1 commit


Maxime Dénès authored
This is in preparation for coq/coq#9274.

 29 Nov, 2018 1 commit


Tej Chajed authored
Adding a hint without a database now triggers a deprecation warning in Coq master (https://github.com/coq/coq/pull/8987).

 31 Oct, 2018 5 commits


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 forkedoff threads, and a fixed postcondition for each forkedoff thread: state_interp : Λstate → list Λobservation → nat → iProp Σ; fork_post : iProp Σ; This way, instead of having `True` as the postcondition of `Fork`, one can have any postcondition, which is then recorded in the state interpretation. The point of keeping track of the postconditions of forkedoff 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 postconditions `[∗] replicate m fork_post` of all forkedoff 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 forkbased concurrency.

 22 Oct, 2018 1 commit


Ralf Jung authored

 18 Oct, 2018 1 commit


Ralf Jung authored

 05 Oct, 2018 5 commits


Ralf Jung authored

Ralf Jung authored

Marianna Rapoport authored

Marianna Rapoport 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)

Marianna Rapoport authored

 03 Oct, 2018 1 commit


Robbert Krebbers authored

 18 Jun, 2018 1 commit


Ralf Jung authored

 24 May, 2018 1 commit


Ralf Jung authored

 23 May, 2018 1 commit


Ralf Jung authored
There's a very low risk of these conflicting with Coq's standard library

 07 Dec, 2017 2 commits
 26 Nov, 2017 1 commit


David Swasey authored

 23 Nov, 2017 1 commit


Robbert Krebbers authored

 09 Nov, 2017 3 commits


David Swasey authored
This reverts commit 913059d2.

David Swasey authored

 08 Nov, 2017 3 commits


David Swasey authored

David Swasey authored

David Swasey authored
