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
Leonardo de Moura
8e4f3beff3
chore: fix test
2020-02-15 16:15:37 -08:00
Leonardo de Moura
1c8baa0198
feat: add withPtrEqDecEq (version of withPtrEq for implementing decidable equality)
...
cc @dselsam
2020-02-15 16:12:09 -08:00
Leonardo de Moura
db3d9c9284
feat: helper theorems
2020-02-15 16:08:43 -08:00
Leonardo de Moura
3ebb4e76ee
feat: more general withPtrEq
2020-02-15 15:53:30 -08:00
Leonardo de Moura
d0c866e0d5
chore: update stage0
2020-02-15 15:48:05 -08:00
Leonardo de Moura
932f4a7646
chore: update stage0
2020-02-15 15:44:21 -08:00
Leonardo de Moura
148c0324c4
fix: do not extract closed terms from join point applications
2020-02-15 15:43:24 -08:00
Leonardo de Moura
dd4fac2a7b
chore: helper functions
2020-02-14 21:02:59 -08:00
Leonardo de Moura
9e68c1e1c6
feat: add generalize and replaceLocalDecl
2020-02-14 20:06:56 -08:00
Leonardo de Moura
203bf08339
refactor: try ==> commitWhen
2020-02-14 19:17:11 -08:00
Leonardo de Moura
ddf6ecaea3
chore: remove dead code
2020-02-14 19:11:15 -08:00
Leonardo de Moura
551f6ebcd0
feat: rewriteCore tactic
2020-02-14 09:40:29 -08:00
Leonardo de Moura
c30c14ec84
chore: update stage0
2020-02-13 18:27:58 -08:00
Leonardo de Moura
0cf226220c
fix: remove incorrect assertion
...
Note that `get_cases_on_minors_range` is now parametric on `m_before_erasure`:
`get_cases_on_minors_range(env(), const_name(fn), m_before_erasure)`
2020-02-13 18:26:12 -08:00
Leonardo de Moura
47aba91c43
feat: error message when optParam and autoParam are used at fun
2020-02-13 17:57:12 -08:00
Leonardo de Moura
2fa19b5881
chore: cleanup
2020-02-13 16:39:36 -08:00
Leonardo de Moura
da3bf54ec7
feat: elaborate autoParams
...
cc @Kha
2020-02-13 16:24:50 -08:00
Leonardo de Moura
fd7727cf81
feat: helper functions for updating SourceInfo
2020-02-13 16:22:28 -08:00
Leonardo de Moura
44817b8488
feat: autoParam takes the Name of an auxiliary declaration of type Syntax
...
@Kha The `Name` (tactic name) approach used in Lean3 is not suitable
for Lean4. The issue is that we define tactics using macros, and in
most cases, the user doesn't even know the node id.
2020-02-13 15:09:42 -08:00
Leonardo de Moura
2507ce206e
feat: change auto param syntax
2020-02-13 11:56:24 -08:00
Leonardo de Moura
93de4ce7b3
feat: elaborate by
2020-02-13 11:45:51 -08:00
Leonardo de Moura
8778b68a5a
chore: update stage0
2020-02-13 11:38:58 -08:00
Leonardo de Moura
f041dd1aa1
feat: add by notation
2020-02-13 11:34:24 -08:00
Leonardo de Moura
cc2f84aa5d
fix: allow empty sequence at seq
2020-02-13 11:34:09 -08:00
Leonardo de Moura
4fe0104b52
feat: add autoParam
2020-02-13 10:53:01 -08:00
Leonardo de Moura
d62aafdb94
doc: @ cases that are supported
2020-02-13 10:29:29 -08:00
Leonardo de Moura
03a87df618
doc: elabFunBinders support for implicit lambdas
...
cc @Kha
2020-02-13 10:16:48 -08:00
Leonardo de Moura
4227d3bce4
chore: reduce problem size
...
Motivation: avoid stack overflow in debug mode
2020-02-12 21:27:34 -08:00
Leonardo de Moura
8094d35366
chore: update stage0
2020-02-12 17:20:46 -08:00
Leonardo de Moura
263d22576b
test: add new implicit lambda test
2020-02-12 13:47:54 -08:00
Leonardo de Moura
1fe92ade36
doc: document why example fails
2020-02-12 13:46:55 -08:00
Leonardo de Moura
6c16deded4
feat: improve implicit lambdas
2020-02-12 13:38:01 -08:00
Leonardo de Moura
f85678cc25
feat: improve failIfSucceeds
2020-02-12 13:33:40 -08:00
Leonardo de Moura
fc404af645
feat: solve ?m t =?= c even when constApprox is disabled
2020-02-12 13:21:56 -08:00
Leonardo de Moura
be730fa27f
feat: add #check_failure as keyword
2020-02-12 12:52:51 -08:00
Leonardo de Moura
e35f79feb5
feat: postpone only if inferred type is unknown and there are arguments
2020-02-12 12:26:24 -08:00