 17 Feb, 2016 31 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.

Robbert Krebbers authored
The tactic injection H as H is doing exactly that.

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Ralf Jung authored

Ralf Jung authored

Ralf Jung authored

Ralf Jung authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored
Also, specialize the big ops to gmap and gset because that is all that we are using. For the big ops on sets this also means we can use Leibniz equality on sets.

Robbert Krebbers authored

Robbert Krebbers authored

Ralf Jung authored

Ralf Jung authored

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

Ralf Jung authored

Ralf Jung authored

Ralf Jung authored
This prevent the assumption from being dragged into lemmas that do not even need it

Ralf Jung authored

Ralf Jung authored

Ralf Jung authored

Robbert Krebbers authored

 16 Feb, 2016 9 commits


Robbert Krebbers authored
The singleton maps notation is now also more consistent with the insert <[_ := _]> _ notation for maps.

Robbert Krebbers authored

Robbert Krebbers authored
Now that there is more of it, it deserves its own place :).

Robbert Krebbers authored
Also, put stuff in a section.

Robbert Krebbers authored
* These type classes bundle an identifier into the global CMRA with a proof that the identifier points to the correct CMRA. Bundling allows us to get rid of many arguments everywhere. * I have setup the type classes so that we no longer have to keep track of the global CMRA identifiers. These are implicit and resolved automatically. * For heap I am also bundling the name of the heap RA instance. There always should be at most one heap instance so this does not introduce ambiguities. * We now have a "maps to" notation!

Robbert Krebbers authored

Ralf Jung authored

Ralf Jung authored

Ralf Jung authored
