Commit graph

353 commits

Author SHA1 Message Date
Leonardo de Moura
2f8d2e8a12 feat: add procedure for solving subgoals generated by mkSplitterProof 2021-08-24 20:23:13 -07:00
Leonardo de Moura
49520aa2ee feat: generate conditional equation theorems for match expressions 2021-08-19 19:33:31 -07:00
Leonardo de Moura
3c519887d1 chore: generate error message when MatchEqs fail
TODO: we currently do not generate equation theorems
for `match` expressions using array literals.
2021-08-19 17:04:52 -07:00
Leonardo de Moura
a6529a795b feat: add casesOnStuckLHS 2021-08-19 11:22:13 -07:00
Leonardo de Moura
45d3b85d5a refactor: cleanup MatchEqs and simplify SplitIf 2021-08-18 18:34:34 -07:00
Leonardo de Moura
83eaa47e0a chore: move MatchEqs 2021-08-17 21:32:32 -07:00
Daniel Selsam
89364b802b feat: top-down heuristic delaboration 2021-08-03 09:13:18 +02:00
Wojciech Nawrocki
7374b9ba45 chore: update webserver demo 2021-07-15 21:57:55 +02:00
Leonardo de Moura
fb9c1913d7 feat: prototype for equality theorem generator for auxiliary match functions 2021-05-31 18:52:22 -07:00
Daniel Fabian
93bb94bfea test: update playground for Hashable
due to new code generation, adjust the playground code
2021-03-30 13:36:52 -07:00
Daniel Fabian
fee3390dd1 feat: add Hashable deriving
add support for the `Hashable` deriving by combining structural
hashes over fields
2021-03-30 13:36:52 -07:00
Leonardo de Moura
48b855bfe5 chore: fix tests 2021-03-10 18:45:22 -08:00
Leonardo de Moura
0068732751 test: benchmarks for simp 2021-03-09 15:09:51 -08:00
Leonardo de Moura
4c82f5c688 test: perf experiments 2021-03-09 13:42:47 -08:00
Leonardo de Moura
b26c7087fe chore: increase test size 2021-03-04 17:27:24 -08:00
Leonardo de Moura
2b78de650a test: experiment 2021-03-04 14:48:49 -08:00
Leonardo de Moura
5626b537c7 chore: move nondet to Std/Control/Nondet.lean 2021-03-02 07:57:25 -08:00
Leonardo de Moura
533731d61e chore: fix nondet 2021-03-02 07:38:44 -08:00
Leonardo de Moura
d71aab5dc4 fix: allow bigger ctor objects
`IR/Checker.lean` is now also checking the maximum number of fields
and scalar size
2021-01-29 18:23:38 -08:00
Leonardo de Moura
a0ed2d1738 chore: update tests 2021-01-27 15:17:51 -08:00
Sebastian Ullrich
8a02dfec4f feat: subsume variables under variable
/cc @leodemoura
2021-01-22 14:36:05 +01:00
Leonardo de Moura
7ae861f6bd test: simplify 2021-01-21 18:32:23 -08:00
Leonardo de Moura
d6eb5a9ff2 feat: generate sizeOf equality lemmas for constructors
TODO: support for nested inductive types.
2021-01-21 17:44:15 -08:00
Leonardo de Moura
0bce549d92 test: remove code that is being generated automatically 2021-01-21 10:35:22 -08:00
Leonardo de Moura
dc142cff13 test: sizeOf experiments 2021-01-18 17:21:03 -08:00
Leonardo de Moura
731ca49088 chore: cleanup 2020-12-13 15:51:34 -08:00
Leonardo de Moura
d6ba0592d1 chore: remove dead code 2020-12-13 15:50:08 -08:00
Leonardo de Moura
e9a1c3ac44 test: deriving experiment 2020-12-12 15:26:55 -08:00
Leonardo de Moura
ce1baa5f39 test: deriving command experiments 2020-12-11 18:34:17 -08:00
Leonardo de Moura
2a5b18fde4 test: add nondet example 2020-10-29 16:33:40 -07:00
Leonardo de Moura
898a08a0c1 chore: avoid Has prefix in type classes
closes #203
2020-10-27 18:29:19 -07:00
Leonardo de Moura
10c32fcf94 chore: HasToString => ToString 2020-10-27 16:11:48 -07:00
Leonardo de Moura
db9e390b4d chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
Leonardo de Moura
21d90afa43 feat: add ForInStep type 2020-10-03 15:16:45 -07:00
Leonardo de Moura
4fae8588fd test: optional ';' 2020-09-28 17:11:00 -07:00
Leonardo de Moura
db7633e156 test: forIn using . notation instead of type classes 2020-09-27 08:27:05 -07:00
Leonardo de Moura
e30249c2d2 chore: add workarounds to forIn experiment 2020-09-27 08:20:58 -07:00
Leonardo de Moura
2754d78749 proto: type classes for the for in notation 2020-09-25 18:48:23 -07:00
Sebastian Ullrich
95e24371f5 test: final webserver demo 2020-06-25 10:48:38 +02:00
Leonardo de Moura
43df7b75cb chore: PLDI examples 2020-06-17 21:28:37 -07:00
Leonardo de Moura
0c6d6f1ff1 chore: fix test 2020-06-17 21:28:37 -07:00
Sebastian Ullrich
fff0cdc0ec test: Webserver: maybe-final version 2020-06-17 17:37:08 +02:00
Sebastian Ullrich
3c547db67c test: Webserver: introduce antiquotations for custom parsers, remove Prelim namespace
/cc @leodemoura
2020-06-17 11:54:41 +02:00
Leonardo de Moura
0c089b8cbd feat: elaborate syntaxAbbrev as a definition
@Kha I elaborated it as a definition. It works because we can now
reference Parser declarations in `syntax` command.
This change allowed us to replace `p.getArg 0` with `p` in the
`Websever` demo.
2020-06-16 15:43:17 -07:00
Leonardo de Moura
3e028e3812 feat: allow syntax command to use existing parser declarations
@Kha Note that I had to change the pattern. After I replaced,
```
syntax text : child
```
with
```
syntax Prelim.text  : child
```
Thus, I wrote
```
`(child|$t:text)
```
as
```
`(child|$t)
```
It works for this example, but it may be a problem in general.
2020-06-16 15:08:23 -07:00
Sebastian Ullrich
ade961bcf3 test: webserver demo 2020-06-16 22:10:43 +02:00
Sebastian Ullrich
e6b988a10a feat: add natural language demo 2020-06-13 16:20:23 +02:00
Leonardo de Moura
17b6957f6c chore: fix tests 2020-05-26 15:05:01 -07:00
Leonardo de Moura
9c0bd9dd41 chore: fix tests 2020-05-26 15:05:00 -07:00
Sebastian Ullrich
b1d9e37d66 test: add re-elaborating delaborator PoC to playground 2020-03-19 17:18:46 -07:00