lean4-htt/src/frontends/lean
Leonardo de Moura f8d472c9f1 feat(frontends/lean/parse_rewrite_tactic): change the semantics of rewrite[↑f] when f is recursive
After this commit it behaves like 'unfold f'.
That is, it will unfold f even if it fails to fold recursive
applications. Now, only 'esimp[f]' will not unfold f-applications when
it cannot fold the recursive applications.

This commit also closes #692. It is part of a series of commits that
addresses this issue.

closes #692
2015-07-12 13:20:21 -04:00
..
begin_end_ext.cpp
begin_end_ext.h
builtin_cmds.cpp feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]' 2015-07-07 16:37:06 -07:00
builtin_cmds.h
builtin_exprs.cpp feat(frontends/lean): 'override' command and '#<namespace> <expr>' notation also override aliases 2015-06-14 15:48:36 -07:00
builtin_exprs.h
builtin_tactics.cpp feat(library/tactic/rewrite_tactic): add xrewrite and krewrite tactic variants 2015-05-27 16:32:43 -07:00
builtin_tactics.h
calc.cpp refactor(library/relation_manager): cleanup and add API for declaring a relation that may not be reflexive, symmetric nor transitive 2015-07-07 15:58:24 -07:00
calc.h refactor(library/relation_manager): cleanup and add API for declaring a relation that may not be reflexive, symmetric nor transitive 2015-07-07 15:58:24 -07:00
calc_proof_elaborator.cpp refactor(library/relation_manager): cleanup and add API for declaring a relation that may not be reflexive, symmetric nor transitive 2015-07-07 15:58:24 -07:00
calc_proof_elaborator.h
CMakeLists.txt feat(frontends/lean): allow the user to mark subterms that should be automatically abstracted into new definitions 2015-06-12 17:49:26 -07:00
cmd_table.h
coercion_elaborator.cpp refactor(library/coercion): simplify coercion module API 2015-07-01 14:40:12 -07:00
coercion_elaborator.h feat(frontends/lean): add option for disabling "coercion lifting" 2015-05-30 17:07:42 -07:00
decl_attributes.cpp feat(library/normalize,frontends/lean): allow multiple arguments in [unfold] hint 2015-07-07 18:01:57 -07:00
decl_attributes.h feat(library/normalize,frontends/lean): allow multiple arguments in [unfold] hint 2015-07-07 18:01:57 -07:00
decl_cmds.cpp feat(frontends/lean): remove unnecessary flag 2015-06-17 17:23:20 -07:00
decl_cmds.h feat(frontends/lean/elaborator): hide auxiliary 'match' hypothesis during elaboration 2015-05-25 15:24:56 -07:00
dependencies.cpp
dependencies.h
elaborator.cpp fix(frontends/lean/elaborator): fixes #724 2015-07-06 15:19:19 -07:00
elaborator.h fix(frontends/lean/elaborator): fixes #687 2015-06-28 19:58:57 -07:00
elaborator_context.cpp feat(frontends/lean): add option for disabling "coercion lifting" 2015-05-30 17:07:42 -07:00
elaborator_context.h feat(frontends/lean): add option for disabling "coercion lifting" 2015-05-30 17:07:42 -07:00
elaborator_exception.cpp
elaborator_exception.h
find_cmd.cpp
find_cmd.h
inductive_cmd.cpp feat(datatypes): let the type of unit be the lowest non-Prop universe 2015-06-25 17:33:46 -07:00
inductive_cmd.h
info_annotation.cpp
info_annotation.h
info_manager.cpp
info_manager.h chore(*): fix 'breif' typos 2015-06-08 16:54:55 -07:00
info_tactic.cpp
info_tactic.h
init_module.cpp feat(frontends/lean): allow the user to mark subterms that should be automatically abstracted into new definitions 2015-06-12 17:49:26 -07:00
init_module.h
local_decls.h fix(frontends/lean): fixes #652 2015-06-03 21:53:51 -07:00
local_ref_info.cpp fix(frontends/lean/pp): fixes #634 2015-05-29 14:07:38 -07:00
local_ref_info.h fix(frontends/lean/pp): fixes #634 2015-05-29 14:07:38 -07:00
migrate_cmd.cpp feat(frontends/lean/migrate_cmd): ignore derived transitive instances in the migrate command 2015-06-30 14:00:41 -07:00
migrate_cmd.h
nested_declaration.cpp fix(frontends/lean/nested_declaration): compilation error in debug mode 2015-06-13 13:10:10 -07:00
nested_declaration.h feat(frontends/lean): allow the user to mark subterms that should be automatically abstracted into new definitions 2015-06-12 17:49:26 -07:00
notation_cmd.cpp fix(frontends/lean/notation_cmd): workaround incorrect warning produced by clang++ on OSX 2015-07-07 21:01:48 -07:00
notation_cmd.h
obtain_expr.cpp
obtain_expr.h
parse_rewrite_tactic.cpp feat(frontends/lean/parse_rewrite_tactic): change the semantics of rewrite[↑f] when f is recursive 2015-07-12 13:20:21 -04:00
parse_rewrite_tactic.h feat(library/tactic/rewrite_tactic): add xrewrite and krewrite tactic variants 2015-05-27 16:32:43 -07:00
parse_table.cpp feat(frontends/lean): allow user to assign priorities to notation declarations 2015-06-30 17:10:27 -07:00
parse_table.h feat(frontends/lean): allow user to assign priorities to notation declarations 2015-06-30 17:10:27 -07:00
parse_tactic_location.cpp
parse_tactic_location.h
parser.cpp fix(src/frontends/lean/parser): add extra annotations to workaround with clang 6.0.0 2015-07-06 16:39:47 -07:00
parser.h feat(frontends/lean): allow user to assign priorities to notation declarations 2015-06-30 17:10:27 -07:00
parser_bindings.cpp
parser_bindings.h
parser_config.cpp feat(frontends/lean): allow user to assign priorities to notation declarations 2015-06-30 17:10:27 -07:00
parser_config.h feat(frontends/lean): allow user to assign priorities to notation declarations 2015-06-30 17:10:27 -07:00
parser_pos_provider.cpp
parser_pos_provider.h
pp.cpp fix(frontends/lean/pp): make pp_have more robust 2015-06-10 16:26:20 -07:00
pp.h fix(frontends/lean/pp): fixes #634 2015-05-29 14:07:38 -07:00
register_module.cpp
register_module.h
scanner.cpp fix(frontends/lean): memory access violation 2015-06-14 15:37:45 -07:00
scanner.h fix(frontends/lean): memory access violation 2015-06-14 15:37:45 -07:00
server.cpp refactor(*): clarify name_generator ownership 2015-05-21 14:32:36 -07:00
server.h
structure_cmd.cpp feat(library/normalize,frontends/lean): allow multiple arguments in [unfold] hint 2015-07-07 18:01:57 -07:00
structure_cmd.h fix(frontends/lean/builtin_cmds): fixes #630 2015-05-26 22:19:42 -07:00
tactic_hint.cpp
tactic_hint.h
theorem_queue.cpp refactor(frontends/lean): add postprocess procedure and cleanup 2015-06-10 15:19:35 -07:00
theorem_queue.h feat(frontends/lean): add 'wait' command 2015-05-08 20:05:21 -07:00
token_table.cpp feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]' 2015-07-07 16:37:06 -07:00
token_table.h
tokens.cpp feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]' 2015-07-07 16:37:06 -07:00
tokens.h feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]' 2015-07-07 16:37:06 -07:00
tokens.txt feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]' 2015-07-07 16:37:06 -07:00
type_util.cpp
type_util.h
update_environment_exception.h
util.cpp refactor(frontends/lean): move parse_priority to util 2015-06-30 16:22:52 -07:00
util.h refactor(frontends/lean): move parse_priority to util 2015-06-30 16:22:52 -07:00