Commit graph

3310 commits

Author SHA1 Message Date
Leonardo de Moura
546f65b542 refactor(init/datatypes, init/logic): define sizeof instances and simp lemmas 2016-09-01 10:33:50 -07:00
Leonardo de Moura
4131b4168c refactor(library/init): define sizeof at init/datatypes 2016-09-01 09:47:46 -07:00
Leonardo de Moura
ff05f16caa fix(library/type_context): store instance fingerprint 2016-09-01 09:01:43 -07:00
Leonardo de Moura
54fd9adb47 feat(library/equations_compiler): use defeq simplifier to cleanup types of automatically synthesized lemmas 2016-08-31 15:54:03 -07:00
Leonardo de Moura
51a338d9a1 fix(library/equations_compiler/structural_rec): support for reflexive inductive datatypes 2016-08-31 10:46:32 -07:00
Leonardo de Moura
a8690205c9 feat(library/type_context): improve on_is_def_eq_failure for stuck terms 2016-08-30 10:51:40 -07:00
Leonardo de Moura
bd99de9bf8 fix(frontends/lean/pp): remove unnecessary parenthesis when pretty printing (A -> (Pi (b : B), C b)) 2016-08-29 16:36:04 -07:00
Leonardo de Moura
230db1bc92 feat(library/equations_compiler/structural_rec): generate brec_on-based function
We still need to generate lemmas and induction principle.
2016-08-29 15:58:13 -07:00
Leonardo de Moura
71916acbf0 test(tests/lean): another test for bad annotations 2016-08-28 14:54:35 -07:00
Leonardo de Moura
204d950a5f test(tests/lean/run/def13): add map-like test for dependent patter matching 2016-08-28 14:45:39 -07:00
Leonardo de Moura
f0f9880ece refactor(library/equations_compiler/elim_match,library/tactic/cases_tactic):
new design for elim_match

I still need to fix lemma generation, and refactor induction/subst tactics
2016-08-28 13:15:10 -07:00
Leonardo de Moura
f52be8c96f fix(tests/lean/bad_inaccessible): expected output 2016-08-28 08:34:39 -07:00
Leonardo de Moura
16a99436b4 fix(frontends/lean/elaborator): make sure all inductive datatype parameters in constructor applications are marked as inaccessible 2016-08-28 07:58:18 -07:00
Leonardo de Moura
0ed61c97c9 test(tests/lean/inaccessible2): add more invalid pattern tests 2016-08-28 07:57:55 -07:00
Leonardo de Moura
ae63821cdb fix(frontends/lean/elaborator): reject inaccessible annotation inside inaccessible annotation 2016-08-28 07:57:44 -07:00
Leonardo de Moura
95e8228e8a refactor(library/tactic/cases_tactic): improve low-level API 2016-08-25 16:34:40 -07:00
Leonardo de Moura
98aefca014 fix(library/local_context): depends_on should take into account assigned metavariables 2016-08-25 13:49:54 -07:00
Leonardo de Moura
7851b9c097 fix(frontends/lean/definition_cmds): parameter handling 2016-08-23 21:13:54 -07:00
Sebastian Ullrich
cee5bfd983 feat(frontends/lean/decl_attributes): disallow persistent attribute removal 2016-08-23 14:09:35 -07:00
Sebastian Ullrich
abd040589f feat(frontends/lean/decl_attributes, library/attribute_manager): implement attribute removal 2016-08-23 14:09:35 -07:00
Leonardo de Moura
e18500dcd4 feat(frontends/lean/parser): _ is an anonymous variable again in patterns. 2016-08-23 14:06:24 -07:00
Leonardo de Moura
e4fd627ae2 feat(library/attribute_manager): fingerprints
The fingerprint changes whenever a new attribute is added.
2016-08-23 08:20:37 -07:00
Leonardo de Moura
a4577901e8 fix(library/user_recursors): add support for automatically generated recursors 2016-08-21 17:17:48 -07:00
Leonardo de Moura
6aa2ab6538 chore(tests/lean/run/match2): missing test 2016-08-21 15:55:56 -07:00
Daniel Selsam
4f8db64e23 refactor(simplifier): many fixes, extensions, and tests
fix(simplifier): missing simp rule in prop simplifier
fix(library/unfold_macros): do not look for untrusted macros when using sufficient trust level
2016-08-19 14:57:03 -07:00
Leonardo de Moura
7e4f15b0d8 feat(frontends/lean/elaborator): more inaccessible term validation 2016-08-19 14:52:11 -07:00
Leonardo de Moura
e99eb6d47e feat(frontends/lean): revising inaccessible terms syntax again :( 2016-08-19 13:57:12 -07:00
Leonardo de Moura
e68fbbc12c chore(library/equations_compiler/elim_match): fix style and test output 2016-08-18 18:09:36 -07:00
Leonardo de Moura
22b8cb2777 fix(library/type_context): whnf cache bug 2016-08-18 18:04:19 -07:00
Leonardo de Moura
bd67c9cd9f fix(tests/lean/user_attribute): test output 2016-08-18 15:55:55 -07:00
Sebastian Ullrich
21e8c23ed7 feat(library/vm/user_attribute): use command instead of attribute for registering 2016-08-18 15:51:41 -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
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
7ac58c0715 chore(tests/lean/run): fix tests 2016-08-17 15:46:06 -07:00
Leonardo de Moura
93d48ae620 feat(frontends/lean/parser): revised pattern validation 2016-08-17 15:42:13 -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
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
cb6a6b642e refactor(library/attribute_manager): remove attribute tokens and use name for attribute names 2016-08-16 13:49:03 -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
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
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
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
9e3bf4bd8d fix(frontends/lean/elaborator): improve error message for eliminator elaborator 2016-08-13 15:43:44 -07:00