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
Daniel Selsam
39683fd1de
fix(simplifier): was calling is_def_eq on open term
2016-09-08 19:28:05 -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
Leonardo de Moura
b12fa5c8da
feat(frontends/lean): add support for 'suffices'-expression in the new elaborator
2016-09-08 17:26:27 -07:00
Leonardo de Moura
96fa8856bc
feat(library/equations_compiler): add mk_nonrec
2016-09-08 14:09:05 -07:00
Leonardo de Moura
dcc314c109
feat(library/noncomputable): improve is_noncomputable
2016-09-08 14:02:23 -07:00
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
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
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
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
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
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