 10 Mar, 2016 2 commits


Ralf Jung authored

Robbert Krebbers authored
Thanks to Amin Timany for the suggestion.

 08 Mar, 2016 1 commit


Ralf Jung authored

 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.

 01 Mar, 2016 1 commit


Robbert Krebbers authored

 29 Feb, 2016 2 commits
 26 Feb, 2016 2 commits


Robbert Krebbers authored
It now also contains a nonexpansiveness proof.

Robbert Krebbers authored
I have simplified the following CMRA axioms: cmra_unit_preservingN n x y : x ≼{n} y → unit x ≼{n} unit y; cmra_op_minus n x y : x ≼{n} y → x ⋅ y ⩪ x ≡{n}≡ y; By dropping off the stepindex, so into: cmra_unit_preservingN x y : x ≼ y → unit x ≼ unit y; cmra_op_minus x y : x ≼ y → x ⋅ y ⩪ x ≡ y; The old axioms can be derived.

 25 Feb, 2016 1 commit


Robbert Krebbers authored
The performance gain seems neglectable, unfortunatelly...

 24 Feb, 2016 3 commits


Robbert Krebbers authored
This way it behaves better for discrete CMRAs.

Robbert Krebbers authored

Robbert Krebbers authored
This better seals off their definition. Although it did not give much of a speedup, I think it is conceptually nicer.

 23 Feb, 2016 1 commit


Ralf Jung authored

 20 Feb, 2016 1 commit


Ralf Jung authored

 18 Feb, 2016 1 commit


Robbert Krebbers authored

 17 Feb, 2016 1 commit


Robbert Krebbers authored

 13 Feb, 2016 4 commits


Robbert Krebbers authored

Robbert Krebbers authored
(missed practically everything in the previous commit)

Robbert Krebbers authored

Robbert Krebbers authored
Also, make our redefinition of done more robust under different orders of Importing modules.

 11 Feb, 2016 1 commit


Robbert Krebbers authored
Also do some minor clean up.

 10 Feb, 2016 2 commits


Robbert Krebbers authored
This way we avoid many oneoff indexes and no longer need special cases for index 0 in many definitions. For example, the definition of the distance relation on option and excl has become much easier. Also, uPreds no longer need to hold at index 0. In order to make this change possible, we had to change the notions of "contractive functions" and "chains" slightly. Thanks to Aleš Bizjak and Amin Timany for suggesting this change and to help with the proofs.

Ralf Jung authored

 05 Feb, 2016 1 commit


Ralf Jung authored

 04 Feb, 2016 2 commits


Robbert Krebbers authored

Robbert Krebbers authored

 01 Feb, 2016 1 commit


Robbert Krebbers authored
Instead, we have just a construction to create a CMRA from a RA. This construction is also slightly generalized, it now works for RAs over any timeless COFE instead of just the discrete COFE. Also: * Put tactics and big_ops for CMRAs in a separate file. * Valid is now a derived notion (as the limit of validN), so it does not have to be defined by hand for each CMRA. Todo: Make the constructions DRA > CMRA and RA > CMRA more uniform.

 18 Jan, 2016 1 commit


Robbert Krebbers authored

 16 Jan, 2016 1 commit


Robbert Krebbers authored

 14 Jan, 2016 1 commit


Robbert Krebbers authored

 13 Jan, 2016 1 commit


Robbert Krebbers authored

 21 Dec, 2015 1 commit


Robbert Krebbers authored

 15 Dec, 2015 3 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

 23 Nov, 2015 1 commit


Robbert Krebbers authored
