Leonardo de Moura
3a7229add3
chore(library/init): pexpr is now an opaque constant
2018-06-06 09:36:22 -07:00
Leonardo de Moura
441b9077b2
feat(library/comp_val): add mk_name_val_ne_proof
...
We need this procedure otherwise it takes forever to prove equation lemmas
for definitions such as:
```
def macros : name → option macro
| `lambda := some lambda_macro
| `intro_x := some intro_x_macro
| _ := none
```
We never experienced this problem in Lean3 because we used `name`
literals only occurred in patterns of *meta* definitions. So, no
equation lemma was generated.
@kha `def macros` was taking more than 1 second to elaborate on my
machine. It is now instantaneous.
2018-06-06 09:18:59 -07:00
Leonardo de Moura
e160154d14
fix(library/init/meta/name): duplicate
2018-06-06 08:47:28 -07:00
Leonardo de Moura
530c437953
feat(library/init/data/char/basic): missing theorems for equation compiler
2018-06-06 08:47:17 -07:00
Leonardo de Moura
dda1f0ebaa
chore(library/init/meta/interactive): remove more tactics
2018-06-06 08:46:48 -07:00
Leonardo de Moura
e4a168af91
chore(library/init/meta): remove goal tagging feature
2018-06-06 08:46:47 -07:00
Sebastian Ullrich
1c380037d3
refactor(library/init/lean/parser/syntax): replace syntax.lst with syntax.node, remove span field from syntax_node
2018-06-06 15:46:39 +02:00
Sebastian Ullrich
732c823646
feat(library/init/lean/parser): remove syntax_id, use De Bruijn indices instead
2018-06-06 15:36:28 +02:00
Sebastian Ullrich
847018e881
chore(bin/lean-gdb.py): fix lean::name pretty printer and add lean::obj_list pretty printer
2018-06-06 15:36:28 +02:00
Leonardo de Moura
50ce4e8ae9
chore(library/init/meta/interactive_base): remove Lean3 format macros
2018-06-05 16:29:26 -07:00
Leonardo de Moura
bd7138349a
chore(library/init/meta/pexpr): remove pexpr primitives
2018-06-05 16:28:12 -07:00
Leonardo de Moura
ab481d7e7b
chore(library/init/meta): remove unnecessary primitives
2018-06-05 16:13:22 -07:00
Leonardo de Moura
0119926022
fix(kernel/expr): constructor order
2018-06-05 15:56:51 -07:00
Leonardo de Moura
45202eca16
chore(library/init/meta): cleanup
2018-06-05 15:32:59 -07:00
Leonardo de Moura
330c9afbc0
feat(library/metavar_context): store user_name at metavar_decl
2018-06-05 14:29:55 -07:00
Leonardo de Moura
fc8aa30f0f
chore(library/pp_options): remove dead option
2018-06-05 14:27:04 -07:00
Leonardo de Moura
6472cb0579
chore(kernel/abstract_type_context): rename has_local_pp_name
2018-06-05 14:26:31 -07:00
Leonardo de Moura
8ae42417eb
fix(library/compiler/vm_compiler): missing case
2018-06-05 11:07:38 -07:00
Leonardo de Moura
0dd25b0a24
refactor(util,library): move subscripted_name_set to library
2018-06-05 08:06:32 -07:00
Leonardo de Moura
1bae8f8eab
refactor(library/init/lean/ir/parser): parser.lean => parser_t.lean
2018-06-05 08:00:13 -07:00
Leonardo de Moura
60339d6c87
feat(library/init/data/hashmap/basic): missing function
2018-06-04 19:58:24 -07:00
Leonardo de Moura
ff3a3177c3
chore(library/local_context): get_pp_name => get_user_name
2018-06-04 16:08:28 -07:00
Sebastian Ullrich
0f7c0ac8bf
feat(init/lean/parser/parser): make a monad transformer
...
Also move parser combinators into the more specific namespace `init.lean.parser.parser_t`.
2018-06-04 12:57:23 +02:00
Sebastian Ullrich
6a0f3056f4
chore(library/init/lean/parser/syntax): cleanup
2018-06-04 11:02:45 +02:00
Leonardo de Moura
87b5fd70af
chore(tests/frontends/lean): remove tests for old parser
2018-06-01 18:31:40 -07:00
Leonardo de Moura
bdd2a53d6a
chore(tests/library/rewriter): remove dead tests
2018-06-01 18:28:08 -07:00
Leonardo de Moura
b47aa7997e
chore(kernel): remove dead code
2018-06-01 18:07:10 -07:00
Leonardo de Moura
3d38923e07
feat(frontends/lean/inductive_cmds): add option for invoking future inductive module
2018-06-01 16:25:21 -07:00
Leonardo de Moura
8ff6ac9e0f
refactor(kernel/environment): intro_rule ==> constructor
...
Lean is a programming language
2018-06-01 15:35:02 -07:00
Leonardo de Moura
909284dd74
refactor(runtime): normlize object names
2018-06-01 15:34:42 -07:00
Leonardo de Moura
de48d49b53
feat(kernel): preparing for adding new inductive datatype module
2018-06-01 14:47:49 -07:00
Leonardo de Moura
ac0352b584
refactor(kernel): remove quotitent normalizer extension
...
The `quot` type is now implemented in the kernel.
We will do the same thing for inductives.
We will not support normalizer extensions anymore in Lean4.
It doesn't make sense since we settled with 2 extensions: quotients and
inductives. Moreover, any new extension would require substantial
changes (e.g., code generator).
The normalizer_extension feature was useful when we were experimenting
with different kernel flavors.
2018-06-01 10:52:17 -07:00
Leonardo de Moura
d182aa7a5f
test(tests/lean/smart_unfolding): add smart_unfolding test back
2018-06-01 09:07:04 -07:00
Leonardo de Moura
722974e8c7
feat(kernel): add option to skip type checking at add_meta
2018-05-31 17:27:55 -07:00
Leonardo de Moura
9a671d7c7d
chore(library/compiler): delete rec_fn_macro
2018-05-31 17:11:25 -07:00
Leonardo de Moura
b95e710e8c
feat(library/compiler, library/equations_compiler): avoid rec_fn_macro in the equation and bytecode compilers
2018-05-31 17:08:12 -07:00
Leonardo de Moura
eab962bbc6
feat(kernel): add add_meta
2018-05-31 15:40:50 -07:00
Leonardo de Moura
cab6b39c76
refactor(library): remove sorry checking
...
We have to revise how we do this.
2018-05-31 15:20:39 -07:00
Leonardo de Moura
8a918a2a14
fix(checker/text_import): commit 3c1ccc9 broke it
2018-05-31 14:59:36 -07:00
Leonardo de Moura
112d1da8d0
refactor(library/module): no need to store trust lvl in declarations
...
We are going to delete macros. So, we don't need to store trust_lvl information.
2018-05-31 14:55:18 -07:00
Leonardo de Moura
3c1ccc9b74
refactor(kernel): use m_meta instead of m_trusted
2018-05-31 11:18:00 -07:00
Leonardo de Moura
e80765daca
fix(library/export_decl): bug at export_decl_modification::perform
...
The `perform` method was adding the modification to the environment
where it was being applied.
2018-05-31 09:16:46 -07:00
Leonardo de Moura
80545832f4
chore(library): remove user attributes
2018-05-31 09:10:41 -07:00
Leonardo de Moura
f507b882e2
chore(frontends/lean): remove support for user commands from old front end
2018-05-31 09:06:07 -07:00
Leonardo de Moura
0947abaee4
chore(frontends/lean): remove broken declare_trace command
...
This command is broken, and we will have a new tracing infrastructure in Lean4.
2018-05-31 09:02:25 -07:00
Leonardo de Moura
2e8967adf1
doc(kernel/environment): document why we need is_descendant
2018-05-31 08:14:54 -07:00
Leonardo de Moura
12a03f7784
chore(frontends/lean/definition_cmds): remove dependency
2018-05-30 14:46:54 -07:00
Leonardo de Moura
4d8549305d
doc(library/init/env_ext): document environment extensions in use
2018-05-30 14:28:49 -07:00
Leonardo de Moura
d3272ca1c5
refactor(frontends/lean,library/tactic/kabstract): remove add_key_equivalence command
...
This command was never used in the Lean3 corelib and mathlib.
It is safe to assume it is not needed.
2018-05-30 14:10:03 -07:00
Leonardo de Moura
d707a27c2b
chore(library/class): unnecessary dependency
2018-05-30 14:05:21 -07:00