 06 Oct, 2016 1 commit


Robbert Krebbers authored
These are very useful when dealing with the authoritative CMRA.

 02 Oct, 2016 1 commit


Robbert Krebbers authored

 28 Sep, 2016 1 commit


Robbert Krebbers authored
This allows us to factor out properties about connectives that commute with the big operators.

 20 Sep, 2016 2 commits


Robbert Krebbers authored
We only had the stepindexed version before. Unfortunately, the non stepindexed version does not follow from the stepindexed version.

Robbert Krebbers authored

 01 Sep, 2016 1 commit


Robbert Krebbers authored

 30 Aug, 2016 1 commit


Robbert Krebbers authored

 20 Aug, 2016 1 commit


Robbert Krebbers authored
This requirement was useful in Iris 2.0: in order to ensure that ownership of the physical state was timeless, we required the ghost CMRA to have a timeless unit. To avoid having additional type class parameters, or having to extend the algebraic hierarchy, we required the units of any CMRA to be timeless. In Iris 3.0, this issue no longer applies: ownership of the physical state is ghost ownership in the global CMRA, whose unit is always timeless. Thanks to Jeehoon Kang for spotting this unnecessary requirement.

 14 Aug, 2016 1 commit


Robbert Krebbers authored
This is more consistent with the definition of the extension order, which is also defined in terms of an existential.

 27 Jul, 2016 2 commits


Robbert Krebbers authored
This reverts commit 20b4ae55, which does not seem to work with Coq 8.5pl2 (I accidentally tested with 8.5pl1).

Robbert Krebbers authored
This makes type checking more directed, and somewhat more predictable. On the downside, it makes it impossible to declare the singleton on lists as an instance of SingletonM and the insert and alter operations on functions as instances of Alter and Insert. However, these were not used often anyway.

 25 Jul, 2016 2 commits


Ralf Jung authored

Robbert Krebbers authored

 11 Jul, 2016 1 commit


Robbert Krebbers authored

 16 Jun, 2016 3 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

 15 Jun, 2016 2 commits


Robbert Krebbers authored

Robbert Krebbers authored

 06 Jun, 2016 1 commit


Robbert Krebbers authored

 31 May, 2016 2 commits


JacquesHenri Jourdan authored

Robbert Krebbers authored
be the same as
↔ . This is a fairly intrusive change, but at least makes notations more consistent, and often shorter because fewer parentheses are needed. Note that viewshifts already had the same precedence as →.

 28 May, 2016 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
Based on an idea and WIP commits of JH. Jourdan: the core of a CMRA A is now a partial function A → option A. TODO: define sum CMRA TODO: remove one shot CMRA and define it in terms of sum

 27 May, 2016 2 commits


Robbert Krebbers authored

Robbert Krebbers authored

 25 May, 2016 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
 Make the carrier argument of the constructors for the canonical structures cofeT and cmraT explicit. This way we make sure the carrier is properly exposed, instead of some alias of the carrier.  Make derived constructions (such as discreteC and discreteR) notations instead of definitions. This is yet again to make sure that the carrier is properly exposed.  Turn DRA into a canonical structure (it used to be a type class). This fixes some issues, notably it fixes some broken rewrites in algebra/sts and it makes canonical structures work properly with dec_agree.

 22 May, 2016 1 commit


Robbert Krebbers authored

 29 Mar, 2016 1 commit


Robbert Krebbers authored
Also remove some superfluous map_ prefixes.

 15 Mar, 2016 1 commit


Robbert Krebbers authored

 11 Mar, 2016 1 commit


Robbert Krebbers authored
The only drawback is that we have to restrict iprod to finite types, but that is fine.

 10 Mar, 2016 2 commits


Ralf Jung authored

Robbert Krebbers authored
Thanks to Amin Timany for the suggestion.

 08 Mar, 2016 2 commits
 07 Mar, 2016 2 commits


Robbert Krebbers authored
So, only use the type class for contractive functors.

Ralf Jung authored
Add both nonexpansive and contractive functors, and bundle them for the general Iris instance as well as the global functor construction This allows us to move the \later in the userdefined functor to any place we want. In particular, we can now have "\later (iProp > iProp)" in the ghost CMRA.

 06 Mar, 2016 1 commit


Robbert Krebbers authored
Since functor instances are just used as combinators, there is really no need for functors that are not contractive.

 02 Mar, 2016 1 commit


Robbert Krebbers authored
This cleans up some adhoc stuff and prepares for a generalization of saved propositions.
