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