 17 Sep, 2017 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
This provides significant robustness against looping type class search. As a consequence, at many places throughout the library we had to add additional typing information to lemmas. This was to be expected, since most of the old lemmas were ambiguous. For example: Section fin_collection. Context `{FinCollection A C}. size_singleton (x : A) : size {[ x ]} = 1. In this case, the lemma does not tell us which `FinCollection` with elements `A` we are talking about. So, `{[ x ]}` could not only refer to the singleton operation of the `FinCollection A C` in the section, but also to any other `FinCollection` in the development. To make this lemma unambigious, it should be written as: Lemma size_singleton (x : A) : size ({[ x ]} : C) = 1. In similar spirit, lemmas like the one below were also ambiguous: Lemma lookup_alter_None {A} (f : A → A) m i j : alter f i m !! j = None
↔ m !! j = None. It is not clear which finite map implementation we are talking about. To make this lemma unambigious, it should be written as: Lemma lookup_alter_None {A} (f : A → A) (m : M A) i j : alter f i m !! j = None↔ m !! j = None. That is, we have to specify the type of `m`.

 08 Sep, 2017 1 commit


Robbert Krebbers authored
See also Coq bug #5712.

 06 Sep, 2017 4 commits


Robbert Krebbers authored

Robbert Krebbers authored

Dan Frumin authored

 02 Sep, 2017 5 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored
Before, we often had to insert awkward casts when using them. Also, the generality of also having them on Type, is probably not useful.

Robbert Krebbers authored

 22 Aug, 2017 4 commits
 17 Aug, 2017 2 commits


Robbert Krebbers authored
As suggested by PierreMarie Pédrot in the Coqclub thread: [CoqClub] Very slow failing apply To work arround some performance issues in Iris.

Robbert Krebbers authored

 08 Aug, 2017 1 commit


Robbert Krebbers authored

 02 Aug, 2017 2 commits


Robbert Krebbers authored

Robbert Krebbers authored

 05 Jul, 2017 1 commit


Hai Dang authored

 26 Jun, 2017 2 commits


Robbert Krebbers authored

Robbert Krebbers authored

 30 May, 2017 2 commits


Robbert Krebbers authored

Dan Frumin authored

 25 May, 2017 6 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

 01 Apr, 2017 1 commit


Robbert Krebbers authored
This is needed to use coqstdpp in developments with typeintype as set_unfold will otherwise unify with any hyp, causing the set_solver tactic to break.

 20 Mar, 2017 1 commit


Robbert Krebbers authored
This way, we get more definitional equalities.

 17 Mar, 2017 4 commits


Ralf Jung authored

Robbert Krebbers authored

Robbert Krebbers authored

Ralf Jung authored

 15 Mar, 2017 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
