Commit Graph

18 Commits

Author SHA1 Message Date
Benedikt Becker
1bb0c818f5 Separate logical and program function Array.make
When defined as a `val function` the postcondition of the program function
`make` is just `result = make n v`, referring to the logical function `make`.
But the equality cannot be proven because array equality is not defined.

To facilitate proofs about results of the program functions `make`, this
commit separates the definitions of the logical function from the program
function `make`, so that the postconditions of the program function `make`
refer to the properties of the resulting arrey.
2021-01-15 12:39:37 +01:00
Jean-Christophe Filliatre
ad285d8585 stdlib: new lemma permut_sub_trans for arrays 2021-01-13 11:10:12 +01:00
Jean-Christophe Filliatre
21a4cfe144 no more theory sum.Sum
it is subsumed by theory int.Sum
theories map.MapSum and array.ArraySum now use int.Sum
2020-02-12 10:30:25 +01:00
Gabriel Scherer
6184ad982b stdlib/array.mlw: use the new 'empty' primitive to define 'copy' and 'init' 2019-06-24 18:12:57 +02:00
Gabriel Scherer
913d88ac5a introduce a new builtin Array.empty () : array 'a 2019-06-24 18:12:57 +02:00
Claude Marche
154dbef836 interpreter: support for Array.{blit,sub,append}
Contributed by Gabriel Scherer <gabriel.scherer@inria.fr>
2019-06-05 15:56:22 +02:00
Raphael Rieu-Helft
638fbc83a4 Use long names for extraction-related labels 2019-05-14 15:00:35 +02:00
Andrei Paskevich
44ccf07117 stdlib/array: make array.Sorted compatible with strict orders 2019-04-24 15:23:50 +02:00
Raphael Rieu-Helft
558f096222 Add support for C extraction of arrays 2019-02-08 10:27:38 +01:00
Andrei Paskevich
3a9ea01ed9 Matrix: add the pure "update" function for applicative updates 2018-07-02 17:15:42 +02:00
Andrei Paskevich
eae547d95f stdlib, examples: remove redundant "import" 2018-06-15 16:45:58 +02:00
Andrei Paskevich
7b0929a761 WhyML: "use/clone T" imports by default (in absence of "as")
For the previous behaviour (no import), write "use/clone T as T".

This shortens the most used "use/clone import" to simply "use/clone".
2018-06-15 16:45:58 +02:00
Guillaume Melquiond
1972035962 Convert the standard library. 2018-06-14 08:10:07 +02:00
Guillaume Melquiond
fc1b4fe530 Merge branch 'new_ide'
# Conflicts:
#	bench/ce/
2018-02-17 10:46:39 +01:00
Claude Marche
f9cadba3c3 turned array.Array.make into a val function, ported linear_probing 2018-02-07 14:13:03 +01:00
Guillaume Melquiond
9e92f8203f Change label syntax from "foo" to [@foo].
The feature is not yet fully implemented (e.g. escape characters).
2018-01-12 18:05:43 +01:00
Guillaume Melquiond
fb032dd10a Clean documentation of standard library. 2017-12-15 18:10:56 +01:00
Guillaume Melquiond
efb51e7d43 Merge theories and modules into stdlib (fix issue #62). 2017-12-15 15:34:35 +01:00