 15 Jun, 2016 2 commits


JacquesHenri Jourdan authored

Robbert Krebbers authored
This is inspired by ssr, and makes unification faster if it goes righttoleft. See https://sympa.inria.fr/sympa/arc/ssreflect/201311/msg00010.html

 14 Jun, 2016 1 commit


Robbert Krebbers authored
This way, we can use eapply instead of class_apply, which is used when the instances are defined using the Instance command. It seems that eapply is stronger as class_apply, and as such solves some issues when canonical structures have type class parameters, for example: Goal Op (option (dec_agree nat)). apply _. This failed, but is fixed by this commit.

 28 May, 2016 1 commit


Robbert Krebbers authored
Based on an idea and WIP commits of JH. Jourdan: the core of a CMRA A is now a partial function A → option A. TODO: define sum CMRA TODO: remove one shot CMRA and define it in terms of sum

 27 May, 2016 7 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

 25 May, 2016 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
 Make the carrier argument of the constructors for the canonical structures cofeT and cmraT explicit. This way we make sure the carrier is properly exposed, instead of some alias of the carrier.  Make derived constructions (such as discreteC and discreteR) notations instead of definitions. This is yet again to make sure that the carrier is properly exposed.  Turn DRA into a canonical structure (it used to be a type class). This fixes some issues, notably it fixes some broken rewrites in algebra/sts and it makes canonical structures work properly with dec_agree.

 24 Apr, 2016 2 commits


Ralf Jung authored
 29 Mar, 2016 1 commit


Robbert Krebbers authored

 19 Mar, 2016 1 commit


Robbert Krebbers authored

 18 Mar, 2016 1 commit


Robbert Krebbers authored

 17 Mar, 2016 1 commit


Ralf Jung authored

 15 Mar, 2016 1 commit


Ralf Jung authored

 10 Mar, 2016 1 commit


Robbert Krebbers authored
Thanks to Amin Timany for the suggestion.

 07 Mar, 2016 4 commits


Ralf Jung authored

Ralf Jung authored

Robbert Krebbers authored
So, only use the type class for contractive functors.

Ralf Jung authored
Add both nonexpansive 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 userdefined 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 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 1 commit


Robbert Krebbers authored
Also, make our redefinition of done more robust under different orders of Importing modules.
