Commit graph

1831 commits

Author SHA1 Message Date
Leonardo de Moura
8e0a3eec3f chore(library/relation_manager): fix bogus style warnings 2015-11-08 14:05:01 -08:00
Leonardo de Moura
0f631889b7 feat(library/app_builder): add helper methods for creating binary relations, and refl/symm/trans proofs 2015-11-08 14:05:00 -08:00
Leonardo de Moura
b5c40e30ef feat(library/app_builder): add set_context 2015-11-08 14:05:00 -08:00
Leonardo de Moura
137ec27059 feat(library/app_builder): add constructor for app_builder that may take subclasses of tmp_type_context
We need this feature because blast has its own version of tmp_type_context.
2015-11-08 14:05:00 -08:00
Leonardo de Moura
ee0974650a feat(library/app_builder): new app_builder on top of type_context
The new version is more robust, and invokes type class resolution if needed.
2015-11-08 14:05:00 -08:00
Leonardo de Moura
87ec7383dd fix(library/tmp_type_context): initialization 2015-11-08 14:05:00 -08:00
Leonardo de Moura
3804281919 refactor(library/app_builder): remove app_builder Lua API 2015-11-08 14:05:00 -08:00
Leonardo de Moura
f8916ed411 feat(library/blast/blast): create tmp_type_context that is compatible with blast 2015-11-08 14:05:00 -08:00
Leonardo de Moura
e01f2ec6a5 feat(library/tmp_type_context): add temporary type_context 2015-11-08 14:05:00 -08:00
Leonardo de Moura
18d9272f22 refactor(library/type_context): revise get_assignment
It is safer to return optional.
2015-11-08 14:05:00 -08:00
Leonardo de Moura
3bc5084bf6 refactor(library/simplifier): disable file
We will eventually delete it.
It will be subsumed by blast.
2015-11-08 14:05:00 -08:00
Leonardo de Moura
27904787fe refactor(library/type_inference): rename type_inference module to type_context 2015-11-08 14:05:00 -08:00
Leonardo de Moura
ab940a2001 feat(frontends/lean/elaborator): add support for partial explicit in the elaborator 2015-11-08 14:05:00 -08:00
Daniel Selsam
6b06a19294 chore(frontends/lean): remove whitespace 2015-11-08 14:05:00 -08:00
Daniel Selsam
fa58d7c71e feat(frontends/lean): basic support for partial explicit 2015-11-08 14:05:00 -08:00
Daniel Selsam
946e00f71a feat(library/explicit): support partial explicit 2015-11-08 14:05:00 -08:00
Leonardo de Moura
914f3b4e34 chore(library/blast/blast): fix style 2015-11-08 14:05:00 -08:00
Leonardo de Moura
0e4f97792e feat(library/blast): add blast::scope_debug auxiliary class for testing blast related procedures 2015-11-08 14:05:00 -08:00
Leonardo de Moura
fd917effad feat(library/blast): use new type_inference module in blast 2015-11-08 14:05:00 -08:00
Leonardo de Moura
52eb787288 refactor(library/type_inference): move (non-temporary) class.* options to type_inference module 2015-11-08 14:05:00 -08:00
Leonardo de Moura
56c15f4fb5 refactor(library/type_inference): move new type class resolution procedure to genere type_inference 2015-11-08 14:05:00 -08:00
Leonardo de Moura
4c573380b2 feat(library/class): add auxiliary methods 2015-11-08 14:05:00 -08:00
Leonardo de Moura
c361fc1f6f fix(frontends/lean/parser): method for parsing decimals
"division" has been renamed to "div"
2015-11-08 14:04:59 -08:00
Leonardo de Moura
6fa4691eb4 feat(library/type_inference): improve process_assignment 2015-11-08 14:04:59 -08:00
Leonardo de Moura
ab1937d46e feat(library/class_instance_resolution): add new (temporary) option class.force_new to force the new type class resolution procedure in HoTT mode 2015-11-08 14:04:59 -08:00
Leonardo de Moura
410c9aef79 chore(library/type_inference): fix style 2015-11-08 14:04:58 -08:00
Leonardo de Moura
6465b16951 fix(library/class_instance_resolution): memory initialization bug in new type class resolution procedure 2015-11-08 14:04:58 -08:00
Leonardo de Moura
95348bc90b fix(library/class_instance_resolution): uninitialized variables 2015-11-08 14:04:58 -08:00
Leonardo de Moura
50186e2db3 feat(library/class_instance_resolution): add old type class resolution procedure back to be able to compile HoTT library 2015-11-08 14:04:58 -08:00
Leonardo de Moura
885393f4de feat(library/type_inference): check types when assigning meta-variables 2015-11-08 14:04:58 -08:00
Leonardo de Moura
766fdd415a feat(library/type_inference): postpone "nontrivial" universe unification constraints 2015-11-08 14:04:58 -08:00
Leonardo de Moura
0bf069f016 feat(library/class_instance_resolution): more liberal type class resolution procedure
This modification is needed for the group_theory folder
2015-11-08 14:04:58 -08:00
Leonardo de Moura
21501ccfa4 fix(library/type_inference): temporary hack for solving universe unification problems
We need a better solution. It turns out the universe constraints are not
as simple as we expected.
2015-11-08 14:04:58 -08:00
Leonardo de Moura
5f43b9b183 feat(library/class_instance_resolution): recursively invoke type class resolution when parameters are instances 2015-11-08 14:04:58 -08:00
Leonardo de Moura
6acf7afa16 fix(library/type_inference): bug when using apply_beta 2015-11-08 14:04:58 -08:00
Leonardo de Moura
8d8e43abfd fix(library/class_instance_resolution): transitive instances in the new type class resolution procedure 2015-11-08 14:04:58 -08:00
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
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
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
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