Leonardo de Moura
d6d68cd70a
feat(library/vm): expose reducibility_hints
2016-09-04 18:09:10 -07:00
Leonardo de Moura
e8397681a5
fix(library/tactic/induction_tactic): normalize type in the induction tactic
2016-09-04 17:36:26 -07:00
Leonardo de Moura
6c80f7b75c
feat(library/tactic/cases_tactic): normalize type
2016-09-04 17:18:50 -07:00
Leonardo de Moura
2354341c58
test(tests/lean/run): add test for equation compiler
2016-09-04 16:46:11 -07:00
Leonardo de Moura
a74f02546b
refactor(*): remove abbreviation command
2016-09-03 17:11:29 -07:00
Leonardo de Moura
696b190a8d
feat(library/type_context): mimic behavior of the kernel type_checker
2016-09-03 16:43:33 -07:00
Leonardo de Moura
80607c8895
perf(kernel/type_checker): use definitional height again at is_def_eq
2016-09-03 16:18:39 -07:00
Leonardo de Moura
a862c6e89f
refactor(library/init/meta/declaration): def will be a keyword
2016-09-03 15:02:27 -07:00
Leonardo de Moura
4d7c233684
feat(library/equations_compiler/elim_match): use if-then-else when next pattern for every equation is a variable or value
2016-09-03 13:22:25 -07:00
Leonardo de Moura
13f0d4e09a
refactor(library/equations_compiler): new equation lemma generation
...
The idea is to generate a lemma based on the left-hand-side provided by
the user. This feature is essential for supporting the derived inductive
datatype constructors.
2016-09-02 14:04:09 -07:00
Leonardo de Moura
bf096eb292
chore(library/equations_compiler/structural_rec): "lemmas" ==> "equations"
2016-09-02 11:17:38 -07:00
Leonardo de Moura
691b200244
feat(library/equations_compiler/util): add [eqn_sanitizer] attribute for defeq lemmas that should be automatically applied
2016-09-02 11:06:31 -07:00
Leonardo de Moura
5e4aabf62d
feat(library/init/datatypes): add default has_sizeof instance
...
Motivation: make sure sizeof is defined for every type
2016-09-02 10:32:37 -07:00
Leonardo de Moura
02316c39b8
feat(frontends/lean/elaborator): throw an error if a local instance is declared in the middle of a declaration
2016-09-01 18:06:38 -07:00
Leonardo de Moura
9a2c95f35a
test(tests/lean): add test for unset_attribute tactic
2016-09-01 14:50:03 -07:00
Leonardo de Moura
a38264439f
fix(library/attribute_manager): get_instances returns deleted instances
2016-09-01 14:48:03 -07:00
Leonardo de Moura
39dc336310
feat(library/tactic/user_attribute): add set_basic_attribute and unset_attribute tactics
2016-09-01 14:17:05 -07:00
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