 14 Dec, 2017 1 commit


JacquesHenri Jourdan authored

 11 Dec, 2017 1 commit


JacquesHenri Jourdan authored

 04 Dec, 2017 2 commits


JacquesHenri Jourdan authored

JacquesHenri Jourdan authored

 14 Nov, 2017 1 commit


Robbert Krebbers authored
This gives a 25% speedup on some files (e.g. boxes). This commit contains some hacks to work arround Coq issue #5699. This commit requires Coq v8.7 together with https://github.com/coq/coq/pull/1006

 01 Nov, 2017 1 commit


JacquesHenri Jourdan authored
(□ P) now means (bi_bare (bi_persistently P)). This is motivated by the fact that these two modalities are rarely used separately. In the case of an affine BI, we keep the □ notation. This means that a bi_bare is inserted each time we use □. Hence, a few adaptations need to be done in the proof mode class instances.

 31 Oct, 2017 1 commit


JacquesHenri Jourdan authored

 30 Oct, 2017 4 commits


Robbert Krebbers authored
The absence of this axiom has two consequences:  We no longer have `■ (P ∗ Q) ⊢ ■ P ∗ ■ Q` and `□ (P ∗ Q) ⊢ □ P ∗ □ Q`, and as a result, separating conjunctions in the unrestricted/persistent context cannot be eliminated.  When having `(P ∗ ⬕ Q) ∗ P`, we do not get `⬕ Q ∗ P`. In the proof mode this means when having: H1 : P ∗ ⬕ Q H2 : P We cannot say `iDestruct ("H1" with "H2") as "#H1"` and keep `H2`. However, there is now a type class `PositiveBI PROP`, and when there is an instance of this type class, one gets the above reasoning principle back. TODO: Can we describe positivity of individual propositions instead of the whole BI? That way, we would get the above reasoning principles even when the BI is not positive, but the propositions involved are.

Robbert Krebbers authored
As Aleš observed, in the ordered RA model it is not, unless the order on the unit is timeless.

Robbert Krebbers authored
Thanks to discussions with Ales and Amin.

Robbert Krebbers authored
