- 17 Feb, 2014 3 commits
-
-
Guillaume Melquiond authored
-
Andrei Paskevich authored
Will be supported in programs as soon, as we enable lambdas.
-
Andrei Paskevich authored
-
- 16 Feb, 2014 9 commits
-
-
Andrei Paskevich authored
Since we are going to handle partial application of logical symbols, there is no need to be rigid about currying: (((=) 0) 1) should be (0 = 1) and not (((\ x y. x = y) @ 0) @ 1).
-
Andrei Paskevich authored
We do not want to generate distinct liftings for every single partial application of a function or predicate symbol. Canonical closures have an easily recognizable shape, thus we can detect them and replace them with a unique constant "f_closure".
-
MARCHE Claude authored
-
Jean-Christophe Filliâtre authored
-
Jean-Christophe Filliâtre authored
-
Jean-Christophe Filliâtre authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
- 15 Feb, 2014 8 commits
-
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
- 14 Feb, 2014 10 commits
-
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
MARCHE Claude authored
-
Andrei Paskevich authored
The old syntax: abstract expr [spec]... The semicolon binds more loosely than "abstract" and the specification clauses are optional, so that "abstract e1; e2" is the same as "(abstract e1); e2" and "abstract e1; e2; ensures {...}" is a syntax error. The new syntax: abstract [spec]... expr end This allows to put sequences of expressions under "abstract" without ambiguity and moves the specification clauses to the beginning. In other words, "abstract" becomes a "begin" with a specification attached. The spec-at-the-top is consistent with the syntax of functions and the whole seems to be more natural for the intented use of "abstract" (a logical cut).
-
Andrei Paskevich authored
Examples: begin ... expr; end let fn x y = ... expr ; in ... match ... with pat -> ... expr ; | pat -> ... expr ; end In this way, it's much easier to add and remove additional assertions at the end of ()-typed blocks.
-
Andrei Paskevich authored
-
Andrei Paskevich authored
-
Jean-Christophe Filliâtre authored
-
Jean-Christophe Filliâtre authored
(used to be in Permut libraries) new library array.ArrayPermut2, similar to ArrayPermut, but using number of occurrences
-
- 13 Feb, 2014 5 commits
-
-
Jean-Christophe Filliâtre authored
-
Jean-Christophe Filliâtre authored
-
Jean-Christophe Filliâtre authored
-
Jean-Christophe Filliâtre authored
-
MARCHE Claude authored
-
- 12 Feb, 2014 5 commits
-
-
Andrei Paskevich authored
-
Andrei Paskevich authored
-
Andrei Paskevich authored
-
Andrei Paskevich authored
-
Andrei Paskevich authored
Comment out the lemmas about symmetry of permutation: they perturb our provers and are of little interest in the case of successive array permutations.
-