- 25 Feb, 2016 1 commit
-
-
Robbert Krebbers authored
The performance gain seems neglectable, unfortunatelly...
-
- 23 Feb, 2016 1 commit
-
-
Ralf Jung authored
-
- 22 Feb, 2016 4 commits
-
-
Robbert Krebbers authored
And now the part that I forgot to commit.
-
Robbert Krebbers authored
Also, give all these global functors the suffix GF to avoid shadowing such as we had with authF. And add some type annotations for clarity.
-
Ralf Jung authored
I added a new typeclass "inGF" to witness that a particular *functor* is part of \Sigma. inG, in contrast, witnesses a particular *CMRA* to be in there, after applying the functor to "\later iProp". inGF can be inferred if that functor is consed to the head of \Sigma, and it is preserved by consing a new functor to \Sigma. This is not the case for inG since the recursive occurence of \Sigma also changes. For evry construction (auth, sts, saved_prop), there is an instance infering the respective authG, stsG, savedPropG from an inGF. There is also a global inG_inGF, but Coq is unable to use it. I tried to instead have *only* inGF, since having both typeclasses seemed weird. However, then the actual type that e.g. "own" is about is the result of applying a functor, and Coq entirely fails to infer anything. I had to add a few type annotations in heap.v, because Coq tried to use the "authG_inGF" instance before the A got fixed, and ended up looping and expanding endlessly on that proof of timelessness. This does not seem entirely unreasonable, I was honestly surprised Coq was able to infer the types previously.
-
Ralf Jung authored
-
- 19 Feb, 2016 1 commit
-
-
Robbert Krebbers authored
-
- 18 Feb, 2016 1 commit
-
-
Ralf Jung authored
-
- 17 Feb, 2016 2 commits
-
-
Ralf Jung authored
-
Robbert Krebbers authored
-
- 16 Feb, 2016 2 commits
-
-
Robbert Krebbers authored
The singleton maps notation is now also more consistent with the insert <[_ := _]> _ notation for maps.
-
Robbert Krebbers authored
* These type classes bundle an identifier into the global CMRA with a proof that the identifier points to the correct CMRA. Bundling allows us to get rid of many arguments everywhere. * I have setup the type classes so that we no longer have to keep track of the global CMRA identifiers. These are implicit and resolved automatically. * For heap I am also bundling the name of the heap RA instance. There always should be at most one heap instance so this does not introduce ambiguities. * We now have a "maps to" notation!
-
- 15 Feb, 2016 2 commits
- 14 Feb, 2016 1 commit
-
-
Ralf Jung authored
-
- 13 Feb, 2016 3 commits
-
-
Robbert Krebbers authored
(missed practically everything in the previous commit)
-
Robbert Krebbers authored
Also, make our redefinition of done more robust under different orders of Importing modules.
-
Ralf Jung authored
-
- 12 Feb, 2016 1 commit
-
-
Ralf Jung authored
-
- 11 Feb, 2016 2 commits
-
-
Robbert Krebbers authored
-
Ralf Jung authored
globalC -> globalF New notation: iPropG, iFunctorG
-
- 10 Feb, 2016 3 commits
-
-
Ralf Jung authored
-
Ralf Jung authored
-
Robbert Krebbers authored
-
- 09 Feb, 2016 2 commits
- 08 Feb, 2016 7 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Ralf Jung authored
-
Ralf Jung authored
Actual proofs will end up using own and inv, and none of the notions defined in ownership.v
-
Ralf Jung authored
-
Ralf Jung authored
-