Commit graph

12972 commits

Author SHA1 Message Date
Leonardo de Moura
c4dac739be feat: add support for user-defined recursors at getRecInfo 2020-02-23 12:42:08 -08:00
Leonardo de Moura
a5ad840ebe feat: add getParamNames 2020-02-23 12:01:06 -08:00
Leonardo de Moura
346378b3a3 feat: add [recursor <major-pos>] attribute 2020-02-23 10:35:14 -08:00
Leonardo de Moura
325bb6b5b5 feat: helper function for user-defined recursors 2020-02-23 10:34:49 -08:00
Leonardo de Moura
72f57c923d feat: helper functions for evalInduction 2020-02-22 19:57:44 -08:00
Leonardo de Moura
8baa376135 feat: allow _ at inductionAlt var names 2020-02-22 12:05:11 -08:00
Leonardo de Moura
472276f63f feat: add mkRecFor 2020-02-22 11:24:46 -08:00
Leonardo de Moura
38cb8907a0 feat: add helper functions 2020-02-22 11:16:55 -08:00
Leonardo de Moura
4a8c192a00 feat: allow _ "else case" at inductionAlt 2020-02-22 11:16:20 -08:00
Leonardo de Moura
14b9e13dc1 fix: incorrect eraseMacroScopes 2020-02-22 11:16:05 -08:00
Leonardo de Moura
9abb749663 fix: preserve tag 2020-02-21 19:06:54 -08:00
Leonardo de Moura
09f504f376 feat: finish evalGeneralize 2020-02-21 18:32:00 -08:00
Leonardo de Moura
9e2d833be1 feat: add evalGeneralize 2020-02-21 13:42:51 -08:00
Leonardo de Moura
96c7f794cc feat: add generalize parser syntax 2020-02-21 12:12:41 -08:00
Leonardo de Moura
15e60e0e05 feat: add induction tactic entry point 2020-02-21 12:07:10 -08:00
Leonardo de Moura
bb0bfb5742 fix: sepBy
If parser consumed something, keep error.
2020-02-21 11:43:45 -08:00
Leonardo de Moura
2fee8059b6 feat: add induction tactic parser 2020-02-21 11:30:36 -08:00
Leonardo de Moura
bc4b3047a9 feat: add whnfHeadPred and whnfUntil 2020-02-20 13:09:22 -08:00
Leonardo de Moura
583984d044 feat: add getProduceMotiveAndRecursive and cleanup 2020-02-19 19:07:42 -08:00
Leonardo de Moura
3633ac117b feat: add mkRecursorInfo
TODO: `getProduceMotiveAndRecursive`
2020-02-19 18:07:38 -08:00
Leonardo de Moura
d99e41b848 feat: add helper functions 2020-02-19 14:55:16 -08:00
Leonardo de Moura
36096abec0 feat: add Array.findIdxM? and Array.getIdx? 2020-02-19 14:54:55 -08:00
Leonardo de Moura
4e941b15ba feat: add mkRecursorInfo skeleton 2020-02-19 10:56:08 -08:00
Leonardo de Moura
ef747196d7 fix: structure instance parser
Use `fieldIndex` instead of `numLit`
2020-02-18 20:27:04 -08:00
Leonardo de Moura
0c13445da6 fix: mkStructView
Reamrk: `1.2` is a numLit
2020-02-18 20:22:04 -08:00
Leonardo de Moura
c434066f45 feat: elabModifyOp 2020-02-18 19:57:55 -08:00
Leonardo de Moura
be8037973c fix: missing eraseMacroScopes 2020-02-18 18:40:57 -08:00
Leonardo de Moura
ae19d59d28 feat: add elabChoice for CommandElab 2020-02-18 17:18:28 -08:00
Leonardo de Moura
412c3f5978 feat: add evalChoice
cc @Kha
2020-02-18 16:31:36 -08:00
Leonardo de Moura
5a44227f73 fix: isModifyOp? 2020-02-18 11:35:13 -08:00
Sebastian Ullrich
86d2b82c29 refactor: get rid of antiquotExpr hack 2020-02-18 10:57:27 -08:00
Sebastian Ullrich
25f764daad feat: antiquotation escapes 2020-02-18 10:57:12 -08:00
Leonardo de Moura
86faccca72 fix: structure instance parser 2020-02-18 10:28:43 -08:00
Leonardo de Moura
f8c73ba95d fix: missing ensureHasType 2020-02-18 10:09:22 -08:00
Leonardo de Moura
c7fcb2c5a7 fix: missing ensureHasType 2020-02-18 09:12:31 -08:00
Leonardo de Moura
918bf029d4 feat: elaborate structure instance default values 2020-02-17 20:16:44 -08:00
Leonardo de Moura
378dca293e test: add Expr.find? test 2020-02-17 19:49:13 -08:00
Leonardo de Moura
09f613111b perf: remove used field
The trick is to use `()` to initialize `keys`.
`()` is not a valid `Expr` in our runtime.
2020-02-17 19:18:59 -08:00
Leonardo de Moura
ba61c9866c feat: add FindExpr 2020-02-17 19:13:40 -08:00
Leonardo de Moura
386e6179ff fix: missing [inline] and code idioms that produce low performance code 2020-02-17 19:06:42 -08:00
Leonardo de Moura
36b723193c refactor: move ReplaceExpr to Init/Lean/Util 2020-02-17 18:41:13 -08:00
Leonardo de Moura
802f4d4d27 feat: add reduceProj? 2020-02-17 18:33:59 -08:00
Leonardo de Moura
00043a4903 feat: default field synthesis skeleton 2020-02-17 16:33:30 -08:00
Leonardo de Moura
ca20bb112f feat: add helper 2020-02-17 12:10:52 -08:00
Leonardo de Moura
bd951b40ce refactor: remove unnecessary complexity 2020-02-17 11:43:55 -08:00
Leonardo de Moura
9b23c6cd10 feat: elaborate fields
TODO: `default values`
2020-02-17 11:34:50 -08:00
Leonardo de Moura
57ee977291 feat: add helper functions 2020-02-17 11:28:50 -08:00
Leonardo de Moura
b497c7e6a7 feat: add missing fields 2020-02-16 12:45:11 -08:00
Leonardo de Moura
6a80410917 fix: getStructName 2020-02-16 11:24:55 -08:00
Leonardo de Moura
4101ba640c chore: add resolveGlobalName method 2020-02-16 11:17:53 -08:00