 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 4 commits


Robbert Krebbers authored

Ralf Jung authored

Robbert Krebbers authored

Robbert Krebbers authored
This cleans up some adhoc stuff and prepares for a generalization of saved propositions.

 29 Feb, 2016 1 commit


Ralf Jung authored

 27 Feb, 2016 1 commit


Robbert Krebbers authored

 25 Feb, 2016 1 commit


Ralf Jung authored
This replaces f_equiv and solve_proper with our own, hopefully better, versions

 24 Feb, 2016 1 commit


Robbert Krebbers authored

 20 Feb, 2016 1 commit


Ralf Jung authored

 18 Feb, 2016 1 commit


Robbert Krebbers authored

 17 Feb, 2016 2 commits


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

 16 Feb, 2016 1 commit


Ralf Jung authored

 13 Feb, 2016 2 commits


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.

 12 Feb, 2016 1 commit


Robbert Krebbers authored

 11 Feb, 2016 3 commits


Robbert Krebbers authored
Also do some minor clean up.

Ralf Jung authored

Ralf Jung authored

 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

 08 Feb, 2016 1 commit


Ralf Jung authored

 04 Feb, 2016 3 commits


Robbert Krebbers authored

Robbert Krebbers authored
* Insert and singleton operation. * Identity element. * Nonexpansiveness and properness of insert and singleton. * Frame preserving updates. * Functoriality.

Robbert Krebbers authored

 03 Feb, 2016 1 commit


Robbert Krebbers authored

 02 Feb, 2016 1 commit


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.

 31 Jan, 2016 1 commit


Robbert Krebbers authored

 18 Jan, 2016 1 commit


Robbert Krebbers authored

 16 Jan, 2016 3 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

 14 Jan, 2016 1 commit


Robbert Krebbers authored

 13 Jan, 2016 2 commits


Robbert Krebbers authored

Robbert Krebbers authored

 12 Jan, 2016 1 commit


Robbert Krebbers authored

 21 Dec, 2015 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
