 12 Nov, 2017 1 commit


Robbert Krebbers authored
This follows the associativity in Haskell. So, something like f <$> g <$> h Is now parsed as: (f <$> g) <$> h Since the functor is a generalized form of function application, this also now also corresponds with the associativity of function application, which is also left associative.

 11 Nov, 2017 1 commit


Robbert Krebbers authored
This is similar to `f_equal/=`.

 09 Nov, 2017 2 commits


Robbert Krebbers authored

Robbert Krebbers authored

 31 Oct, 2017 3 commits


Johannes Kloos authored

Johannes Kloos authored

Johannes Kloos authored
The documentation for some typeclasses used the wrong names for these typeclasses.

 28 Oct, 2017 5 commits


Ralf Jung authored

Robbert Krebbers authored
This addresses some concerns in !5.

Robbert Krebbers authored
This way, we will be compabile with Iris's heap_lang, which puts ;; at level 100.

Robbert Krebbers authored

Ralf Jung authored

 27 Oct, 2017 3 commits


Robbert Krebbers authored

Robbert Krebbers authored

JacquesHenri Jourdan authored

 20 Oct, 2017 1 commit


Hai Dang authored

 16 Oct, 2017 1 commit


JacquesHenri Jourdan authored

 13 Oct, 2017 1 commit


Ralf Jung authored

 10 Oct, 2017 1 commit


Ralf Jung authored

 09 Oct, 2017 1 commit


Ralf Jung authored

 06 Oct, 2017 2 commits


Hai Dang authored

Robbert Krebbers authored

 29 Sep, 2017 5 commits


Robbert Krebbers authored

Robbert Krebbers authored
This fixes the issue of Hai in !6.

Hai Dang authored

Hai Dang authored

Hai Dang authored

 24 Sep, 2017 2 commits


Robbert Krebbers authored

Robbert Krebbers authored

 21 Sep, 2017 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
This allows for more control over `Hint Mode`.

 20 Sep, 2017 1 commit


Robbert Krebbers authored
This way, type class search will fail immediately on first type class constraint of any of the `fin_map_dom` lemmas if no `Dom` can be found.

 18 Sep, 2017 4 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored
This instance leads to exponential failing searches.

Robbert Krebbers authored
These trees are useful to show that other types are countable.

 17 Sep, 2017 1 commit


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


Robbert Krebbers authored

Robbert Krebbers authored
