 03 Mar, 2019 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
 The class `Infinite A` is now defined as having a function `fresh : list A → A`, that given a list `xs`, gives an element `x ∉ xs`.  For most types this `fresh` function has a sensible computable behavior, for example: + For numbers, it yields one added to the maximal element in `xs`. + For strings, it yields the first string representation of a number that is not in `xs`.  For any type `C` of finite sets with elements of infinite type `A`, we lift the fresh function to `C → A`. As a consequence:  It is now possible to pick fresh elements from _any_ finite set and from _any_ list with elements of an infinite type. Before it was only possible for specific finite sets, e.g. `gset`, `pset`, ...  It makes the code more uniform. There was a lot of overlap between having a `Fresh` and an `Infinite` instance. This got unified.

 01 Mar, 2019 4 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

 28 Feb, 2019 2 commits
 23 Feb, 2019 4 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Ralf Jung authored

 22 Feb, 2019 1 commit


Ralf Jung authored

 21 Feb, 2019 10 commits


Hai Dang authored

Robbert Krebbers authored

Robbert authored
Rename multiset "union" into "disjoint union" Closes #13 See merge request iris/stdpp!57

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored
Also, use the union name/class/symbol for what's usually the union, and define the intersection on multisets.

Robbert Krebbers authored

Ralf Jung authored
 20 Feb, 2019 17 commits


Ralf Jung authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert authored
New `seq` operation on maps + consistency tweaks for `seq` operation on sets See merge request iris/stdpp!44

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored
 Rename `gmap.to_gmap` into `gset_to_gmap`.  Rename `gmap.of_gset` into `gset_to_propset`.  Rename `coPset.to_Pset` into `coPset_to_Pset`.  Rename `coPset.of_Pset` into `coPset_to_gset`.  Rename `coPset.to_gset` into `coPset_to_gset`.  Rename `coPset.of_gset` into `gset_to_coPset`. The following `sed` script can be used for the first rename: ``` sed i 's/to\_gmap/gset\_to\_gmap/g' $(find ./theories name \*.v) ``` The latter is context sensitive, so was done manually.