- 22 May, 2016 3 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 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 1 commit
-
-
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 non-expansive 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 user-defined 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 ad-hoc stuff and prepares for a generalization of saved propositions.
-
- 01 Mar, 2016 1 commit
-
-
Robbert Krebbers authored
-
- 29 Feb, 2016 1 commit
-
-
Ralf Jung authored
-
- 26 Feb, 2016 4 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
It now also contains a non-expansiveness 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 step-index, 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.
-
- 24 Feb, 2016 3 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This way it behaves better for discrete CMRAs.
-
Robbert Krebbers authored
-
- 20 Feb, 2016 1 commit
-
-
Ralf Jung authored
-
- 19 Feb, 2016 2 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This fix removes superflous white space in pretty printing. For example ✓{S n} x was pretty printed incorrectly as ✓{(S n)} x.
-
- 18 Feb, 2016 1 commit
-
-
Robbert Krebbers authored
-
- 17 Feb, 2016 1 commit
-
-
Robbert Krebbers authored
-
- 15 Feb, 2016 1 commit
-
-
Ralf Jung authored
-
- 13 Feb, 2016 5 commits
-
-
Ralf Jung authored
-
Ralf Jung authored
-
Robbert Krebbers authored
Also, make our redefinition of done more robust under different orders of Importing modules.
-
Robbert Krebbers authored
Since Coq 8.4 did not backtrack on eauto premises, we used to ensure that hints like Hint Extern 0 (?x ≡{_}≡ ?y) => reflexivity. were not used for goals involving evars by writing ?x ≡{_}≡ ?y instead of _ ≡{_}≡ _. This seems to be a legacy issue that no longer applies to Coq 8.5, so I have removed these restrictions making these hints thus more powerful.
-
Ralf Jung authored
-
- 11 Feb, 2016 7 commits
-
-
Robbert Krebbers authored
Also do some minor clean up.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Ralf Jung authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
Instead, I separate it into a total function and a predicate describe whether the action is allowed or not. This has some advantages: * It is much easier to deal with total functions and predicates in Coq than with functions into option. * Already existing functions do not need to be wrapped. Instead, when using a local update you end up with a sensible side condition as a Coq Prop. * The definition of local updates (and all CMRA instances) no longer depend on option.
-
- 10 Feb, 2016 1 commit
-
-
Ralf Jung authored
-