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