 18 Jan, 2018 1 commit


JacquesHenri Jourdan authored

 30 Dec, 2017 1 commit


Robbert Krebbers authored
This was an oversight in !63.

 18 Dec, 2017 1 commit


JacquesHenri Jourdan authored

 11 Dec, 2017 1 commit


JacquesHenri Jourdan authored

 04 Dec, 2017 3 commits


JacquesHenri Jourdan authored

JacquesHenri Jourdan authored

JacquesHenri Jourdan authored

 03 Dec, 2017 1 commit


Robbert Krebbers authored
To be consistent with the lemma for the persistence modality.

 16 Nov, 2017 1 commit


Robbert Krebbers authored

 15 Nov, 2017 1 commit


Ralf Jung authored

 11 Nov, 2017 2 commits


Robbert Krebbers authored

Ralf Jung authored

 02 Nov, 2017 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
Thanks to Amin Timany for an initial version of the proof.

 01 Nov, 2017 2 commits


JacquesHenri Jourdan authored

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.

 30 Oct, 2017 2 commits


Robbert Krebbers authored
Otherwise, ownership of cores in our ordered RA model will not be persistent.

Robbert Krebbers authored

 28 Oct, 2017 1 commit


Robbert Krebbers authored
This way, it can be used with `iApply`.

 26 Oct, 2017 3 commits


Robbert Krebbers authored

Robbert Krebbers authored

Amin Timany authored

 25 Oct, 2017 6 commits


Robbert Krebbers authored
Replace/remove some occurences of `persistently` into `persistent` where the property instead of the modality is used.

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored
Rename `UCMRA` → `Ucmra` Rename `CMRA` → `Cmra` Rename `OFE` → `Ofe` (`Ofe` was already used partially, but many occurences were missing) Rename `STS` → `Sts` Rename `DRA` → `Dra`

Robbert Krebbers authored

 27 Sep, 2017 1 commit


Robbert Krebbers authored
This causes a bit of backwards incompatibility: it may now succeed with later stripping below unlocked/TC transparent definitions. This problem actually occured for `wsat`.

 17 Sep, 2017 1 commit


Robbert Krebbers authored
For obsolete reasons, that no longer seem to apply, we used ∅ as the unit.

 23 Aug, 2017 1 commit


Ralf Jung authored

 17 Aug, 2017 1 commit


Robbert Krebbers authored

 07 Aug, 2017 2 commits


JacquesHenri Jourdan authored

JacquesHenri Jourdan authored

 13 Jun, 2017 3 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored
It can be derived, thanks to Ales for noticing!

 12 May, 2017 2 commits


Robbert Krebbers authored

Robbert Krebbers authored

 24 Mar, 2017 1 commit


Robbert Krebbers authored
Instead, I have introduced a type class `Monoid` that is used by the big operators: Class Monoid {M : ofeT} (o : M → M → M) := { monoid_unit : M; monoid_ne : NonExpansive2 o; monoid_assoc : Assoc (≡) o; monoid_comm : Comm (≡) o; monoid_left_id : LeftId (≡) monoid_unit o; monoid_right_id : RightId (≡) monoid_unit o; }. Note that the operation is an argument because we want to have multiple monoids over the same type (for example, on `uPred`s we have monoids for `∗`, `∧`, and `∨`). However, we do bundle the unit because:  If we would not, the unit would appear explicitly in an implicit argument of the big operators, which confuses rewrite. By bundling the unit in the `Monoid` class it is hidden, and hence rewrite won't even see it.  The unit is unique. We could in principle have big ops over setoids instead of OFEs. However, since we do not have a canonical structure for bundled setoids, I did not go that way.
