Commit graph

3288 commits

Author SHA1 Message Date
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
Leonardo de Moura
38f7f9bbdc fix(library/type_context): ignore unification constraints of the form ?m =?= delayed[?m] 2016-09-11 17:25:30 -07:00
Leonardo de Moura
2e609c8539 fix(library/type_context): support for delayed_abstraction at check_assignment 2016-09-11 17:12:32 -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
ef5350759b chore(library/init/quot): annotate quot eliminators 2016-09-10 22:51:07 -07:00
Leonardo de Moura
61f7702940 feat(frontends/lean/elaborator): disable checks 2016-09-10 22:50:29 -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
318c94bfce fix(kernel/inductive/inductive): kernel should reject inductive datatype declaration for I where I occurs in an index 2016-09-10 17:45:58 -07:00
Daniel Selsam
b0c5744eea feat(inductive_compiler): support for mutually inductive types 2016-09-10 14:22:27 -07:00
Leonardo de Moura
019f40c48c feat(frontends/lean/decl_util): avoid _main in nested auxiliary declarations 2016-09-10 14:13:30 -07:00
Leonardo de Moura
e6dd5242fc feat(library/equations_compiler): add option eqn_compiler.zeta 2016-09-10 14:00:16 -07:00
Leonardo de Moura
91994ff823 feat(frontends/lean/elaborator): switch to new let-decls 2016-09-10 13:00:53 -07:00
Leonardo de Moura
8d9e508a11 fix(frontends/lean/structure_cmd): leftover 2016-09-10 12:57:24 -07:00
Leonardo de Moura
da966eeba0 chore(tests/lean): delete old tests 2016-09-10 12:13:11 -07:00
Leonardo de Moura
4df0c1fe93 feat(library/equations_compiler/compiler): do not use let-expresssions at pull_nested_rec_fn 2016-09-09 18:20:36 -07:00
Leonardo de Moura
c25ac7f54f feat(library/equations_compiler): pull nested recursive calls 2016-09-09 17:56:56 -07:00
Leonardo de Moura
1d5f0895d4 chore(library/equations_compiler/util): disable sanitizer by default 2016-09-09 17:53:13 -07:00
Leonardo de Moura
77bbd1e4e7 test(tests/lean/run): add more tests for new elaborator 2016-09-09 12:39:37 -07:00
Leonardo de Moura
fc0230730d feat(frontends/lean/elaborator): make sure all equations have the same number of patterns 2016-09-09 12:13:41 -07:00
Leonardo de Moura
f64d1483e9 fix(library/equations_compiler/elim_match): avoid nontermination at process_no_equation 2016-09-09 09:00:57 -07:00
Leonardo de Moura
cef118cbda chore(tests/lean/run/new_elab1): make sure new elaborator is used in the test 2016-09-08 19:24:39 -07:00
Leonardo de Moura
89bc55aece feat(frontends/lean/elaborator): improve expected type for equation rhs 2016-09-08 19:22:26 -07:00
Leonardo de Moura
23e443ef71 feat(frontends/lean/elaborator): add support for no_confusion in the new elaborator 2016-09-08 18:48:48 -07:00