Commit graph

9606 commits

Author SHA1 Message Date
Leonardo de Moura
e6212469f0 feat(library/type_context): add helper functions for pretty printing 2016-08-18 15:36:01 -07:00
Leonardo de Moura
160632564d fix(frontends/lean/elaborator): prevent unintended copy of type_context 2016-08-18 14:31:18 -07:00
Leonardo de Moura
475b75f661 feat(library/equations_compiler/elim_match): refactor 'program' structure 2016-08-18 14:17:49 -07:00
Sebastian Ullrich
ca8be3857c feat(library/user_attribute): add user-defined attributes and make attribute_manager environment-aware 2016-08-18 12:56:44 -07:00
Leonardo de Moura
cd77f7167e chore(frontends/lean): run_tactic ==> run_command
add `command` as alias for `tactic unit`
2016-08-18 12:53:21 -07:00
Leonardo de Moura
db7b32cf0d fix(library/init/nat): missing annotations 2016-08-18 11:00:31 -07:00
Leonardo de Moura
ddc3789929 feat(frontends/lean): add run_tactic command
This commit also adds the tactic `add_decl`.
2016-08-18 10:56:18 -07:00
Leonardo de Moura
6a880d51a4 feat(library/init): define nat.mod in the init folder too 2016-08-18 10:51:40 -07:00
Leonardo de Moura
93d395ecc7 feat(library/init): make sure nat.div is defined in the init folder 2016-08-18 10:48:47 -07:00
Leonardo de Moura
b37c96d2ea chore(library/init/nat): remove 'local attribute' hack
It is not needed anymore. All attributes are now global.
2016-08-18 10:44:33 -07:00
Leonardo de Moura
05013fb61d feat(library/equations_compiler): add elim_match skeleton 2016-08-17 21:38:23 -07:00
Leonardo de Moura
7ac58c0715 chore(tests/lean/run): fix tests 2016-08-17 15:46:06 -07:00
Leonardo de Moura
423319398d fix(frontends/lean/structure_cmd): compilation warning 2016-08-17 15:42:20 -07:00
Leonardo de Moura
93d48ae620 feat(frontends/lean/parser): revised pattern validation 2016-08-17 15:42:13 -07:00
Leonardo de Moura
5ffa481634 chore(library): remove dead code 2016-08-17 10:45:54 -07:00
Leonardo de Moura
48786b6afe feat(frontends/lean/decl_cmds): register attributes after bytecode has been generated 2016-08-17 08:46:26 -07:00
Daniel Selsam
a9b01991c2 feat(frontends/lean/inductive_cmd): new frontend for the inductive cmd
Conflicts:
	src/frontends/lean/CMakeLists.txt
	src/frontends/lean/structure_cmd.h
2016-08-17 07:34:03 -07:00
Leonardo de Moura
4e0a30d21e chore(frontends/lean/structure_cmd): remove unnecessary dependency 2016-08-16 14:58:13 -07:00
Leonardo de Moura
e384b5c5f9 refactor(frontends/lean): move structure_instance to separate module 2016-08-16 14:56:09 -07:00
Leonardo de Moura
bfeb119c0c feat(library/equations_compiler/pack_domain): avoid unnecessary 'unit' type when packing 2016-08-16 13:59:47 -07:00
Sebastian Ullrich
e548a6311e chore(frontends/lean/print_cmd): change attribute output to new syntax 2016-08-16 13:49:03 -07:00
Sebastian Ullrich
8bbcbb14cf chore(library, tests): use new attribute chaining syntax
sed -E -i 's/(attribute(\s*(\w|\.)+)* \[[^]]+)\] \[/\1, /' {library,tests}/**/*.lean  # repeat as needed
2016-08-16 13:49:03 -07:00
Sebastian Ullrich
a2659cdaa5 feat(frontends/lean/decl_attributes): add [attr1, attr2] syntax 2016-08-16 13:49:03 -07:00
Sebastian Ullrich
cb6a6b642e refactor(library/attribute_manager): remove attribute tokens and use name for attribute names 2016-08-16 13:49:03 -07:00
Sebastian Ullrich
751f2d8b02 refactor(frontends/lean): delegate all attribute parsing to decl_attributes 2016-08-16 13:49:03 -07:00
Sebastian Ullrich
e15e085126 refactor(frontends/lean/old_attributes, library/tactic/backward/backward_lemmas): merge [intro] and [intro!] attributes 2016-08-16 13:49:03 -07:00
Sebastian Ullrich
88034a513c refactor(library/attribute_manager): typed_attribute: move parsing into attr_data 2016-08-16 13:49:02 -07:00
Sebastian Ullrich
34e00cd5a2 refactor(library/attribute_manger): simplify: make every attribute prioritizable 2016-08-16 13:49:02 -07:00
Leonardo de Moura
7669e18c77 feat(library/equations_compiler): add unbounded_rec 2016-08-16 12:54:54 -07:00
Leonardo de Moura
0f224ff437 fix(library/tactic/subst_tactic): incorrect depends_on 2016-08-16 11:19:06 -07:00
Leonardo de Moura
c9475774f4 feat(library/tactic/tactic_state): add is_def_eq and is_def_eq_core tactics 2016-08-16 11:08:03 -07:00
Leonardo de Moura
095585b61c feat(library/init): new notation for sum types 2016-08-16 10:45:08 -07:00
Leonardo de Moura
9fe8e09f30 feat(init/reserved_notation): product binds to the right 2016-08-16 10:34:32 -07:00
Leonardo de Moura
b0abea78b6 fix(frontends/lean/pp): bug when pretty printing foldr/foldl notation 2016-08-16 10:34:04 -07:00
Leonardo de Moura
100a15cb0d feat(frontends/lean/pp): pretty print equations macro 2016-08-16 10:00:53 -07:00
Leonardo de Moura
532a38befa feat(library/equations_compiler/structural_rec): finish structural recursion step 2016-08-16 08:08:51 -07:00
Leonardo de Moura
8b67480cee feat(library/equations_compiler): add step for handling structural recursion 2016-08-15 18:00:25 -07:00
Leonardo de Moura
9a63936339 refactor(library/equations_compiler): move pack_domain to new module 2016-08-15 08:22:23 -07:00
Leonardo de Moura
12cd8bf33c feat(library/equations_compiler/util): pack_equations_domain does nothing if function is already unary 2016-08-14 17:12:25 -07:00
Leonardo de Moura
7059609f57 feat(library/equations_compiler): equations_compiler stub, add helper equations_editor, add preprocessing
The first preprocessing step packs nary functions into unary using sigma types
2016-08-14 17:02:36 -07:00
Leonardo de Moura
b6472d043e feat(kernel/instantiate): add helper function 2016-08-14 16:16:03 -07:00
Leonardo de Moura
f8e5753a13 feat(library/type_context, library/tactic): add eta-expansion method and tactic 2016-08-14 16:15:12 -07:00
Leonardo de Moura
2354b63099 feat(library/tactic/tactic_state): add whnf_core 2016-08-14 16:02:40 -07:00
Leonardo de Moura
6a82f33c72 feat(library): add replace_visitor_with_tc 2016-08-14 15:45:02 -07:00
Leonardo de Moura
5a0f3ca320 fix(frontends/lean/definition_cmds): user must provide implicit arguments or the function being defined 2016-08-13 22:17:06 -07:00
Leonardo de Moura
323701bef1 feat(frontends/lean/parser): simplify pattern semantics '_' in a pattern is always a anonymous variable 2016-08-13 22:14:40 -07:00
Leonardo de Moura
ed2a63ae89 feat(frontends/lean/elaborator): elaborate equations 2016-08-13 21:37:25 -07:00
Leonardo de Moura
150ad5d292 feat(frontends/lean/elaborator): elaborate convoy idiom 2016-08-13 20:51:42 -07:00
Leonardo de Moura
f7f564a00a feat(frontends/lean/definition_cmds): postprocessing for parameters 2016-08-13 17:41:05 -07:00
Leonardo de Moura
8ff2876074 fix(frontends/lean/definition_cmds): collect implicit args in the type 2016-08-13 16:54:17 -07:00