- Nov 30, 2018
-
-
Robbert Krebbers authored
-
- Nov 28, 2018
-
-
Tej Chajed authored
Adding a hint without a database now triggers a deprecation warning in Coq master (https://github.com/coq/coq/pull/8987).
-
- Jun 10, 2018
-
-
Ralf Jung authored
Works around Coq bug #7731
-
- Apr 27, 2018
-
-
Robbert Krebbers authored
-
- Apr 05, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This followed from discussions in https://gitlab.mpi-sws.org/FP/iris-coq/merge_requests/134
-
- Feb 23, 2018
-
-
Robbert Krebbers authored
-
- Feb 22, 2018
-
-
Robbert Krebbers authored
-
- Feb 19, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Feb 12, 2018
-
-
Ralf Jung authored
-
- Feb 08, 2018
-
-
Robbert Krebbers authored
`NoBackTrack P` requires `P` but will never backtrack on it once a result for `P` has been found.
-
- Feb 02, 2018
-
-
Robbert Krebbers authored
-
- Jan 10, 2018
-
-
Robbert Krebbers authored
As we have for all classes for binary relations.
-
- Dec 08, 2017
-
-
Robbert Krebbers authored
-
- Dec 05, 2017
-
-
Ralf Jung authored
-
- Dec 04, 2017
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
- Nov 29, 2017
-
-
David Swasey authored
Enable one to import both stdpp's base and ssrfun. Note that (f x.1) now parses as (f (fst x)) rather than (fst (f x)). (This change affects one proof in Iris.)
-
- Nov 21, 2017
-
-
Robbert Krebbers authored
This gets rid of the old hack to have specific notations for pairs up to a fixed arity, and moreover allows to do fancy things like: ``` Record test := Test { t1 : nat; t2 : nat }. Definition foo (x : option test) : option nat := ''(Test a1 a2) ← x; Some a1. ```
-
- Nov 12, 2017
-
-
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.
-
- Nov 09, 2017
-
-
Robbert Krebbers authored
-
- Nov 01, 2017
-
-
Johannes Kloos authored
-
Johannes Kloos authored
Infinity is described by having an injection from nat.
-
- Oct 31, 2017
-
-
Johannes Kloos authored
The documentation for some typeclasses used the wrong names for these typeclasses.
-
- Oct 28, 2017
-
-
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.
-
Ralf Jung authored
-
- Oct 27, 2017
-
-
Jacques-Henri Jourdan authored
-
- Oct 13, 2017
-
-
Ralf Jung authored
-
- Oct 10, 2017
-
-
Ralf Jung authored
-
- Oct 06, 2017
-
-
Robbert Krebbers authored
-
- Sep 21, 2017
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This allows for more control over `Hint Mode`.
-
- Sep 18, 2017
-
-
Robbert Krebbers authored
-
- Sep 17, 2017
-
-
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`.
-