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