Commit graph

11891 commits

Author SHA1 Message Date
Leonardo de Moura
14d009ce92 refactor(library/equations_compiler): improve mk_equation_lemma 2016-09-08 11:50:58 -07:00
Leonardo de Moura
5c7150c813 fix(frontends/lean/elaborator): make sure equations do not contain unassigned metavars before using eqn compiler 2016-09-08 10:47:15 -07:00
Leonardo de Moura
f4f92ed2d1 chore(library/equations_compiler/util): add comment 2016-09-08 10:28:30 -07:00
Leonardo de Moura
7d56382baa feat(library/equations_compiler/util): generate equation lemmas for equations using invertible functions 2016-09-07 17:57:10 -07:00
Leonardo de Moura
57f02dd768 test(tests/lean/run/pack_unpack1): add dependent function example 2016-09-07 16:05:05 -07:00
Leonardo de Moura
f7699d8719 fix(library/equations_compiler/elim_match): support dependent functions handling invertible functions 2016-09-07 16:04:08 -07:00
Leonardo de Moura
159653f253 feat(frontends/lean/definition_cmds): bytecode generation failure should generate warning 2016-09-07 16:03:25 -07:00
Leonardo de Moura
dd574f6a60 feat(library/error_handling): add display_warning 2016-09-07 16:03:07 -07:00
Leonardo de Moura
2f7a1a3579 feat(library/equations_compiler/elim_match): add support for invertible functions 2016-09-07 08:53:56 -07:00
Leonardo de Moura
9c8e9e07ae refactor(library): injectivity ==> inverse 2016-09-07 08:16:14 -07:00
Leonardo de Moura
75155c3824 fix(library/tactic/cases_tactic): missing normalization 2016-09-06 18:46:14 -07:00
Leonardo de Moura
f3d2a9f1e4 feat(library/tactic/induction_tactic): improve error messages 2016-09-06 18:39:42 -07:00
Leonardo de Moura
89ccecc287 chore(library/exception): fix bad message 2016-09-06 18:38:39 -07:00
Leonardo de Moura
5e654b37d9 chore(library/injectivity): fix style 2016-09-06 18:03:16 -07:00
Leonardo de Moura
983d15e486 chore(library/init/quot): remove unnecessary universe constraint 2016-09-06 18:01:26 -07:00
Leonardo de Moura
f954ddbdbf feat(library/injectivity): add injectivity attribute 2016-09-06 18:01:09 -07:00
Leonardo de Moura
bedb508a8f feat(library/equations_compiler): do not generate bytecode for lemmas 2016-09-06 15:14:47 -07:00
Leonardo de Moura
c9cee9a702 feat(library/equations_compiler): add flag indicating whether we are compiling a lemma or not 2016-09-06 15:09:54 -07:00
Leonardo de Moura
385a28a410 chore(library/equations_compiler/util): use nested_exception 2016-09-06 13:37:10 -07:00
Leonardo de Moura
01107f7aae feat(library/equations_compiler): generate bytecode for auxiliary definitions 2016-09-06 13:29:12 -07:00
Leonardo de Moura
31de40ff4d refactor(frontends/lean): rename attribute [constructor] ==> [elab_with_expected_type] 2016-09-06 13:12:51 -07:00
Leonardo de Moura
ff9500d7f9 feat(library/exception): add nested_exception 2016-09-06 12:57:06 -07:00
Leonardo de Moura
d8caecff49 refactor(library/exception): avoid throw_generic_exception functions 2016-09-06 12:37:56 -07:00
Leonardo de Moura
a0b8766ffb refactor(library): merge exception modules 2016-09-06 09:12:26 -07:00
Leonardo de Moura
f354b6e430 chore(library/generic_exception): we will keep using generic_exception 2016-09-06 09:03:52 -07:00
Leonardo de Moura
95487f9985 feat(library/aux_definition): add mk_aux_lemma 2016-09-06 08:57:04 -07:00
Leonardo de Moura
d5aae42b7c feat(frontends/lean): use new elaborator to elaborate examples when set_option new_elaborator true 2016-09-05 09:52:01 -07:00
Leonardo de Moura
2a912c2650 feat(frontends/lean, library): move constructor attribute to frontend
Now, it only affects the elaborator.
2016-09-05 09:34:45 -07:00
Leonardo de Moura
1cbeb071b6 chore(library/unifier): do not use normalizer in the old unifier
Remark: the old unifier will be deleted soon.
2016-09-05 08:59:15 -07:00
Leonardo de Moura
81a30a69d2 refactor(library/normalize): remove unfold and unfold_full attributes 2016-09-05 08:40:58 -07:00
Leonardo de Moura
41a958fdf4 chore(library/tactic/simplifier/util): warning in release mode 2016-09-05 08:20:59 -07:00
Leonardo de Moura
10d26679f6 feat(frontends/lean/definition_cmds): improve error message 2016-09-05 08:16:35 -07:00
Leonardo de Moura
89e852446a feat(library/init/id_locked): add auxiliary definition id_locked 2016-09-04 18:39:34 -07:00
Leonardo de Moura
7747c83915 doc(library/init/meta/declaration): document reducibility_hints 2016-09-04 18:29:24 -07:00
Leonardo de Moura
d6d68cd70a feat(library/vm): expose reducibility_hints 2016-09-04 18:09:10 -07:00
Leonardo de Moura
e8397681a5 fix(library/tactic/induction_tactic): normalize type in the induction tactic 2016-09-04 17:36:26 -07:00
Leonardo de Moura
120bffce25 chore(library/equations_compiler/elim_match): add cases/induction tactic error message to trace 2016-09-04 17:33:26 -07:00
Leonardo de Moura
6c80f7b75c feat(library/tactic/cases_tactic): normalize type 2016-09-04 17:18:50 -07:00
Leonardo de Moura
2354341c58 test(tests/lean/run): add test for equation compiler 2016-09-04 16:46:11 -07:00
Leonardo de Moura
0b2c3659cf perf(library/compiler/nat_value): replace all numerals with nat_value_macro
Reason: Later we try to type check the compiler intermediate results.
If only some of the numerals are converted, we may spend a lot of time
making sure the two different representations are equivalent.
2016-09-04 16:42:40 -07:00
Leonardo de Moura
f7df7dc9a7 refactor(kernel): add reducibility_hints 2016-09-04 16:30:02 -07:00
Leonardo de Moura
7c535a53d6 chore(*): fix warnings messages 2016-09-04 09:20:19 -07:00
Leonardo de Moura
a74f02546b refactor(*): remove abbreviation command 2016-09-03 17:11:29 -07:00
Leonardo de Moura
9a17d567ec refactor(library/init/datatypes): remove notation nobody uses 2016-09-03 16:59:55 -07:00
Leonardo de Moura
696b190a8d feat(library/type_context): mimic behavior of the kernel type_checker 2016-09-03 16:43:33 -07:00
Leonardo de Moura
dfc897eda6 refactor(library/init): avoid nat cases_on/rec_on hack 2016-09-03 16:22:20 -07:00
Leonardo de Moura
01a2c32d38 fix(library/old_default_converter): avoid underflow 2016-09-03 16:21:34 -07:00
Leonardo de Moura
80607c8895 perf(kernel/type_checker): use definitional height again at is_def_eq 2016-09-03 16:18:39 -07:00
Leonardo de Moura
567d6824f4 chore(library/compiler/preprocess): mark assertions as conditional
is_def_eq may take a very long time after the transformations are applied.
2016-09-03 16:15:22 -07:00
Leonardo de Moura
a862c6e89f refactor(library/init/meta/declaration): def will be a keyword 2016-09-03 15:02:27 -07:00