- 23 Feb, 2016 5 commits
-
-
Robbert Krebbers authored
I am now also using reification to obtain the indexes corresponding to the stuff we want to cancel instead of relying on matching using Ltac.
-
Robbert Krebbers authored
With Set Printing All, these notations make me loose overview entirely.
-
Ralf Jung authored
-
Ralf Jung authored
-
Ralf Jung authored
barrier: strive for consistency between barrierGF and the inGF assumptions; also change some instance names
-
- 22 Feb, 2016 9 commits
-
-
Robbert Krebbers authored
And now the part that I forgot to commit.
-
Robbert Krebbers authored
I made the list of iFunctors monomorphic to avoid having to deal with universe polymorphism, that is still somewhat flaky.
-
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.
-
Robbert Krebbers authored
The non applied one should be only parsing.
-
Robbert Krebbers authored
In most cases there is a lot of duplicate proof search performed by both naive_solver and eauto. Especially since naive_solver calls its tactic (in the case of set_solver this used to be eauto) quite eagerly this made it very slow. Note that set_solver is this too slow and should be improved.
-
Robbert Krebbers authored
In most cases there is a lot of duplicate proof search performed by both naive_solver and eauto. Especially since naive_solver calls its tactic (in the case of set_solver this used to be eauto) quite eagerly this made it very slow. Note that set_solver is this too slow and should be improved.
-
Ralf Jung authored
-
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
-
- 21 Feb, 2016 3 commits
- 20 Feb, 2016 4 commits
- 19 Feb, 2016 5 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
* Put level of the triple at 20, so we can write things like ▷ {{ P }} e @ E {{ Φ }} without parentheses. * Use high levels for P, e and Φ. * Allow @ E to be omitted in case E = ⊤.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
Still need to use it everywhere.
-
- 18 Feb, 2016 6 commits
-
-
Ralf Jung authored
-
Ralf Jung authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This avoids ambiguity with P and Q that we were using before for both uPreds/iProps and indexed uPreds/iProps.
-
Ralf Jung authored
-
- 17 Feb, 2016 8 commits
-
-
Robbert Krebbers authored
It is doing much more than just dealing with ∈, it solves all kinds of goals involving set operations (including ≡ and ⊆).
-
Robbert Krebbers authored
simplify_equality => simplify_eq simplify_equality' => simplify_eq/= simplify_map_equality => simplify_map_eq simplify_map_equality' => simplify_map_eq/= simplify_option_equality => simplify_option_eq simplify_list_equality => simplify_list_eq f_equal' => f_equal/= The /= suffixes (meaning: do simpl) are inspired by ssreflect.
-
Ralf Jung authored
-
Robbert Krebbers authored
Do not use proper explicitly but let setoids handle it.
-
Ralf Jung authored
-
Ralf Jung authored
-
Ralf Jung authored
-
Ralf Jung authored
-