1. 24 Feb, 2014 1 commit
• library: map.MapPermut now defined using map.Occ · ca0ec4aa
Jean-Christophe Filliâtre authored
```(that is, using number of occurrences)
No more definition of permutation using inductive predicates.
Impacts array.ArrayPermut; proof sessions updated.
Coq realizations for map.Occ and map.MapPermut;
proof session for array.ArrayPermut in progress```
2. 21 Feb, 2014 1 commit
3. 17 Feb, 2014 1 commit
4. 16 Feb, 2014 3 commits
5. 15 Feb, 2014 4 commits
6. 14 Feb, 2014 1 commit
7. 07 Feb, 2014 1 commit
8. 01 Feb, 2014 1 commit
9. 28 Jan, 2014 1 commit
10. 27 Jan, 2014 1 commit
11. 21 Jan, 2014 1 commit
12. 20 Jan, 2014 1 commit
• "eliminate_epsilon" added in drivers · 9c20cd7c
```Currently, the builtin theory why3.HighOrd (or just HighOrd) must
be explicitly "use"-d. However, the type (HighOrd.func 'a 'b) can
be written ('a -> 'b), and the type (HighOrd.pred 'a) can be written
('a -> bool), and the application operation (HighOrd.(@)) can be
written as the usual juxtaposition. Thus, normally, you do not have
to write the qualifiers. The builtin theory why3.Bool (or just Bool)
is needed for "bool". The names "HighOrd", "func", "pred", and "(@)"
are not yet fixed and may change.

"eliminate_epsilon" tries to be smart when a lambda (or some other
comprehension form) occurs under equality or at the top of a definition.
We could go even further and replace (\ x . t) s with t[x <- s], without
lifting the lambda. I'm not sure it's worth it: we rarely write redexes
manually. They can and will appear through inlining, though.

Anyone who wants to construct epsilon-terms directly using the API
should remember that these are not Hilbert's epsilons: by writing
an epsilon term, you postulate the existence (though not necessarily
uniqueness) of the described object, and "eliminate_epsilon" will
happily convert it to an axiom expressing this existence. We only
use epsilons to write comprehensions whose soundness is guaranteed
by a background theory, e.g. lambda-calculus.```
13. 18 Jan, 2014 1 commit
14. 14 Jan, 2014 1 commit
15. 13 Jan, 2014 1 commit
16. 18 Dec, 2013 1 commit
17. 14 Dec, 2013 1 commit
18. 12 Dec, 2013 3 commits
19. 11 Dec, 2013 1 commit
20. 10 Dec, 2013 1 commit
21. 09 Dec, 2013 1 commit
22. 03 Dec, 2013 1 commit
23. 02 Dec, 2013 1 commit
24. 22 Nov, 2013 1 commit
25. 15 Nov, 2013 1 commit
26. 22 Oct, 2013 1 commit
27. 19 Oct, 2013 1 commit
• switch Typing to the new Dterm-based API · 460e93f8
```Also:

- Make [Highord.pred 'a] an alias for [Highord.func 'a bool],
rename [Highorg.(@!)] to [(@)], remove [Highorg.(@?)], remove
the quantifiers [\!] and [\?] and only leave [\] which is the
only true lambda now;

- Allow mixing bool and Prop in logic, Dterm will introduce
coercions where necessary (trying to minimize the number of
if-then-else in the term context).```
28. 11 Oct, 2013 1 commit
29. 10 Oct, 2013 1 commit
30. 29 Sep, 2013 1 commit
31. 23 Sep, 2013 1 commit
32. 21 Sep, 2013 1 commit
33. 25 Aug, 2013 1 commit