Leonardo de Moura
|
51719145f9
|
feat(library/unifier): solved universe constraints of the form succ^k1 a = max k2 ?m (when k1 >= k2)
|
2014-11-12 17:28:33 -08:00 |
|
Leonardo de Moura
|
6bc89f0916
|
feat(library/definitional): define ibelow and below
These are helper definitions for brec_on and binduction_on
|
2014-11-12 16:38:46 -08:00 |
|
Leonardo de Moura
|
b07b82cf43
|
fix(library/definitional): marking cases_on and rec_on as reducible
The idea is to avoid counter-intuitive behavior
|
2014-11-12 15:03:30 -08:00 |
|
Leonardo de Moura
|
858538a329
|
refactor(library/definitional): add new to_telescope procedure, and remove code duplication in no_confusion.cpp
|
2014-11-12 13:31:31 -08:00 |
|
Leonardo de Moura
|
b4c37d180b
|
refactor(library/definitional): add some helper functions
|
2014-11-12 12:24:22 -08:00 |
|
Leonardo de Moura
|
e2bfe6ee36
|
refactor(library/definitional/no_confusion): cleanup API
|
2014-11-11 16:12:44 -08:00 |
|
Leonardo de Moura
|
f6889951c6
|
fix(library/definitional/cases_on): bug in inductive datatypes with higher-order recursion
|
2014-11-11 15:14:08 -08:00 |
|
Leonardo de Moura
|
902a551048
|
feat(definitional/brec_on): add 'mk_below' skeleton
|
2014-11-11 14:55:21 -08:00 |
|
Leonardo de Moura
|
5fbf9ee964
|
refactor(library/definitional/util): remove code duplication
|
2014-11-11 13:53:41 -08:00 |
|
Leonardo de Moura
|
1079d6b320
|
refactor(library/definitional): combine auxiliary functions used by definitional package in a single module
|
2014-11-11 13:46:36 -08:00 |
|
Leonardo de Moura
|
b4be96c980
|
feat(library/definitional/util): add is_inductive_predicate auxiliary predicate
|
2014-11-11 13:32:56 -08:00 |
|
Leonardo de Moura
|
4fd1ee7619
|
feat(library/definitional/util): add is_recursive_datatype auxiliary function
|
2014-11-11 12:26:26 -08:00 |
|
Leonardo de Moura
|
363d4a7577
|
fix(library/definitional/no_confusion): assertion violation
|
2014-11-10 10:32:03 -08:00 |
|
Leonardo de Moura
|
e8bc0f8249
|
feat(library/defitional): add no_confusion construction for inductive datatypes that are not propositions
|
2014-11-08 18:56:52 -08:00 |
|
Leonardo de Moura
|
b5da143fc0
|
feat(library/defitional): add no_confusion_type construction for inductive datatypes that are not propositions
|
2014-11-08 15:20:19 -08:00 |
|
Leonardo de Moura
|
edd94c00df
|
fix(library/definitional): add missing files
|
2014-11-03 18:36:25 -08:00 |
|
Leonardo de Moura
|
c306bfa83c
|
feat(frontends/lean/structure_cmd): add 'eta' theorem for structures
|
2014-11-03 18:33:44 -08:00 |
|
Leonardo de Moura
|
c7406d6ce8
|
fix(library/scoped_ext): bug when declaring nested namespaces
|
2014-11-02 15:35:49 -08:00 |
|
Leonardo de Moura
|
df008dc3c3
|
feat(frontends/lean/inductive_cmd): create a namespace for each declared datatype
|
2014-11-01 19:15:46 -07:00 |
|
Leonardo de Moura
|
aaad9a3c43
|
feat(library/definitional/projection): add option for marking main premise as instance implicit (i.e., [] binder decorator)
|
2014-10-31 19:01:32 -07:00 |
|
Leonardo de Moura
|
84b516994c
|
fix(library/tactic): type check generalization result, fixes #273
|
2014-10-29 20:34:01 -07:00 |
|
Leonardo de Moura
|
61f333d2c2
|
chore(library/tactic/expr_to_tactic): fix compilation warning
|
2014-10-29 19:47:47 -07:00 |
|
Leonardo de Moura
|
9547e2d077
|
feat(library/tactic): add rotate_left/rotate_right tactics, closes #278
|
2014-10-29 19:13:55 -07:00 |
|
Leonardo de Moura
|
8e9f97e95e
|
fix(frontends/lean): do not save identifier info
|
2014-10-29 17:38:59 -07:00 |
|
Leonardo de Moura
|
95e843e8ed
|
feat(library/tactic/proof_state): add empty line between goals, closes #281
|
2014-10-29 16:51:06 -07:00 |
|
Leonardo de Moura
|
88d55bfef0
|
fix(library/definitional/projection): remove redundant 'error in'
|
2014-10-29 16:51:06 -07:00 |
|
Leonardo de Moura
|
30571ce418
|
fix(library/definitional/projection): error messages for projection generation
|
2014-10-29 13:39:17 -07:00 |
|
Leonardo de Moura
|
fe4ea48381
|
feat(library/definitional/projection): add projection generator, closes #257
|
2014-10-29 13:13:05 -07:00 |
|
Leonardo de Moura
|
0c185fc4ab
|
fix(library/tactic): add relax_main_opaque flag to proof_state objects, closes #274
|
2014-10-29 08:57:34 -07:00 |
|
Leonardo de Moura
|
e22eb3543c
|
feat(library/tactic): add whnf tactic, closes #270
|
2014-10-28 23:18:49 -07:00 |
|
Leonardo de Moura
|
83e4c0fcec
|
feat(frontends/lean): hide tactic "types"
it is not very useful to display the type of tactics (e.g., apply,
intros, ...)
|
2014-10-28 22:38:10 -07:00 |
|
Leonardo de Moura
|
1c2bbcfebc
|
feat(frontends/lean/info_manager): add separator -- when displaying PROOF_STATE info
This feature was implemented to address issue #259
|
2014-10-28 16:39:21 -07:00 |
|
Leonardo de Moura
|
186e598bf8
|
feat(library/tactic/goal): add option pp.compact_goals
|
2014-10-28 16:30:37 -07:00 |
|
Leonardo de Moura
|
a3801e84d4
|
fix(library/tactic/goal): avoid unnecessary line break when possible
|
2014-10-28 16:17:33 -07:00 |
|
Leonardo de Moura
|
ea739100b3
|
fix(library/unifier): broken optimization in the unifier
See new comments and tests for details.
|
2014-10-28 16:09:41 -07:00 |
|
Leonardo de Moura
|
78bc3ef7e4
|
feat(library/unifier): improve FailLocal/FailCircular failures in the unifier by using normalization
This improvements was marked as TODO, and was preventing us from
elaborating the example in the new test vector3.lean
|
2014-10-27 16:49:29 -07:00 |
|
Leonardo de Moura
|
bca2be56ec
|
feat(library/normalize): add new flavors of normalize procedure
|
2014-10-27 16:25:30 -07:00 |
|
Leonardo de Moura
|
fd60cf6a79
|
feat(library/tactic/exact_tactic): modify 'exact' tactic semantics, use higher-order unification
See new node.inj4 theorem, we need the extra power to be able to avoid type information at
exact (assume e₁ e₂, e₁)
|
2014-10-26 10:27:33 -07:00 |
|
Leonardo de Moura
|
c7f6a6b94e
|
feat(library/definitional/cases_on): automatically add 'cases_on'
|
2014-10-25 17:22:02 -07:00 |
|
Leonardo de Moura
|
c751bdd9e6
|
chore(library/definitional): remove dead code
|
2014-10-25 15:11:48 -07:00 |
|
Leonardo de Moura
|
fa1bf40d0f
|
fix(library/definitional): make sure argument is an inductive datatype
|
2014-10-25 15:09:24 -07:00 |
|
Leonardo de Moura
|
cdcde661ef
|
feat(library/definitional/induction_on): automatically add 'induction_on'
|
2014-10-25 13:37:04 -07:00 |
|
Leonardo de Moura
|
a7a06ab0f8
|
feat(library/definitional/rec_on): automatically generate rec_on function for inductive datatypes
|
2014-10-25 13:08:59 -07:00 |
|
Leonardo de Moura
|
096c67b2e5
|
fix(library/unifier): occurs-check bug
|
2014-10-25 00:16:02 -07:00 |
|
Leonardo de Moura
|
aaad9633fb
|
fix(library/tactic/expr_to_tactic): memory leak
|
2014-10-24 14:40:36 -07:00 |
|
Leonardo de Moura
|
79d0347721
|
feat(library/tactic): add generalize tactic, closes #34
Remark: the intros tactic has been added in a different commit: 7d0100a340
|
2014-10-23 22:40:15 -07:00 |
|
Leonardo de Moura
|
b83b065d00
|
feat(library/tactic/apply_tactic): modify heuristic for adding arguments to apply tactic.
|
2014-10-23 22:36:32 -07:00 |
|
Leonardo de Moura
|
f9aa1a1b84
|
refactor(library/tactic/goal): remove unnecessary parameter
|
2014-10-23 21:22:52 -07:00 |
|
Leonardo de Moura
|
43cfd5c26a
|
fix(library/tactic): add missing file
|
2014-10-23 14:04:12 -07:00 |
|
Leonardo de Moura
|
e750c9b67a
|
feat(frontends/lean): add 'info' tactic for producing PROOF_STATE info for emacs mode
|
2014-10-23 13:18:30 -07:00 |
|