Commit graph

20843 commits

Author SHA1 Message Date
Leonardo de Moura
0199e93079 chore: add Array.erase 2020-09-04 13:35:01 -07:00
Leonardo de Moura
3dbd2b728b feat: add Array.getMax? 2020-09-04 10:40:34 -07:00
Leonardo de Moura
a04fc631e0 doc: Closure.lean
@Kha I documented the new `Closure.lean` module, and tried to capture
the issues we discussed this morning.
Tomorrow, I will implement a similar procedure for "closing" all the
let-recs in a `mutual` block.
2020-09-03 18:06:30 -07:00
Leonardo de Moura
555a3f0dcf feat: new and improved mkAuxDefinition 2020-09-03 17:37:06 -07:00
Leonardo de Moura
f34fd3e6b4 refactor: move Closure.lean to Meta
We will need to improve the support for let-decls. We will use
the new `trackZeta`.
2020-09-03 11:54:08 -07:00
Leonardo de Moura
ad774ae397 feat: support for tracking which let-decls have been zeta expanded 2020-09-03 11:32:46 -07:00
Leonardo de Moura
5cc0dd75ec refactor: remove unnecessary abstraction 2020-09-03 10:16:56 -07:00
Leonardo de Moura
238c38fed9 feat: preserve nonDep flag at LocalDecl.ldecl 2020-09-03 09:08:59 -07:00
Leonardo de Moura
3ab19a1cc6 chore: update stage0 2020-09-03 08:50:37 -07:00
Leonardo de Moura
1480b39d86 chore: no Task in Theorem 2020-09-03 08:47:55 -07:00
Leonardo de Moura
0faaa5ac54 fix: use mkForallFVars and mkLambdaFVars 2020-09-03 08:33:16 -07:00
Leonardo de Moura
06c6002d45 feat: lift nested 'let-rec's 2020-09-02 18:53:18 -07:00
Leonardo de Moura
f2a6562eed feat: validate 'let rec' types 2020-09-02 17:02:40 -07:00
Leonardo de Moura
1afecc3fbf fix: applyAttributes at 'let rec' 2020-09-02 17:02:35 -07:00
Leonardo de Moura
9ffd1b1672 feat: filter unused variables in mutually recursive definitions 2020-09-02 17:02:35 -07:00
Leonardo de Moura
8aa5409bac feat: elaborate 'let rec'
Remark: the actual lift is going to be performed at `MutualDef.lean`.
2020-09-02 17:02:35 -07:00
Leonardo de Moura
0883f96da0 chore: remove optional partial from 'let rec'
It will inherit the parent declaration annotation.
2020-09-02 17:02:22 -07:00
Leonardo de Moura
a8f8be4b30 feat: elaborate mutually rec definitions values 2020-09-02 13:12:53 -07:00
Leonardo de Moura
c240172aff feat: add macro expandMatchAltsIntoMatch 2020-09-02 11:26:53 -07:00
Leonardo de Moura
6bd6fb0c25 chore: simplify code to workaround bug at csimp.cpp 2020-09-02 10:45:15 -07:00
Leonardo de Moura
93bc39f897 chore: parameters do not need to match in mutually recursive definitions 2020-09-02 10:30:35 -07:00
Leonardo de Moura
907a202961 feat: expand in command macro 2020-09-02 10:04:58 -07:00
Leonardo de Moura
849b0b8dfd chore: update stage0 2020-09-02 09:54:26 -07:00
Leonardo de Moura
bda85f287c feat: in trailing command 2020-09-02 09:52:54 -07:00
Leonardo de Moura
988bb09aaf feat: new inductive command syntax
cc @Kha
2020-09-02 09:41:52 -07:00
Leonardo de Moura
c5cd5f2e5b feat: check kinds 2020-09-01 17:20:06 -07:00
Leonardo de Moura
f5fea33651 chore: mark TODOs 2020-09-01 17:07:01 -07:00
Leonardo de Moura
5ced8867b0 feat: anonymous instances and support for all kinds of definition at mutual 2020-09-01 17:00:00 -07:00
Leonardo de Moura
d74551b19e feat: elaborate header of mutually recursive definitions 2020-09-01 16:13:04 -07:00
Leonardo de Moura
356b11578b chore: add helper functions 2020-09-01 16:11:27 -07:00
Leonardo de Moura
9e038e331c feat: add forallTelescopeCompatible 2020-09-01 14:46:32 -07:00
Leonardo de Moura
dfd344c9eb chore: add MutualDef.lean 2020-09-01 14:18:10 -07:00
Leonardo de Moura
095e07d52d chore: letrec => let rec
cc @Kha
2020-09-01 13:27:41 -07:00
Leonardo de Moura
b9d50d2adf refactor: expandDeclId 2020-09-01 13:12:36 -07:00
Leonardo de Moura
5e5b75af61 chore: remove withDeclId 2020-09-01 13:04:08 -07:00
Leonardo de Moura
d7e99c76c3 feat: mutual + namespace macro 2020-09-01 12:25:29 -07:00
Leonardo de Moura
961c6f9be8 chore: update stage0 2020-08-31 18:13:15 -07:00
Leonardo de Moura
821b1c2b6c chore: remove arity
@Kha I improved the arity calculation for `extern`s.
2020-08-31 16:38:39 -07:00
Leonardo de Moura
5da3d9bf70 fix: quotation 2020-08-31 16:35:37 -07:00
Leonardo de Moura
ce819b015f chore: update stage0 2020-08-31 16:30:45 -07:00
Leonardo de Moura
217b7fc2b8 feat: improve extern arity calculation 2020-08-31 16:29:27 -07:00
Leonardo de Moura
8e179ed829 feat: macros in mutual blocks and elabMutualDef entry point 2020-08-31 15:37:41 -07:00
Leonardo de Moura
b192293b8a feat: allow arbitrary commands (except end) in a mutual block
This is useful, for example, for having a mutual command with macros
that expand into definitions.
2020-08-31 15:37:41 -07:00
Leonardo de Moura
346537bd74 chore: update stage0 2020-08-31 15:37:41 -07:00
Leonardo de Moura
2563d03ae2 feat: add notFollowedBy 2020-08-31 15:37:41 -07:00
Leonardo de Moura
25384142c2 feat: add addPartialDecls
Helper method for implementing the idiom: unsafe decls + constant with `[implementedBy]`
2020-08-31 14:23:54 -07:00
Leonardo de Moura
1dcffe5714 feat: add setImplementedBy 2020-08-31 14:23:54 -07:00
Leonardo de Moura
9f16d01058 refactor: reduce DeclModifiers dependencies 2020-08-31 10:12:06 -07:00
Sebastian Ullrich
4bce9eb9a5 doc: document lean_st_ref_get peculiarity 2020-08-31 15:55:21 +02:00
Sebastian Ullrich
7083aeea83 chore: adapt to upstream 2020-08-31 06:50:01 -07:00