Commit graph

7367 commits

Author SHA1 Message Date
Leonardo de Moura
a1d200e1c6 feat(library/class_instance_resolution): add support for nested type
class resolution
2015-11-08 14:04:58 -08:00
Leonardo de Moura
ac01e9e352 refactor(library/data/int/basic): cleanup proof 2015-11-08 14:04:58 -08:00
Leonardo de Moura
bceac9ece5 refactor(library/data/nat/sub): cleanup nasty proofs 2015-11-08 14:04:58 -08:00
Leonardo de Moura
c2ed5d3f1f fix(library/algebra/category/constructions): make proof more robust 2015-11-08 14:04:58 -08:00
Leonardo de Moura
e9b92adf29 feat(library/type_inference,library/class_instance_resolution): add on_is_def_eq_failure "event handler" 2015-11-08 14:04:57 -08:00
Leonardo de Moura
21bd30d51a fix(library/class_instance_resolution): bug in mk_choice_point 2015-11-08 14:04:57 -08:00
Leonardo de Moura
0446c43ebf refactor(library/class_instance_resolution): use new generic type_inference module to implement type class resolution 2015-11-08 14:04:57 -08:00
Leonardo de Moura
73543f1279 fix(library/norm_num): use new type-class resolution procedure at norm_num 2015-11-08 14:04:57 -08:00
Leonardo de Moura
f371182a6c feat(library/type_inference): generic and cheap type inference, unification, whnf 2015-11-08 14:04:57 -08:00
Leonardo de Moura
a7655b7d43 feat(library/class_instance_resolution): reset internal indices 2015-11-08 14:04:57 -08:00
Leonardo de Moura
1f01e5480d fix(library/class_instance_resolution): remove reset_cache_and_ctx used for debugging purposes 2015-11-08 14:04:57 -08:00
Leonardo de Moura
2edccf007b fix(library/class_instance_resolution): make sure that terms synthesized by type class resolution have override the ones synthesized by solving unification constraints. 2015-11-08 14:04:57 -08:00
Leonardo de Moura
b71a68c606 fix(frontends/lean/elaborator): visit_prenum was creating unnecessary universe metavariable
This was creating problems for the new type class resolution procedure
since visit_prenum was also not creating any constraint that enforced
the universe level of A to be equal to the superfluous universe level.
2015-11-08 14:04:57 -08:00
Leonardo de Moura
65d7c05737 fix(library/algebra/complete_lattice): avoid looping instances 2015-11-08 14:04:57 -08:00
Leonardo de Moura
4787cf179e fix(library/class_instance_resolution): skip (instance) meta-variables that have been assigned by solving unification constraints 2015-11-08 14:04:57 -08:00
Leonardo de Moura
eb2236f036 feat(library/class_instance_resolution): bug in mk_choice 2015-11-08 14:04:57 -08:00
Leonardo de Moura
9348701a5b fix(library/logic/examples/instances_test): we do not support the set_option class.conservative false anymore 2015-11-08 14:04:57 -08:00
Leonardo de Moura
97407eb178 fix(library/class_instance_resolution): add hack for mk_subsingleton_instance API
The comment in the source code explains why the hack is needed
2015-11-08 14:04:57 -08:00
Leonardo de Moura
1b92a8333e fix(library/class_instance_resolution): better is_def_eq for universe levels at new type class resolution procedure 2015-11-08 14:04:57 -08:00
Leonardo de Moura
6b4a891adb fix(library/class_instance_resolution): bug when creating auxiliary meta-variables at try_instance 2015-11-08 14:04:57 -08:00
Leonardo de Moura
919d55b799 fix(library/class_instance_resolution): position information in the type class trace 2015-11-08 14:04:57 -08:00
Leonardo de Moura
088b0fb795 fix(library/class_instance_resolution): relax has_expr_metavar test at mk_choice 2015-11-08 14:04:57 -08:00
Leonardo de Moura
5f90ff0f07 fix(library/class_instance_resolution): incorrect assertion 2015-11-08 14:04:57 -08:00
Leonardo de Moura
443aca6280 chore(library/class_instance_resolution,library/init_module): fix style 2015-11-08 14:04:57 -08:00
Leonardo de Moura
abcfe0d805 feat(library/class_instance_resolution): add support for attribute [multiple-instances] in the new type class resolution procedure 2015-11-08 14:04:57 -08:00
Leonardo de Moura
2c177d595c fix(library/class_instance_resolution): bug in cache validation 2015-11-08 14:04:57 -08:00
Leonardo de Moura
343ede3fbe fix(library/class_instance_resolution): trace option for new type class resolution procedure 2015-11-08 14:04:57 -08:00
Leonardo de Moura
98943f7832 fix(library/class_instance_resolution): initialization bug and ignore universe metavariables not instantiated by unifier 2015-11-08 14:04:57 -08:00
Leonardo de Moura
6a36bffe4b fix(library/class_instance_resolution): bugs in new type class resolution procedure 2015-11-08 14:04:57 -08:00
Leonardo de Moura
bf17440f31 feat(library/class_instance_resolution): throw exception is maximum depth is reached 2015-11-08 14:04:57 -08:00
Leonardo de Moura
f5819fab60 feat(library/class_instance_resolution): new type class resolution procedure 2015-11-08 14:04:57 -08:00
Leonardo de Moura
c69bbd4eb7 chore(library/norm_num,library/tactic/norm_num_tactic): fix style 2015-11-08 14:04:57 -08:00
Leonardo de Moura
bda0b038b0 fix(library/norm_num): include 'constants.h' instead of 'constants.cpp'
By including 'constants.cpp' we get compilation errors in some
platforms (e.g., 'g_one has been defined in multiple files...')

The module constants(.h/cpp) does not expose global variables such as g_one.
We have to use the procedures get_one_name() instead.
2015-11-08 14:04:56 -08:00
Rob Lewis
ce1cbcc205 feat(library/norm_num): give better error message when norm_num fails 2015-11-08 14:04:56 -08:00
Rob Lewis
eb0b688da8 style(library/norm_num): remove debug code 2015-11-08 14:04:56 -08:00
Rob Lewis
958add9ef8 feat(library/norm_num): fix numeral normalization to work on new numeral structure; add support for multiplication 2015-11-08 14:04:56 -08:00
Leonardo de Moura
f4ce2bcbfe fix(library/CMakeLists): build 2015-11-08 14:04:56 -08:00
Leonardo de Moura
3b6eae1907 feat(library): start new type class resolution procedure 2015-11-08 14:04:56 -08:00
Leonardo de Moura
ee924e4842 fix(library/blast/infer_type): typos 2015-11-08 14:04:56 -08:00
Leonardo de Moura
13ccbaa0d9 refactor(library/data/encodable): mark auxiliary theorems as private 2015-11-08 14:04:56 -08:00
Leonardo de Moura
f14d0523ec refactor(library/data/set/filter): add missing [instance] attribute 2015-11-08 14:04:56 -08:00
Leonardo de Moura
08c061e1fa refactor(library/data/set): remove [reducible] annotation from set operations 2015-11-08 14:04:56 -08:00
Leonardo de Moura
4f394bd979 feat(library/meng_paulson): minor improvement 2015-11-08 14:04:56 -08:00
Leonardo de Moura
5b6b8257d8 chore(library/meng_paulson): fix style 2015-11-08 14:04:56 -08:00
Leonardo de Moura
b7e79dea29 fix(frontends/lean/parser): bug in parse_double 2015-11-08 14:04:56 -08:00
Leonardo de Moura
ee347772d7 feat(library/meng_paulson): ignore class and class-instances when computing set of relevant theorems 2015-11-08 14:04:56 -08:00
Leonardo de Moura
023ec1ba76 feat(library): add Meng&Paulson heuristic for selecting theorems 2015-11-08 14:04:56 -08:00
Leonardo de Moura
d64b410bbd feat(library): add declaration statistics 2015-11-08 14:04:56 -08:00
Leonardo de Moura
6df31d3406 refactor(library/data/nat/basic): mark some theorems as protected to avoid overloading 2015-11-08 14:04:56 -08:00
Rob Lewis
0aaa8a9770 feat(theories/analysis/real_limit): fix analysis.real_limit 2015-11-08 14:04:56 -08:00