Commit graph

11891 commits

Author SHA1 Message Date
Leonardo de Moura
f60de96d98 fix(frontends/lean/elaborator): bug at @@ annotation 2016-09-15 17:03:59 -07:00
Leonardo de Moura
f8fbc95e29 fix(library/delayed_abstraction): nested delayed abstractions 2016-09-15 15:46:25 -07:00
Leonardo de Moura
30c3f87c30 refactor(library/init/classical): moving file to lean3 elaborator 2016-09-15 15:45:57 -07:00
Leonardo de Moura
7b1811ccd6 refactor(library/init): move more files to new elaborator 2016-09-15 14:58:52 -07:00
Leonardo de Moura
f42afe2b65 feat(frontends/lean/elaborator): [elab_with_expected_type] is the new default strategy 2016-09-15 14:45:52 -07:00
Leonardo de Moura
688178a2ae chore(library/init/logic): cleanup proofs 2016-09-15 14:21:41 -07:00
Leonardo de Moura
7f5fe55859 fix(library/init/logic): make sure logic.lean compiles with latest changes 2016-09-15 14:09:12 -07:00
Leonardo de Moura
5d3765a6b7 fix(frontends/lean/elaborator): missing instantiate_mvars 2016-09-15 13:59:09 -07:00
Leonardo de Moura
6a331e2ab8 feat(frontends/lean/elaborator): better error message when there is a mismatch between inferred and synthesized instances 2016-09-15 09:05:19 -07:00
Leonardo de Moura
8d51607ea0 chore(frontends/lean/elaborator): remove verbose trace message 2016-09-14 18:14:53 -07:00
Leonardo de Moura
59ce650033 feat(frontends/lean/elaborator): improve how type class instances are handled at visit_app_with_expected 2016-09-14 18:07:01 -07:00
Leonardo de Moura
13d1aff3d4 fix(library/type_context): revert method may modify the size of the input argument 2016-09-14 17:29:57 -07:00
Leonardo de Moura
0ff5733d70 refactor(frontends/lean/elaborator): checkpoints 2016-09-14 17:29:51 -07:00
Leonardo de Moura
78c77d8981 feat(library/type_context): support delayed_abstraction's at is_def_eq 2016-09-14 11:20:21 -07:00
Leonardo de Moura
0871b7734c chore(library/init/logic): remove leftover 2016-09-14 09:47:35 -07:00
Leonardo de Moura
b426119e83 chore(frontends/lean/elaborator): rename attribute [elab_default] ==> [elab_simple] 2016-09-14 09:42:30 -07:00
Leonardo de Moura
83cc67ba67 feat(frontends/lean/definition_cmds): use . instead of [none] to represent the empty set of equations 2016-09-14 09:38:30 -07:00
Leonardo de Moura
cd6acb5d1d chore(library/pp_options): pp.binder_types true by default 2016-09-14 09:02:42 -07:00
Leonardo de Moura
9bb8b0e6ef feat(frontends/lean/elaborator): always use approximate is_def_eq in the elaborator 2016-09-14 09:01:09 -07:00
Leonardo de Moura
9461595a70 chore(frontends/lean/elaborator): remove leftover 2016-09-13 21:55:55 -07:00
Leonardo de Moura
6c84a0a7b1 feat(frontends/lean): use new notation for declaring universes in constant and structure decls 2016-09-13 21:45:16 -07:00
Leonardo de Moura
ce53c035bc feat(frontends/lean/decl_util): use the same notation for declaring universes in mutual and single decls 2016-09-13 21:05:18 -07:00
Leonardo de Moura
20cce8a0f6 feat(frontends/lean/parser): nicer notation for providing universes 2016-09-13 20:41:00 -07:00
Leonardo de Moura
6e9d49584b fix(library/type_context): occurs check for universes 2016-09-13 20:40:32 -07:00
Leonardo de Moura
06de4d156a refactor(library/init/logic): port to new elaborator 2016-09-13 16:36:09 -07:00
Leonardo de Moura
2ff3e4aaeb feat(frontends/lean/elaborator): better error position 2016-09-13 16:17:50 -07:00
Leonardo de Moura
cf1c50f4e9 fix(frontends/lean/elaborator): get_elim_info_for_builtin 2016-09-13 14:17:08 -07:00
Leonardo de Moura
9765151156 feat(kernel/inductive): relax restriction on metavariables
This change does not affect correctness of the kernel, since QED only
process terms that do not contain metavariables.
2016-09-13 13:50:04 -07:00
Leonardo de Moura
24049d8f40 refactor(library/init/logic): rename decidable.tt/ff to decidable.is_true/is_false 2016-09-13 13:40:02 -07:00
Leonardo de Moura
5f8f7bcccb feat(frontends/lean/elaborator): add proxy_attribute for elaborator strategies
This commit also adds a template for creating proxy_attribute's.
2016-09-13 13:02:37 -07:00
Leonardo de Moura
51407d09f9 refactor(library/attribute_manager): minimize the number of attr_data allocations 2016-09-13 10:00:52 -07:00
Leonardo de Moura
b996b81c35 refactor(library/reducible): rename proxy_attribute to reducibility_proxy_attribute 2016-09-13 09:45:58 -07:00
Leonardo de Moura
4971089e84 refactor(library/init): move files to new elaborator 2016-09-13 09:14:26 -07:00
Leonardo de Moura
e718e4c600 chore(tests/lean/set_attr1): adjust test output 2016-09-13 08:52:58 -07:00
Leonardo de Moura
00725d12b0 refactor(library/init): using new elaborator
We cannot use the `dec_trivial` workarounds on these files because the
tactic framework has not been defined yet.
2016-09-13 08:49:05 -07:00
Leonardo de Moura
2ac2badd58 fix(library/compiler/preprocess): do not unfold proofs 2016-09-13 08:47:39 -07:00
Leonardo de Moura
4a85c8c145 feat(library/type_context): add is_proof 2016-09-13 08:47:39 -07:00
Leonardo de Moura
4feef7d0be refactor(library/init): move more library files to new elaborator 2016-09-13 08:47:39 -07:00
Leonardo de Moura
9632f00fbe test(tests/lean/run): the lean2 macro dec_trivial is tricky to support in the new elaborator
Here are some workarounds.
2016-09-13 08:09:12 -07:00
Leonardo de Moura
0d166970de fix(frontends/lean/elaborator): missing instantiate_mvars 2016-09-13 08:09:12 -07:00
Leonardo de Moura
cf30d31024 fix(library/tactic/cases_tactic): missing case 2016-09-12 17:41:22 -07:00
Leonardo de Moura
d79fbee421 fix(frontends/lean/elaborator): visit_app_with_expected
Mark ite and dite with elab_with_expected_type.
2016-09-12 16:48:21 -07:00
Leonardo de Moura
aa2f9fadee feat(frontends/lean/elaborator): add support for nondependent eliminators in the new elaborator 2016-09-12 15:26:13 -07:00
Leonardo de Moura
9e601cb1cd feat(library/init/nat): port nat.lean to new elaborator 2016-09-12 13:43:08 -07:00
Leonardo de Moura
2248dccfd4 feat(library/equations_compiler/elim_match): do not create auxiliary definition when compiling meta-definitions and/or lemmas 2016-09-12 12:54:01 -07:00
Leonardo de Moura
d980aa3724 feat(library/rfl_lemmas): move rfl lemma rewrite procedure to library 2016-09-12 12:42:14 -07:00
Leonardo de Moura
af78fd0a3c fix(library/tactic/user_attribute): make sure it compiles when using older versions of g++ 2016-09-12 10:51:25 -07:00
Sebastian Ullrich
5e3e54e208 feat(library/tactic/user_attribute): Support pure function caching for user-defined attributes 2016-09-12 10:38:48 -07:00
Leonardo de Moura
d43764b6fb refactor(library/tactic/defeq_simplifier): move defeq_simp_lemmas to library
This commit also renames them to "rfl_lemmas".
Reason: these lemmas will be used at type_context::is_def_eq and type_context::whnf
2016-09-12 10:36:11 -07:00
Leonardo de Moura
0b90ace9f8 feat(frontends/lean/builtin_exprs): basic support for let-expr with patterns 2016-09-11 22:21:10 -07:00