Leonardo de Moura
a884280e24
feat: elaborate named arguments
2019-12-11 09:40:46 -08:00
Leonardo de Moura
e13a10fbf2
feat: elaborate explicit and implicit arguments
2019-12-11 09:04:26 -08:00
Leonardo de Moura
4f730d82e0
feat: elabAppFn
2019-12-11 06:19:12 -08:00
Leonardo de Moura
49b7660d38
feat: elabApp skeleton
2019-12-10 10:21:14 -08:00
Leonardo de Moura
5d11e87fc6
feat: elaborate (...)
2019-12-09 17:05:40 -08:00
Leonardo de Moura
7da9793c0a
chore: fix tests
2019-12-09 16:58:21 -08:00
Leonardo de Moura
45c18ad79c
chore: make sure we fail test if there are errors
2019-12-09 16:55:51 -08:00
Leonardo de Moura
124ad70bfe
feat: elaborate dependent arrows
2019-12-09 16:49:26 -08:00
Leonardo de Moura
04ff23f81d
feat: elaborate arrows
2019-12-09 16:31:35 -08:00
Leonardo de Moura
e665960ee9
feat: elaborate forall
2019-12-09 16:25:53 -08:00
Leonardo de Moura
d586dc6c68
feat: add Lean.Elab.process
2019-12-09 16:04:49 -08:00
Leonardo de Moura
86c1e97523
feat: propagate Options
2019-12-09 15:49:47 -08:00
Leonardo de Moura
c7b8a03b14
fead: add basic elabId
2019-12-08 19:14:44 -08:00
Leonardo de Moura
a15a6967b3
feat: add #check command
2019-12-08 18:03:34 -08:00
Leonardo de Moura
fddeecaaa6
feat: elaborate binders
2019-12-08 17:59:11 -08:00
Leonardo de Moura
1352619ee4
refactor: MonadTracer and helper functions
...
This commit adds
- `addContext : MessageData -> m MessageData` method. We need it to
make sure we wrap the message with the current context. Before this
commit I had to redefine `trace` for `MetaM`, `SynthM`, and
`TermElabM`.
- polymorphic `traceM` method.
2019-12-08 09:05:15 -08:00
Leonardo de Moura
efaec02b23
feat: add basic commands
2019-12-07 17:55:31 -08:00
Sebastian Ullrich
9482976345
test: speed up some tests for the debug interpreter
2019-12-07 21:51:59 +01: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
5247c3719b
doc: document private keyword elaboration issues
2019-12-05 08:55:21 -08:00
Leonardo de Moura
f80ec55149
feat: improve tracing messages
2019-12-05 07:29:01 -08:00
Leonardo de Moura
dd0b71938d
feat: register Meta tracing options
2019-12-05 06:38:28 -08:00
Sebastian Ullrich
3cce06ca78
chore: add tests/plugin/.gitignore
2019-12-05 13:21:08 +01:00
Sebastian Ullrich
3e46b8a8a4
test: simplify meta2.lean
2019-12-05 13:21:08 +01:00
Leonardo de Moura
3422dbca5f
chore: fix tests
2019-12-04 17:25:46 -08:00
Leonardo de Moura
021fda2d80
chore: fix tests
2019-12-04 17:02:56 -08:00
Leonardo de Moura
827d2d7b72
chore: use mkAppN
2019-12-04 16:25:17 -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
ad54d8e024
feat: add helper functions
2019-12-04 12:43:24 -08:00
Leonardo de Moura
2664a82c32
chore: remove old test
2019-12-03 15:06:02 -08:00
Leonardo de Moura
963063dfee
chore: disable tests for type class resolution prototype
2019-12-03 14:50:14 -08:00
Leonardo de Moura
9994500284
test: add more tests
2019-12-03 14:40:38 -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
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
57f830a751
chore: fix test
2019-12-02 19:42:44 -08:00
Leonardo de Moura
7e34cb4474
feat: add SynthInstance.lean
...
It is the first step to integrate the new type class procedure intro
`MetaM`. It implements the main entry point where we preprocess the
instance, check cache, invoke main function, process replacements, and
cache result.
2019-12-01 18:32:48 -08:00
Leonardo de Moura
00b991baf6
feat: add openAbstractMVarsResult
2019-12-01 18:32:48 -08:00
Leonardo de Moura
ef43a08b91
feat: add checkOutParam validation
...
It implements the approach we have discussed at
`src/library/type_context.cpp`.
2019-12-01 18:32:48 -08:00
Leonardo de Moura
f8fb195719
feat: cache local instances at metavariable declarations
2019-11-28 05:57:46 -08:00
Leonardo de Moura
be9dab41ad
fix: abstractMVars
2019-11-27 10:53:25 -08:00
Leonardo de Moura
a5cf1ac5ae
chore: fix tests
2019-11-26 18:07:13 -08:00
Leonardo de Moura
e45211f31c
test: display discrimination tree containing type class instances
2019-11-26 18:00:31 -08:00
Leonardo de Moura
120778585d
feat: add isProofQuick
2019-11-25 08:42:23 -08:00
Leonardo de Moura
882db55d11
feat: add reduce
2019-11-25 08:42:23 -08:00
Sebastian Ullrich
df3112d54d
chore: fix one more benchmark
2019-11-25 12:47:42 +01:00
Sebastian Ullrich
fe3e8022a5
chore: update benchmarks
2019-11-25 10:42:14 +01:00