Commit graph

124 commits

Author SHA1 Message Date
Leonardo de Moura
3c6fd1e03f feat: add runTermElabM 2019-12-08 07:48:40 -08:00
Leonardo de Moura
85a866f5ff feat: elaborate open command 2019-12-08 07:36:16 -08:00
Leonardo de Moura
4aabd0aa94 feat: add namespace resolution 2019-12-07 17:55:31 -08:00
Leonardo de Moura
efaec02b23 feat: add basic commands 2019-12-07 17:55:31 -08:00
Leonardo de Moura
0031769c8b chore: fix names 2019-12-07 17:55:31 -08:00
Leonardo de Moura
145639c45b feat: add testFrontend and infrastructure 2019-12-07 06:24:22 -08:00
Leonardo de Moura
2dcf6dd141 feat: add new CommandElabM and TermElabM 2019-12-06 15:42:37 -08:00
Leonardo de Moura
c05559a99d refactor: cleanup 2019-12-06 14:41:39 -08:00
Leonardo de Moura
b10d751a2f chore: Elaborator ==> Elab 2019-12-06 13:40:20 -08:00
Leonardo de Moura
92958e8d66 refactor: remove Syntax.other
We are going to use synthetic metavariables for postponing elaboration.
2019-12-06 09:23:44 -08:00
Leonardo de Moura
fd20bae8be chore: disable new elaborator before major refactoring 2019-12-06 09:13:32 -08:00
Leonardo de Moura
68e18937b2 chore: remove #preterm 2019-12-05 11:38:53 -08:00
Leonardo de Moura
59eb963153 chore: missing , 2019-12-05 11:26:15 -08:00
Leonardo de Moura
2ae92340ef feat: add intro and assumption 2019-12-05 10:57:48 -08:00
Leonardo de Moura
5b9402f0e3 feat: add Expr.headBeta 2019-12-05 09:01:50 -08:00
Leonardo de Moura
f80ec55149 feat: improve tracing messages 2019-12-05 07:29:01 -08:00
Leonardo de Moura
0f1184e1d6 feat: instantiateMVars when formatting messages 2019-12-05 07:02:28 -08:00
Leonardo de Moura
9715bc7738 fix: missing instantiateMVars 2019-12-05 06:57:50 -08:00
Leonardo de Moura
dd0b71938d feat: register Meta tracing options 2019-12-05 06:38:28 -08:00
Leonardo de Moura
4fe9179f19 feat: option declarations in Lean 2019-12-05 06:18:35 -08:00
Sebastian Ullrich
92380ec5bd feat: implement MetaHasEval for MetaM 2019-12-05 13:20:24 +01:00
Sebastian Ullrich
fde58d8fe4 feat: add Lean.MetaHasEval, rename HasEval to Lean.HasEval 2019-12-05 13:20:24 +01:00
Leonardo de Moura
cc5a3cca29 chore: move helper modules to src/Init/Lean/Util 2019-12-04 17:17:34 -08:00
Leonardo de Moura
f15af1df0a chore: move Lean auxiliary datatypes to src/Init/Lean/Data 2019-12-04 17:00:13 -08:00
Leonardo de Moura
f570d2a1c3 fix: caching condition 2019-12-04 16:14:26 -08:00
Leonardo de Moura
e3b8013c4e feat: add mkAppM
This is the generic application builder.
2019-12-04 16:12:24 -08:00
Leonardo de Moura
dacf69b2f0 chore: remove mkCApp* functions 2019-12-04 13:07:42 -08:00
Leonardo de Moura
ad54d8e024 feat: add helper functions 2019-12-04 12:43:24 -08:00
Leonardo de Moura
1784b0ee67 chore: Heq ==> HEq 2019-12-04 11:20:38 -08:00
Leonardo de Moura
5813fbb26a feat: add AppBuilder module
It is essentially a placeholder.
2019-12-04 11:00:17 -08:00
Leonardo de Moura
86279adc63 chore: add more comments, cleanup, enforce linearity 2019-12-04 09:46:26 -08:00
Leonardo de Moura
ab75062eb4 chore: avoid unnecessary complexity 2019-12-04 06:24:33 -08:00
Leonardo de Moura
7f852d1dad doc: getSubgoalsAux 2019-12-04 06:14:05 -08:00
Leonardo de Moura
1ad97e8e9e refactor: simplify code 2019-12-04 05:54:21 -08:00
Leonardo de Moura
a0a7f11faf refactor: remove unnecessary tryResolveCore from tryAnswer 2019-12-04 05:36:53 -08:00
Leonardo de Moura
1e16b31190 doc: Meta/SynthInstance.lean 2019-12-03 20:09:06 -08:00
Leonardo de Moura
4ce457eb51 chore: remove prototype for the new type class resolution
The code has been integrated into the `Meta` module.
2019-12-03 15:01:05 -08:00
Leonardo de Moura
1aa398415c fix: accidental variable shadowing 2019-12-03 14:38:59 -08:00
Leonardo de Moura
bae4a5fc7c fix: use same approach used at instantiateMVars
The idea is to beta reduce whenever we instantiate `?m` at `?m xs`
with a lambda expression.
2019-12-03 14:13:04 -08:00
Leonardo de Moura
43fc18eb41 fix: incorrect local context being used to create new metavariables 2019-12-03 13:31:24 -08:00
Leonardo de Moura
a7aca58bf7 fix: missing instantiateMVars 2019-12-03 13:01:44 -08:00
Leonardo de Moura
618b22e9a1 fix: typo 2019-12-03 12:53:37 -08:00
Leonardo de Moura
98f9ec8b07 refactor: avoid code explosion generated by telescope functions 2019-12-03 12:28:54 -08:00
Leonardo de Moura
2e0b22d49d fix: MetavarContext propagation 2019-12-03 11:34:04 -08:00
Leonardo de Moura
2254da0367 test: add simple test 2019-12-03 10:42:43 -08:00
Leonardo de Moura
5adce9fa20 fix: use eta reduction at DiscrTree
@kha @dselsam

Suppose we are trying to retrieve the global instances for
`(Monad (StateM Nat))`.
During retrieval, we reducde `StateM Nat` into `fun x => StateT Nat Id x`
However, the `DiscrTree` contains an entry for `Monad (StateT * *)`.
Thus, we fail to retrieve any instance.
I fixed the particular issue by using eta reduction.
Not sure we will encounter other definitional-equality related problems .
2019-12-03 10:30:53 -08:00
Leonardo de Moura
adddea3397 feat: add etaExpandedStrict? 2019-12-03 10:30:19 -08:00
Leonardo de Moura
3c515dcd21 feat: missing methods 2019-12-03 09:09:45 -08:00
Leonardo de Moura
833c587fa3 feat: add generate, newSubgoal, tryResolve, and simpler table
TODO: `resume`
2019-12-02 19:00:43 -08:00
Leonardo de Moura
3eabda1c4d feat: add withMCtx 2019-12-02 12:48:34 -08:00