1. 25 Apr, 2019 1 commit
2. 16 Mar, 2019 1 commit
• More efficient list encoding for Countable · 9b209c98
Jakob Botsch Nielsen authored
```This changes the encoding used for finite lists of values of countable
types to be linear instead of exponential. The encoding works by
duplicating bits of each element so that 0 -> 00 and 1 -> 11, and then
separating each element with 10. The top 1-bits are not kept since we
know a 10 is starting a new element which ends with a 1.

Fix #28```
3. 29 Jan, 2019 1 commit
4. 27 Apr, 2018 1 commit
5. 08 Mar, 2018 1 commit
6. 21 Sep, 2017 1 commit
7. 18 Sep, 2017 3 commits
8. 02 Aug, 2017 1 commit
9. 05 Jul, 2017 1 commit
10. 15 Mar, 2017 1 commit
11. 31 Jan, 2017 4 commits
12. 20 Sep, 2016 1 commit
13. 31 May, 2016 1 commit
14. 17 Feb, 2016 1 commit
• Rename simplify_equality like tactics. · 20690605
Robbert Krebbers authored
```simplify_equality        => simplify_eq
simplify_equality'       => simplify_eq/=
simplify_map_equality    => simplify_map_eq
simplify_map_equality'   => simplify_map_eq/=
simplify_option_equality => simplify_option_eq
simplify_list_equality   => simplify_list_eq
f_equal'                 => f_equal/=

The /= suffixes (meaning: do simpl) are inspired by ssreflect.```
15. 16 Feb, 2016 2 commits
16. 13 Feb, 2016 1 commit
17. 11 Feb, 2016 1 commit
18. 12 Jan, 2016 1 commit
19. 11 Dec, 2015 1 commit
20. 04 Dec, 2015 1 commit
21. 16 Nov, 2015 1 commit
22. 01 Feb, 2017 1 commit
• Port to Coq 8.5 beta 2. · 02f213ce
Robbert Krebbers authored
```The port makes the following notable changes:

* The carrier types of separation algebras and integer environments are no
longer in Set. Now they have a type at a fixed type level above Set. This
both works better in 8.5 and makes the formalization more general.
I have tried putting them at polymorphic type levels, but that increased the
compilation time by an order of magnitude.
* I am using a custom f_equal tactic written in Ltac to circumvent bug #4069.
That bug has been fixed, so this custom tactic can be removed when the next
beta of 8.5 is out.```
23. 08 Feb, 2015 1 commit
24. 07 Oct, 2014 1 commit
25. 16 Jun, 2014 1 commit
• Changes in preparation of the C type system and C front-end language · 3503a91f
Robbert Krebbers authored
```Major changes:
* Make void a base type, and include a proper void base value. This is necessary
because expressions (free, functions without return value) can yield a void.
We now also allow void casts conforming to the C standard.
* Various missing lemmas about typing, weakening, decidability, ...
* The operations "free" and "alloc" now operate on l-values instead of r-values.
This removes some duplication.
* Improve notations of expressions and statements. Change the presence of the
operators conforming to the C standard.

Small changes:
* Use the classes "Typed" and "TypeCheck" for validity of indexes in memory.
This gives more uniform notations.
* New tactic "typed_inversion" performs inversion on an inductive predicate
of type "Typed" and folds the premises.
* Remove a horrible hack in the definitions of the classes "FMap", "MBind",
"OMap", "Alter" that was used to let "simpl" behave better. Instead, we have
defined a tactic "csimpl" that folds the results after performing an
ordinary "simpl".
* Fast operation to remove duplicates from lists using hashsets.
* Make various type constructors (mainly finite map implementations) universe
polymorphic by packing them into an inductive. This way, the whole C syntax
can live in type, avoiding the need for (slow) universe checks.```
26. 02 May, 2014 1 commit
27. 17 Jun, 2013 1 commit