Commit graph

3310 commits

Author SHA1 Message Date
Leonardo de Moura
325177bfd9 chore(tests/lean): make sure all tests can be processed using new elaborator 2016-09-19 16:17:32 -07:00
Leonardo de Moura
186716cbcd chore(tests/lean): delete old tests 2016-09-19 15:53:43 -07:00
Leonardo de Moura
bc5504b482 fix(tests/lean/run): disable tests that do not type check in the elaborator because it doesn't unfold theorems 2016-09-19 15:34:12 -07:00
Leonardo de Moura
b0361b49e2 chore(tests/lean/run/662): move test to new elaborator 2016-09-19 14:36:46 -07:00
Leonardo de Moura
1cf5419757 chore(tests/lean/run): move tests to new elaborator 2016-09-19 11:43:59 -07:00
Leonardo de Moura
e4553e0446 fix(library/type_context): bug in occurs check 2016-09-19 11:40:00 -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
fab357dd94 chore(tests/lean/run): move tests to new elaborator 2016-09-19 11:04:14 -07:00
Leonardo de Moura
6bfecdf00c chore(tests/lean/run): move tests to new elaborator 2016-09-18 19:10:48 -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
c81f283068 chore(tests/lean/run): move tests to new elaborator 2016-09-18 18:38:41 -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
bc31e43317 chore(tests/lean/run): delete old tests 2016-09-18 18:19:04 -07:00
Leonardo de Moura
ba974cc1d6 refactor(library/init/state): fix stateT at universe 1 2016-09-18 17:48:37 -07:00
Leonardo de Moura
5df705ebe8 fix(library/equations_compiler/compiler): nested match-exprs in meta_definitions 2016-09-18 17:20:52 -07:00
Leonardo de Moura
98da86eac0 chore(tests/lean/run): move tests to new elaborator 2016-09-18 17:13:13 -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
194d1be0dd fix(library/equations_compiler/structural_rec): reflexive type support 2016-09-18 16:15:31 -07:00
Leonardo de Moura
06df5fef1d chore(tests/lean/run): make sure tests work with new elaborator 2016-09-18 14:48:47 -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
6657876566 feat(library/equations_compiler): add support for meta_definitions 2016-09-18 10:52:38 -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
14db9259f8 refactor(library/init): universe polymorphic monad library 2016-09-17 18:58:27 -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
928d567a3f chore(tests/lean): providing universes 2016-09-17 12:54:20 -07:00
Leonardo de Moura
29b35ef12d chore(tests/lean/hott): delete old HoTT tests 2016-09-17 12:26:11 -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
63be1418f7 refactor(library/init): move files to new elaborator 2016-09-16 08:31:21 -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
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
0ff5733d70 refactor(frontends/lean/elaborator): checkpoints 2016-09-14 17:29:51 -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
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
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
e718e4c600 chore(tests/lean/set_attr1): adjust test output 2016-09-13 08:52:58 -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
cf30d31024 fix(library/tactic/cases_tactic): missing case 2016-09-12 17:41:22 -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
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
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