 28 Aug, 2016 1 commit


Robbert Krebbers authored

 24 Aug, 2016 4 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

 27 Jul, 2016 2 commits


Robbert Krebbers authored
This reverts commit 20b4ae55, which does not seem to work with Coq 8.5pl2 (I accidentally tested with 8.5pl1).

Robbert Krebbers authored
This makes type checking more directed, and somewhat more predictable. On the downside, it makes it impossible to declare the singleton on lists as an instance of SingletonM and the insert and alter operations on functions as instances of Alter and Insert. However, these were not used often anyway.

 25 Jul, 2016 1 commit


Robbert Krebbers authored
Also, I removed the @ from lookup_weaken since the Coq bug we experienced before somehow disappeared.

 22 Jul, 2016 1 commit


Robbert Krebbers authored
There was not really a need for the lattice type classes, so I removed these.

 23 Jun, 2016 1 commit


Robbert Krebbers authored
This is more consistent with the proofmode, where we also call it pure.

 01 Jun, 2016 1 commit


Robbert Krebbers authored

 31 May, 2016 2 commits


Robbert Krebbers authored
be the same as
↔ . This is a fairly intrusive change, but at least makes notations more consistent, and often shorter because fewer parentheses are needed. Note that viewshifts already had the same precedence as →. 
Robbert Krebbers authored

 30 May, 2016 5 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

 27 May, 2016 1 commit


Robbert Krebbers authored

 24 May, 2016 2 commits


Robbert Krebbers authored
Rationale: to make the code closer to what is on paper, I want the notations to look like quantifiers, i.e. have a binder builtin. I thus introduced the following notations: [★ map] k ↦ x ∈ m, P [★ set] x ∈ X, P The good thing  contrary to the notations that we had before that required an explicit lambda  is that type annotations of k and x are now not printed making goals much easier to read.

Robbert Krebbers authored

 18 Apr, 2016 1 commit


Robbert Krebbers authored

 11 Apr, 2016 1 commit


Robbert Krebbers authored

 08 Apr, 2016 1 commit


Robbert Krebbers authored

 21 Mar, 2016 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
Also, slightly reorganize.

 15 Mar, 2016 1 commit


Robbert Krebbers authored

 11 Mar, 2016 1 commit


Robbert Krebbers authored

 10 Mar, 2016 2 commits


Ralf Jung authored

Robbert Krebbers authored
Thanks to Amin Timany for the suggestion.

 20 Feb, 2016 1 commit


Ralf Jung authored

 18 Feb, 2016 1 commit


Robbert Krebbers authored
This avoids ambiguity with P and Q that we were using before for both uPreds/iProps and indexed uPreds/iProps.

 17 Feb, 2016 6 commits


Robbert Krebbers authored
 The direction of big_sepS_later and big_sepM_later is now like later_sep.  Do not use generated variables in the proofs.

Ralf Jung authored

Ralf Jung authored

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

 16 Feb, 2016 2 commits


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

Robbert Krebbers authored
