Leonardo de Moura
f6aba503ff
chore(frontends/lean): remove old elaborator
2016-09-19 17:10:28 -07:00
Leonardo de Moura
9f1a576e98
chore(frontends/lean): remove dead code from parser
2016-09-19 17:04:59 -07:00
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