Commit graph

29801 commits

Author SHA1 Message Date
Leonardo de Moura
cf30d31024 fix(library/tactic/cases_tactic): missing case 2016-09-12 17:41:22 -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
9e601cb1cd feat(library/init/nat): port nat.lean to new elaborator 2016-09-12 13:43:08 -07:00
Leonardo de Moura
2248dccfd4 feat(library/equations_compiler/elim_match): do not create auxiliary definition when compiling meta-definitions and/or lemmas 2016-09-12 12:54:01 -07:00
Leonardo de Moura
d980aa3724 feat(library/rfl_lemmas): move rfl lemma rewrite procedure to library 2016-09-12 12:42:14 -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
c9d054ccaa chore(library/constructions/cases_on): fix warning 2016-09-11 20:39:32 -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
4bc4cc1549 chore(library/type_context): fix style 2016-09-11 16:29:12 -07:00
Leonardo de Moura
6ac64c7250 feat(library/equations_compiler/elim_match): make process_transport more robust 2016-09-11 16:21:15 -07:00
Leonardo de Moura
4ae0ab79d9 feat(library/pp_options): show delayed_abstractions by default 2016-09-11 11:07:17 -07:00
Leonardo de Moura
70c7561094 feat(library/type_context): add more tracing messages for failures 2016-09-11 11:05:37 -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
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
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
Leonardo de Moura
932d14241b chore(kernel): remove support for mutually inductive datatypes from the kernel 2016-09-10 17:39:17 -07:00
Daniel Selsam
5787b469d0 feat(inductive_compiler): a few useful helper functions 2016-09-10 14:22:27 -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
1afd81384f chore(library/let): delete let-macro hack 2016-09-10 13:06:07 -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
2420428689 fix(frontends/lean/definition_cmds): add aliases 2016-09-10 12:49:16 -07:00
Leonardo de Moura
50ef0185d9 fix(library/equations_compiler/structural_rec): missing relaxed_whnf 2016-09-10 12:14:00 -07:00
Leonardo de Moura
96d27b6b8f fix(library/equations_compiler/elim_match): missing case for is_complete_transition 2016-09-10 12:13:31 -07:00
Leonardo de Moura
da966eeba0 chore(tests/lean): delete old tests 2016-09-10 12:13:11 -07:00
Leonardo de Moura
b7a9174a9c fix(library/type_context): never unfold constant x when solving x =?= x
This is a clean version of #1127
2016-09-10 09:57:38 -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
532efde665 chore(library/local_context): fix warning 2016-09-09 18:01:39 -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
a0fb3eb2f9 feat(library/equations_compiler/equations): add helper function 2016-09-09 17:43:42 -07:00
Leonardo de Moura
6c13241d59 feat(library/local_context): add low-level methods for declaring local_decls 2016-09-09 17:43:07 -07:00
Leonardo de Moura
15f3622cbb fix(library/equations_compiler/pack_domain): missing case 2016-09-09 13:39:51 -07:00
Leonardo de Moura
c1521b8416 feat(library/equations_compiler/elim_match): improve process_no_equation case 2016-09-09 12:40:16 -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
3857ae09f7 feat(library/equations_compiler/elim_match): add max number of steps 2016-09-09 08:48:34 -07:00