 03 Nov, 2016 1 commit


Robbert Krebbers authored
The old choice for ★ was a arbitrary: the precedence of the ASCII asterisk * was fixed at a wrong level in Coq, so we had to pick another symbol. The ★ was a random choice from a unicode chart. The new symbol ∗ (as proposed by David Swasey) corresponds better to conventional practise and matches the symbol we use on paper.

 25 Oct, 2016 1 commit


Robbert Krebbers authored

 03 Oct, 2016 1 commit


Robbert Krebbers authored

 28 Sep, 2016 5 commits


Robbert Krebbers authored
This allows us to factor out properties about connectives that commute with the big operators.

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

 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.
