Commit graph

9591 commits

Author SHA1 Message Date
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
Leonardo de Moura
2de3d40910 feat(frontends/lean/definition_cmds): invoke compiler 2016-08-13 16:45:32 -07:00
Leonardo de Moura
0312b84273 feat(frontends/lean/definition_cmds): check noncomputable annotation 2016-08-13 16:33:02 -07:00
Leonardo de Moura
940382c3bc feat(frontends/lean/definition_cmds): add support for 'sorry' 2016-08-13 16:25:29 -07:00
Leonardo de Moura
9e3bf4bd8d fix(frontends/lean/elaborator): improve error message for eliminator elaborator 2016-08-13 15:43:44 -07:00
Leonardo de Moura
7d9cf74007 feat(frontends/lean/definition_cmds): basic xdefinition_cmd_core 2016-08-13 15:08:32 -07:00
Leonardo de Moura
2dc9c364e6 feat(library/locals): add helper function 2016-08-13 13:35:14 -07:00
Leonardo de Moura
cc5a59a61b feat(frontends/lean/decl_util): do not add constant being defined to scope
It should only be added if recursive equations are being used or
in inductive datatype declarations.
2016-08-13 13:34:11 -07:00
Leonardo de Moura
527ce72d2f feat(frontends/lean/elaborator): add elaborate_with_type 2016-08-13 13:33:37 -07:00
Leonardo de Moura
917888a19c feat(library/equations_compiler/equations): add extra data to equations macro 2016-08-13 12:40:02 -07:00
Leonardo de Moura
1983c94fb9 feat(emacs/lean-syntax): highlight mutual definitions, and attributes after definition keywords 2016-08-12 20:37:34 -07:00
Leonardo de Moura
8423f99043 feat(emacs/lean-syntax): highlight arbitrary attributes 2016-08-12 20:16:13 -07:00
Leonardo de Moura
24bc999c77 feat(frontends/lean): add mutual_meta_definition 2016-08-12 20:00:10 -07:00
Sebastian Ullrich
f0b3bd3c85 chore(frontends/lean/decl_cmds): disable old attribute declaration syntax 2016-08-12 15:36:12 -07:00
Sebastian Ullrich
fd2c42a8bf chore(library, tests): switch to new attribute declaration syntax
sed -Ei 's/^(\s*)((private |protected )?(noncomputable )?(abbreviation|definition|meta_definition|theorem|lemma|proposition|corollary)\s+\S+\s*)((\s*\[(\S+(\s+[0-9]+)*|priority.*)\])+)\s*/\1attribute \6\n\1\2/' library/**/*.lean tests/**/*.lean
sed -Ei 's/\s+$//' library/**/*.lean  # remove trailing whitespace
2016-08-12 15:36:12 -07:00
Sebastian Ullrich
47e104311c feat(frontentds/lean/decl_attributes): implement attribute [...] definition ... syntax 2016-08-12 15:36:12 -07:00