Commit graph

1808 commits

Author SHA1 Message Date
Leonardo de Moura
da8f37d7cc feat(compiler): mark computationally irrelevant terms 2016-05-02 16:23:54 -07:00
Leonardo de Moura
bf5e443418 feat(frontends/lean): add #compile command back 2016-04-28 15:59:38 -07:00
Leonardo de Moura
54f68226f4 chore(frontends/lean): disable old tactic framework and blast 2016-04-25 16:22:15 -07:00
Leonardo de Moura
fdea718d9d chore(frontends/lean): remove all #include "library/tactic.*" from frontends/lean 2016-04-25 15:41:12 -07:00
Leonardo de Moura
d88098f38d chore(frontends/lean): remove some of the tactic support 2016-04-25 15:26:56 -07:00
Leonardo de Moura
de64750621 chore(frontends/lean): disable expressions that use tactic framework 2016-04-25 15:07:26 -07:00
Leonardo de Moura
d66406a1f4 feat(frontends/lean): add #elab command for testing new elaborator 2016-04-05 17:03:23 -07:00
Leonardo de Moura
03809e7973 refactor(frontends/lean): elaborator_context 2016-04-05 16:19:06 -07:00
Leonardo de Moura
2577be6344 chore(frontends/lean): remove useless elaborator options 2016-04-05 16:03:10 -07:00
Leonardo de Moura
a1bc662eca dev(frontends/lean/parser): add local_context 2016-03-30 16:33:17 -07:00
Leonardo de Moura
e806700648 fix(frontends/lean/builtin_cmds): redeclare_aliases 2016-03-30 16:30:18 -07:00
Leonardo de Moura
06ef0ad7be refactor(frontends/lean): add local_level_decls
Remark: the template local_decls will be deleted in the future.
The instances local_expr_decls will be replace by local_context.
2016-03-30 15:47:32 -07:00
Leonardo de Moura
c4f25cf15b refactor(frontends/lean): rename elaborate methods 2016-03-30 15:05:24 -07:00
Leonardo de Moura
75549bafd7 refactor(frontends/lean/elaborator): rename elaborator to old_elaborator 2016-03-30 14:59:18 -07:00
Leonardo de Moura
3d238ee943 feat(frontends/lean/builtin_cmds): implement #unify using new type_context 2016-03-25 15:38:13 -07:00
Leonardo de Moura
c98f1bfd24 refactor(library): remove type_util module and implement get_num_args using abstract_type_context 2016-03-21 16:30:08 -07:00
Leonardo de Moura
8dde1489f9 refactor(library/util): isolate util procedures that depend on old_type_checker 2016-03-21 13:36:08 -07:00
Leonardo de Moura
487a1e7f89 refactor(kernel): remove extension_context
We replaced it with abstract_type_context
2016-03-19 15:15:39 -07:00
Leonardo de Moura
63d8a0ed45 refactor(kernel): move justification/constraint/metavar to library
These files will be eventually deleted
2016-03-19 14:39:15 -07:00
Leonardo de Moura
e7f1f409c4 refactor(kernel): simplify kernel type_checker
TODO: cleanup, move justification/metavar/constraints to library
2016-03-18 16:28:42 -07:00
Leonardo de Moura
d8079aa16a refactor(library): create copy of the kernel type_checker in library
Motivation: it will allow us to simplify the kernel type_checker and
make sure it implements the same API provided by type_context
2016-03-18 14:34:10 -07:00
Leonardo de Moura
c679c3a8d4 dev(kernel/abstract_type_context): extend abstract_type_context API 2016-03-08 11:40:36 -08:00
Leonardo de Moura
eaac6ba721 chore(library/type_context): rename default_type_context to legacy_type_context and move it to different file 2016-03-04 10:26:50 -08:00
Leonardo de Moura
9d0dfb8404 refactor(frontends/lean): remove calc_proof_elaborator 2016-03-03 17:22:45 -08:00
Leonardo de Moura
227b548341 refactor(frontends/lean/calc): no overloading in calc steps 2016-03-03 15:00:51 -08:00
Leonardo de Moura
2c70ca83a8 refactor(frontends/lean/calc): remove '{}' notation for eq.subst in calc mode 2016-03-03 14:18:20 -08:00
Leonardo de Moura
d84a20d68b remove(frontends/lean/server): FINDG command 2016-03-03 10:12:24 -08:00
Leonardo de Moura
22f3efc5be remove(frontends/lean): begin_end pre-tactics
This was never used
2016-03-03 10:02:09 -08:00
Daniel Selsam
c23528b5d8 feat(library/blast/blast): use defeq_simplifier to normalize 2016-03-01 13:44:33 -08:00
Leonardo de Moura
56d7fc4c23 refactor(*): cleanup replace_visitor subclasses, and make sure let-expressions are handled 2016-02-29 16:55:19 -08:00
Leonardo de Moura
3c878ecd01 feat(kernel): add let-expressions to the kernel
The frontend is still using the old "let-expression macros".
We will use the new let-expressions to implement the new tactic framework.
2016-02-29 16:40:17 -08:00
Leonardo de Moura
f55e456c84 chore(*): remove remaining references to by+ and begin+ 2016-02-29 13:59:06 -08:00
Leonardo de Moura
b7b4b6d838 chore(src/frontends/lean/builtin_exprs): remove unnecessary parameter 2016-02-29 13:57:18 -08:00
Leonardo de Moura
f54963bc3e refactor(library/tactic/expr_to_tactic): remove 'by_plus' support 2016-02-29 13:50:05 -08:00
Leonardo de Moura
fbe5188480 refactor(frontends/lean): remove 'by+' and 'begin+' tokens 2016-02-29 13:45:43 -08:00
Leonardo de Moura
bf60999ede fix(frontends/lean/builtin_exprs): 'using' expression 2016-02-29 13:23:39 -08:00
Leonardo de Moura
15c4bc92b9 refactor(frontends/lean/elaborator): we only need to track one context 2016-02-29 12:49:17 -08:00
Leonardo de Moura
2b1d734544 feat(kernel/expr): remove 'contextual' flag from binder_info 2016-02-29 12:41:43 -08:00
Leonardo de Moura
b41c65f549 feat(frontends/lean): remove '[visible]' annotation, remove 'is_visible' tracking 2016-02-29 12:31:23 -08:00
Leonardo de Moura
101cf1ec4c feat(frontends/lean): remove difference between 'have' and 'assert' 2016-02-29 11:28:20 -08:00
Leonardo de Moura
eee74ef1b4 refactor(frontends/lean/pp): use abstract_type_context instead of type_checker 2016-02-26 15:35:29 -08:00
Leonardo de Moura
7d61f640f6 refactor(*): add abstract_type_context class 2016-02-26 14:17:34 -08:00
Leonardo de Moura
5a4dd3f237 feat(library/reducible): remove [quasireducible] annotation 2016-02-25 17:42:44 -08:00
Leonardo de Moura
146edde5b3 feat(library/class): mark instances as quasireducible by default
quasireducible are also known as lazyreducible.

There is a lot of work to be done.
We still need to revise blast, and add a normalizer for type class
instances. This commit worksaround that by eagerly unfolding
quasireducible.
2016-02-25 12:11:29 -08:00
Leonardo de Moura
2a294bcc17 fix(frontends/lean/elaborator): fixes #996 2016-02-22 17:03:14 -08:00
Leonardo de Moura
96f391dda2 feat(library/definitional/projection,frontends/lean/structure_cmd): creating inductive predicates using structure command 2016-02-22 16:09:44 -08:00
Daniel Selsam
d521063dfb feat(library/defeq_simplifier): new simplifier that uses only definitional equalities 2016-02-22 11:01:36 -08:00
Leonardo de Moura
20f70035dd fix(frontends/lean/util): fixes #1007 2016-02-22 10:54:55 -08:00
Daniel Selsam
bb4b8da582 feat(library/unification_hint): basic handling of user-supplied unification hints 2016-02-12 11:48:51 -08:00
Leonardo de Moura
632d4fae36 chore(library): rename local_context to old_local_context 2016-02-11 18:15:16 -08:00