Commit graph

2222 commits

Author SHA1 Message Date
Leonardo de Moura
5e4e1ba88a chore(frontends/lean): delete old definition command 2016-09-19 16:50:25 -07:00
Leonardo de Moura
24f1cb2726 chore(frontends/lean): new_elaborator is now the default 2016-09-19 16:34:06 -07:00
Leonardo de Moura
c668185a1e fix(frontends/lean/decl_util): bug add add_local_ref 2016-09-19 15:53:58 -07:00
Leonardo de Moura
f1a244b858 fix(frontends/lean/decl_util): bug at add_local_ref 2016-09-19 15:45:58 -07:00
Leonardo de Moura
ba5d608386 fix(frontends/lean/definition_cmds): create theorem when keyword 'theorem' is used 2016-09-19 14:48:16 -07:00
Leonardo de Moura
2153661642 fix(frontends/lean/parser): missing position information 2016-09-19 13:37:22 -07:00
Leonardo de Moura
10f4a22fff fix(frontends/lean/elaborator): try to synthesize pending type class instances before processing eliminator/recursor 2016-09-19 11:14:49 -07:00
Leonardo de Moura
677d3d4cf9 fix(frontends/lean/elaborator): ignore annotations around function when deciding which kind of elaborator strategy should be used 2016-09-18 19:10:13 -07:00
Leonardo de Moura
4e0e812811 fix(frontends/lean/builtin_exprs): patterns in do-notation 2016-09-18 18:19:51 -07:00
Leonardo de Moura
51845d1622 fix(frontends/lean/parser): support as_atomic exprs at to_pattern_fn 2016-09-18 16:55:59 -07:00
Leonardo de Moura
b524e3d5f1 fix(frontends/lean/elaborator): postprocess rec_fn_macros used in meta_definitions 2016-09-18 13:01:50 -07:00
Leonardo de Moura
ac87de33e7 fix(frontends/lean/structure_cmd): universe level validation in the structure command 2016-09-18 10:00:31 -07:00
Leonardo de Moura
4c15c9833d fix(frontends/lean/elaborator): use_elim_elab_core 2016-09-17 20:04:14 -07:00
Leonardo de Moura
90bfd84a07 feat(frontends/lean): Type is now (Type 1)
In the standard library, we should use explicit universe variables for
universe polymorphic definitions.

Users that want to declare universe polymorphic definitions but do not
want to provide universe level parameters should use
  Type _
or
  Type*
2016-09-17 14:30:54 -07:00
Leonardo de Moura
5e8f2add84 refactor(library/init): use universe variables 2016-09-17 12:25:02 -07:00
Leonardo de Moura
9013dacd03 fix(frontends/lean/decl_util): bug at collect_implicit_locals 2016-09-16 22:35:33 -07:00
Leonardo de Moura
f8df2cd44f fix(frontends/lean/decl_util): section variables/parameters 2016-09-16 15:32:51 -07:00
Daniel Selsam
52f87760d8 feat(src/library/inductive_compiler): support for nested inductive types 2016-09-16 12:50:59 -07:00
Leonardo de Moura
9c8b7be225 chore(frontends/lean/elaborator): improve error message 2016-09-15 18:47:32 -07:00
Leonardo de Moura
194985f335 fix(frontends/lean/decl_util): bug when creating local ref 2016-09-15 18:47:02 -07:00
Leonardo de Moura
80ddb0e706 feat(frontends/lean/elaborator): use type class resolution for _ arguments even when @ (or @@) is used 2016-09-15 17:29:38 -07:00
Leonardo de Moura
25714d71a2 refactor(frontends/lean/elaborator): rename visit_default_app since it is not the "default" elaboration strategy anymore 2016-09-15 17:14:01 -07:00
Leonardo de Moura
f60de96d98 fix(frontends/lean/elaborator): bug at @@ annotation 2016-09-15 17:03:59 -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
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
0ff5733d70 refactor(frontends/lean/elaborator): checkpoints 2016-09-14 17:29:51 -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
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
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
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
0d166970de fix(frontends/lean/elaborator): missing instantiate_mvars 2016-09-13 08:09:12 -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
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
Leonardo de Moura
b957d3ee94 fix(frontends/lean/parser): make sure anonymous constructors can be used in patterns 2016-09-11 22:13:50 -07:00
Leonardo de Moura
24f76d5260 feat(frontends/lean/elaborator): improve convoy and elim 2016-09-10 22:51:26 -07:00
Leonardo de Moura
61f7702940 feat(frontends/lean/elaborator): disable checks 2016-09-10 22:50:29 -07:00
Leonardo de Moura
f53ff9a3b6 feat(frontends/lean/elaborator): add [elab_as_eliminator] attribute 2016-09-10 21:58:30 -07:00
Leonardo de Moura
214e91d1ae feat(frontends/lean/elaborator): improve match_convoy in the new elaborator 2016-09-10 21:41:40 -07:00
Leonardo de Moura
4d06f71e72 chore(frontends/lean/elaborator): remove unnecessary procedure 2016-09-10 21:14:58 -07:00