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
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
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
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
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
Leonardo de Moura
029766495b
feat(library/equations_compiler/util): try to improve performance of lemma generation
...
There are still performance problems. Lemma generation is fine, but the
kernel is timing out when checking the lemma. We need to provide hints
to the kernel to avoid the performance problem.
2016-09-03 13:24:44 -07:00
Leonardo de Moura
cfbffb41ef
feat(library/equations_compiler): prove equation lemmas that use if-then-else
2016-09-03 13:23:09 -07:00
Leonardo de Moura
4d7c233684
feat(library/equations_compiler/elim_match): use if-then-else when next pattern for every equation is a variable or value
2016-09-03 13:22:25 -07:00
Leonardo de Moura
a60f4e2699
fix(library/type_context): index out of bounds
2016-09-03 13:21:54 -07:00
Leonardo de Moura
4875741a37
feat(library/app_builder): add mk_ite
2016-09-02 17:04:01 -07:00
Leonardo de Moura
6dcf0725d7
fix(library/equations_compiler): erase inaccessible annotations
2016-09-02 14:11:03 -07:00
Leonardo de Moura
13f0d4e09a
refactor(library/equations_compiler): new equation lemma generation
...
The idea is to generate a lemma based on the left-hand-side provided by
the user. This feature is essential for supporting the derived inductive
datatype constructors.
2016-09-02 14:04:09 -07:00
Leonardo de Moura
7724fbed93
fix(library/equations_compiler/elim_match): do not use constructor transition for below arguments
2016-09-02 12:51:39 -07:00
Leonardo de Moura
b3d78208be
fix(library/equations_compiler/elim_match): typo
2016-09-02 12:39:21 -07:00
Leonardo de Moura
3e4d8d0f75
fix(library/equations_compiler/elim_match): dead variable
2016-09-02 12:39:05 -07:00
Leonardo de Moura
bf096eb292
chore(library/equations_compiler/structural_rec): "lemmas" ==> "equations"
2016-09-02 11:17:38 -07:00
Leonardo de Moura
691b200244
feat(library/equations_compiler/util): add [eqn_sanitizer] attribute for defeq lemmas that should be automatically applied
2016-09-02 11:06:31 -07:00
Leonardo de Moura
0afef31be6
feat(library/tactic/defeq_simplifier): reimplement defeq simp lemma cache
2016-09-02 09:10:09 -07:00
Leonardo de Moura
0ec22bb2cf
refactor(library/type_context): new type class instance cache
2016-09-01 17:37:30 -07:00
Leonardo de Moura
ef9f9f1de0
fix(library/type_context): make sure local instances are not reset at set_env
2016-09-01 15:12:32 -07:00
Leonardo de Moura
a38264439f
fix(library/attribute_manager): get_instances returns deleted instances
2016-09-01 14:48:03 -07:00
Leonardo de Moura
39dc336310
feat(library/tactic/user_attribute): add set_basic_attribute and unset_attribute tactics
2016-09-01 14:17:05 -07:00
Leonardo de Moura
ff05f16caa
fix(library/type_context): store instance fingerprint
2016-09-01 09:01:43 -07:00
Leonardo de Moura
cc6d764c6c
refactor(library/tactic/defeq_simplifier): use new type_context
2016-08-31 17:52:47 -07:00
Leonardo de Moura
3384139d38
chore(library/tactic/defeq_simplifier): improve error messages
2016-08-31 17:52:36 -07:00
Leonardo de Moura
54fd9adb47
feat(library/equations_compiler): use defeq simplifier to cleanup types of automatically synthesized lemmas
2016-08-31 15:54:03 -07:00