- Feb 26, 2016
-
-
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.
-
- Feb 25, 2016
-
-
Robbert Krebbers authored
The performance gain seems neglectable, unfortunatelly...
-
- Feb 24, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This way it behaves better for discrete CMRAs.
-
Robbert Krebbers authored
-
- Feb 20, 2016
-
-
Ralf Jung authored
-
- Feb 18, 2016
-
-
Robbert Krebbers authored
-
- Feb 17, 2016
-
-
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.
-
Robbert Krebbers authored
-
- Feb 13, 2016
-
-
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.
-
- Feb 12, 2016
-
-
Robbert Krebbers authored
-
- Feb 11, 2016
-
-
Robbert Krebbers authored
Also do some minor clean up.
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Ralf Jung 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.
-
- Feb 10, 2016
-
-
Ralf Jung authored
-
Ralf Jung authored
-
Robbert Krebbers authored
This way we avoid many one-off 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
-
Ralf Jung authored
-
- Feb 09, 2016
-
-
Robbert Krebbers authored
-
- Feb 05, 2016
-
-
Ralf Jung authored
-
- Feb 04, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Feb 03, 2016
-
-
Ralf Jung authored
-
- Feb 02, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Feb 01, 2016
-
-
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.
-
- Jan 19, 2016
-
-
Robbert Krebbers authored
-
- Jan 16, 2016
-
-
Robbert Krebbers authored
-
- Jan 15, 2016
-
-
Robbert Krebbers authored
-
- Jan 14, 2016
-
-
Robbert Krebbers authored
-
- Jan 13, 2016
-
-
Robbert Krebbers authored
-
- Dec 15, 2015
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-