 29 Nov, 2017 5 commits


David Swasey authored
Avoid duplicating details like `at level 35`. This is a bit of a slippery slope. (I reserved just the notation that I overload elsewhere.)

Robbert authored
Make x.1, x.2 notation compatible with ssrfun. See merge request robbertkrebbers/coqstdpp!21

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

Ralf Jung authored
Allow compiling against "dev" version of Coq See merge request robbertkrebbers/coqstdpp!20

Ralf Jung authored
This matches e.g. Iris allowing a "dev" version of std++: You can install a "dev" version to test stuff, but then you are responsible for making sure that these versions actually work together. We rely on that when testing things against Iris master every night, for which purpose we install Iris master as "dev" version.

 28 Nov, 2017 1 commit


Ralf Jung authored

 22 Nov, 2017 2 commits
 21 Nov, 2017 1 commit


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

 20 Nov, 2017 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
This one works for setoid rewriting under binders.

 18 Nov, 2017 2 commits
 16 Nov, 2017 2 commits
 12 Nov, 2017 4 commits


Robbert Krebbers authored
 Name all variables that we refer to.  Put types in definitions.

Robbert authored
Provide an Infinite typeclass and a generic implementation of Fresh. See merge request robbertkrebbers/coqstdpp!13

Robbert authored
Make `fmap` left associative. See merge request robbertkrebbers/coqstdpp!16

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


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

Robbert authored
Use `stdpp_scope` for all notations. See merge request robbertkrebbers/coqstdpp!17

 09 Nov, 2017 6 commits


Johannes Kloos authored

Johannes Kloos authored

Johannes Kloos authored

Johannes Kloos authored

Robbert Krebbers authored

Robbert Krebbers authored

 03 Nov, 2017 1 commit


Ralf Jung authored

 01 Nov, 2017 10 commits


Johannes Kloos authored

Johannes Kloos authored

Johannes Kloos authored
Also make the instances nonglobal, to prevent multiple instance problems.

Johannes Kloos authored

Johannes Kloos authored

Johannes Kloos authored
We prove that various types are infinite, notably:  nat, N, positive and Z;  string (using prettyprinting of nat);  option, with an infinite element type;  list, with an inhabited element type. Furthermore, we instantiate Fresh for strings.

Johannes Kloos authored
This implements a simple linear search for fresh elements.

Johannes Kloos authored
This generalizes Fix_unfold to a setoid setting. In particular, we can use this to unfold multiargument fixpoints without requiring functional extensionality.

Johannes Kloos authored
Infinity is described by having an injection from nat.

Robbert authored
Provide a prettyprinter for [nat]. See merge request robbertkrebbers/coqstdpp!15

 31 Oct, 2017 2 commits


Johannes Kloos authored

Johannes Kloos authored
