lean4-htt/src/library/inductive_compiler
Leonardo de Moura e4b3dee526 feat(library/simplify): use custom matcher in the simplifier, and remove hack from type_context
@joehendrix This commit is implementing the matcher that postpones
implicit arguments. The lemma get_data_mk_byte can be proved without
using any hacks in the type_context unifier.

I also added the trace class: simplify.implicit_failure
If we use the command

   set_option trace.simplify.implicit_failure true

Then, the simplifier will generate a diagnostic message every time it
succeeds in the explicit part, but fails in the implicit one.

Please feel free to suggest a better name to his option.

BTW, we can now easily extend the matcher with additional features.
I'm wondering if we will eventually want to write some of these
extensions in Lean.
2017-02-08 22:24:13 -08:00
..
add_decl.cpp fix(inductive_compiler): generate has_sizeof for structures 2016-10-05 15:10:21 -07:00
add_decl.h feat(frontends/lean): force user to use meta keyword on meta inductive/structure/class 2016-09-29 17:56:35 -07:00
basic.cpp chore(library): poly_unit ==> punit 2017-01-30 11:54:00 -08:00
basic.h feat(frontends/lean): force user to use meta keyword on meta inductive/structure/class 2016-09-29 17:56:35 -07:00
CMakeLists.txt feat(src/library/inductive_compiler): support for nested inductive types 2016-09-16 12:50:59 -07:00
compiler.cpp feat(frontends/lean): force user to use meta keyword on meta inductive/structure/class 2016-09-29 17:56:35 -07:00
compiler.h feat(frontends/lean): force user to use meta keyword on meta inductive/structure/class 2016-09-29 17:56:35 -07:00
ginductive.cpp fix(library/inductive_compiler/ginductive): constructors of mutually inductive datatypes were not being registered 2017-02-04 18:51:17 -08:00
ginductive.h feat(src/library/inductive_compiler): support for nested inductive types 2016-09-16 12:50:59 -07:00
ginductive_decl.cpp feat(src/library/inductive_compiler): support for nested inductive types 2016-09-16 12:50:59 -07:00
ginductive_decl.h feat(src/library/inductive_compiler): support for nested inductive types 2016-09-16 12:50:59 -07:00
init_module.cpp feat(src/library/inductive_compiler): support for nested inductive types 2016-09-16 12:50:59 -07:00
init_module.h
mutual.cpp chore(library): poly_unit ==> punit 2017-01-30 11:54:00 -08:00
mutual.h feat(frontends/lean): force user to use meta keyword on meta inductive/structure/class 2016-09-29 17:56:35 -07:00
nested.cpp feat(library/simplify): use custom matcher in the simplifier, and remove hack from type_context 2017-02-08 22:24:13 -08:00
nested.h feat(frontends/lean): force user to use meta keyword on meta inductive/structure/class 2016-09-29 17:56:35 -07:00
util.cpp fix(library/inductive_compiler/util): allow untrusted/meta declarations when checking intermediate steps 2016-11-13 12:32:49 -08:00
util.h feat(src/library/inductive_compiler): support for nested inductive types 2016-09-16 12:50:59 -07:00