Leonardo de Moura
|
39019b6873
|
refactor(library/blast/simplifier): use app_builder mk_congr, mk_congr_arg and mk_congr_fun
|
2015-11-08 14:05:03 -08:00 |
|
Leonardo de Moura
|
1374f8cba1
|
fix(library/blast/simplifier): compilation warnings
|
2015-11-08 14:05:03 -08:00 |
|
Leonardo de Moura
|
b8857b078b
|
feat(library/blast): add get_app_builder to blast API
|
2015-11-08 14:05:03 -08:00 |
|
Leonardo de Moura
|
1d1f043192
|
refactor(library/app_builder): throw exception instead of returning none_expr
|
2015-11-08 14:05:03 -08:00 |
|
Daniel Selsam
|
0061d595d0
|
feat(library/blast/simplifier): use generated congruence lemmas
|
2015-11-08 14:05:03 -08:00 |
|
Daniel Selsam
|
b2368ba81b
|
style(library/blast/simplifier): whitespace
|
2015-11-08 14:05:03 -08:00 |
|
Daniel Selsam
|
f1d5cc5d5b
|
test(library/blast/simplifier): add asserts
|
2015-11-08 14:05:03 -08:00 |
|
Leonardo de Moura
|
afc7a2af84
|
feat(library/blast): expose mk_congr_lemma_for_simp and get_fun_info
|
2015-11-08 14:05:03 -08:00 |
|
Leonardo de Moura
|
f74e8288bd
|
refactor(library/congr_lemma_manager): API
|
2015-11-08 14:05:03 -08:00 |
|
Leonardo de Moura
|
f19fcf255a
|
chore(library/constants.cpp): regenerate automatically generated file
|
2015-11-08 14:05:03 -08:00 |
|
Daniel Selsam
|
f3caeb77cd
|
style(library/blast/simplifier): whitespace
|
2015-11-08 14:05:03 -08:00 |
|
Daniel Selsam
|
6c2c82f47c
|
feat(library/blast/simplifier): conditional rewriting
|
2015-11-08 14:05:03 -08:00 |
|
Daniel Selsam
|
d4e410162b
|
feat(library/blast/simplifier): expand macros
|
2015-11-08 14:05:02 -08:00 |
|
Daniel Selsam
|
b727d5810a
|
feat(library/blast/simplifier): rewrite with tmp locals
|
2015-11-08 14:05:02 -08:00 |
|
Daniel Selsam
|
3f331a261a
|
fix(library/blast/simplifier): stack of caches for local context
|
2015-11-08 14:05:02 -08:00 |
|
Daniel Selsam
|
b81aa35221
|
feat(library/blast/simplifier): more informative tracing
|
2015-11-08 14:05:02 -08:00 |
|
Daniel Selsam
|
0ad41173bb
|
fix(library/blast/simplifier): caches for each relation
|
2015-11-08 14:05:02 -08:00 |
|
Daniel Selsam
|
a304f6a9df
|
fix(library/blast/simplifier): loop rewrite rules
|
2015-11-08 14:05:02 -08:00 |
|
Daniel Selsam
|
a73e4e30a3
|
feat(library/blast/simplifier): use new blast_tmp_type_context constructor
|
2015-11-08 14:05:02 -08:00 |
|
Daniel Selsam
|
8e5e8e6540
|
feat(library/blast/simplifier): basic infrastructure
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
78a9116a23
|
chore(library/congr_lemma_manager): fix style
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
77c0866599
|
feat(library/congr_lemma_manager): fallback to simple congruence theorem if needed
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
0eb0a679e8
|
feat(library/congr_lemma_manager): add support for complex lemmas
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
ba477a0e98
|
feat(library/congr_lemma_manager): handle simple congruence lemmas
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
3dc8f72c32
|
feat(frontends/lean/builtin_cmds): display congr lemma arg mask
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
df94864809
|
fix(library/congr_lemma_manager): use abstract_local
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
8a7321714a
|
feat(library/congr_lemma_manager): add mk_congr_simp that takes the number of expected arguments
Use sorry to be able to test first part
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
5a48a2cebe
|
feat(library/app_builder): add mk_sorry method
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
c16423194c
|
feat(library/fun_info_manager): add method for getting information about function prefix
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
559c5a26a3
|
fix(library/congr_lemma_manager): take resulting type into account when computing congruence lemma
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
b89b4cb5f0
|
fix(library/fun_info_manager): bug tracking dependecies
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
7d588636a1
|
feat(library/fun_info_manager): collect additional information
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
22dcf6825e
|
feat(library/congr_lemma_manager): add congr_lemma_manager skeleton and compute type of congruence lemma
proof is still missing
|
2015-11-08 14:05:02 -08:00 |
|
Leonardo de Moura
|
01bde866d6
|
feat(library/util): add auxiliary recognizers
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
2d04156959
|
fix(library/app_builder): bug in eq_drec
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
34d5882b9a
|
refactor(library/util): rename old is_eq_rec
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
6519e570f3
|
feat(library/fun_info_manager): safer "replace" function
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
78b1d4279b
|
fix(library/blast/state): compilation problems in debug mode
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
7e7919950d
|
fix(library/type_context): compilation warning
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
8d9d84f33c
|
refactor(library/blast): we don't require maximally shared terms anymore in blast
This commit also removes the blast::mk_* expr and level functions.
They were just noops.
I kept only mk_uref, mk_href and mk_mref
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
45c02cb65c
|
feat(library/blast/blast): add extra constructor
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
980eb95e0c
|
fix(library/type_context,library/blast/blast): blast uses multiple type_context objects, this commit makes sure all of them use the same local name generator
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
749d468440
|
feat(library): add fun_info_manager
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
e23523bb02
|
feat(library/type_context): add mk_subsingleton_instance
|
2015-11-08 14:05:01 -08:00 |
|
Daniel Selsam
|
a104b478f3
|
feat(library/type_context): make expand_macro public
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
f84f024b92
|
refactor(library/app_builder): change app_builder constructor
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
98b79373cc
|
feat(library/blast/blast): add blast::internalize
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
43efc11f36
|
feat(library/blast/blast): automatically clear tmp_type_context at recycling time
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
3517a3dfa9
|
feat(library/blast): add blast_tmp_type_context
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
b2c9f2f6c5
|
feat(library/type_context): document our approach for managing meta-variables in type_context
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
aa697206e8
|
refactor(library/type_context): rename set_context to set_local_instances
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
fb7efa9337
|
feat(library/type_context): new tmp local_constant policy
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
333ba83087
|
feat(library/type_context): add mk_tmp_local that allows us to specify the pretty printing name
We also modify the type inference procedure to preserve the binder names.
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
01259a2d1c
|
feat(library/app_builder): add helper functions for creating eq.rec applications
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
5b71025b07
|
fix(library/blast/blast): temporary type_context for blast must handle external meta-variables.
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
f21102a725
|
feat(frontends/lean): add test commands for new app_builder features
|
2015-11-08 14:05:01 -08:00 |
|
Leonardo de Moura
|
1c2c2a6077
|
feat(library/app_builder): mk_app with mask
|
2015-11-08 14:05:01 -08:00 |
|
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 |
|