Leonardo de Moura
|
17df85f592
|
feat(frontends/lean/calc_proof_elaborator): add '{...}' if needed in calc proof steps
This is part of #268
|
2014-10-31 00:55:19 -07:00 |
|
Leonardo de Moura
|
591e566472
|
feat(frontends/lean): try to inject symmetry (if needed) in calc proofs, add calc_symm command for configuring the symmetry theorem for a given operator
This is part of #268
|
2014-10-30 23:24:09 -07:00 |
|
Leonardo de Moura
|
c5a62f8abb
|
feat(frontends/lean): insert ! in calculational proofs when needed
This is part of #268
|
2014-10-30 22:22:04 -07:00 |
|
Leonardo de Moura
|
b87764eaf6
|
test(tests/lean): add unique class instance resolution test
|
2014-10-30 14:50:32 -07:00 |
|
Leonardo de Moura
|
64c3ba7b74
|
feat(frontends/lean): display metavariable application arguments in check command
The idea is to "fix" counter-intuitive output like the ones were
produced in the tests check.lean and check2.lean
|
2014-10-30 13:28:25 -07:00 |
|
Leonardo de Moura
|
dcd7e53fa7
|
feat(frontends/lean/builtin_cmds): remove workaround for getting nice metavariable names in the check command
We don't need it anymore after previous commit 2a16050
|
2014-10-30 13:12:45 -07:00 |
|
Leonardo de Moura
|
2a160508c3
|
feat(frontends/lean): lean --server should display meta-variables using the approach used in check command, closes #280
|
2014-10-30 12:45:41 -07:00 |
|
Leonardo de Moura
|
a1ea087f8e
|
fix(frontends/lean/info_manager): std::set insert is a noop if set already contains an equivalent element
|
2014-10-30 10:35:45 -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
|
6107da05db
|
fix(frontends/lean): universe variable is treated as parameter inside section, fixes #283
|
2014-10-29 19:47:14 -07:00 |
|
Leonardo de Moura
|
d7ded15486
|
fix(tests/lean/interactive): modify to reflect recent changes
|
2014-10-29 19:44:53 -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
|
a98b12f067
|
fix(frontends/lean/elaborator): incorrect error position in begin-end block, fixes #276
|
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
|
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
|
eeb6c72508
|
feat(frontends/lean): modify begin-end semantics, closes #258
|
2014-10-28 22:15:38 -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
|
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
|
777aa63660
|
fix(kernel/inductive): relax eliminator generation rules for empty types
This commit also removes the workaround false.rec_type. It is not needed anymore
|
2014-10-28 10:31:00 -07:00 |
|
Leonardo de Moura
|
60f32fa709
|
fix(frontends/lean): begin-end automatic tactic notation bug, fixes #262
|
2014-10-27 17:12:25 -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
|
7516fcad97
|
feat(kernel/type_checker): add is_stuck method, and improve ensure_pi method, closes #261
|
2014-10-27 13:16:50 -07:00 |
|
Leonardo de Moura
|
49941ce35b
|
test(tests/lean/run/sigma_no_confusion): define 'no_confusion' for sigma types
|
2014-10-27 07:26:01 -07:00 |
|
Leonardo de Moura
|
d66e5a6c41
|
fix(frontends/lean/builtin_cmds): bug (name clashing) in 'check' command new meta-variable naming
|
2014-10-26 19:19:45 -07:00 |
|
Leonardo de Moura
|
81dc201bab
|
fix(frontends/lean/elaborator): nested begin-end bug
|
2014-10-26 18:23:30 -07:00 |
|
Leonardo de Moura
|
a544d32fcf
|
fix(frontends/lean/elaborator): missing information when displaying unsolved placeholders
|
2014-10-26 16:11:58 -07:00 |
|
Leonardo de Moura
|
cc6a96e8ba
|
fix(frontends/lean): improve begin-end construct
|
2014-10-26 15:47:29 -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
|
8e6de93394
|
fix(frontends/lean/parser): add two kinds of no_undef_id behavior: to (global) constant; to local constant
|
2014-10-26 09:47:11 -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
|
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
|
7a033ac07e
|
feat(frontends/lean): add 'print axioms' command, close #251
|
2014-10-24 14:35:03 -07:00 |
|
Leonardo de Moura
|
db25f933b0
|
feat(frontends/lean): use nice names for meta-variables when executing check c and c is a constant
|
2014-10-24 08:23:26 -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
|
f027acb5cb
|
fix(frontends/lean): missing type info in expressions nested in tactics
|
2014-10-23 18:31:05 -07:00 |
|
Leonardo de Moura
|
212ae0b61c
|
feat(frontends/lean): automatically add 'info' tactic in begin-end blocks
Actually, the tactic is only added when Lean is in collect-info mode.
|
2014-10-23 13:30:04 -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 |
|
Leonardo de Moura
|
38a9aa2a98
|
feat(frontends/lean): automatically open 'tactic' namespace (if it is not already open) in 'by' and 'begin-end' expressions
|
2014-10-23 10:26:19 -07:00 |
|
Leonardo de Moura
|
00f9a10e82
|
refactor(library/tactic/unfold_tactic): use new 'tactic.expr' to implement 'unfold' tactic
This change also enabled us to remove hacks used in the tests modified
by this commit.
|
2014-10-23 10:26:19 -07:00 |
|
Leonardo de Moura
|
5a553603d1
|
fix(library/general_notation): mark \tr as left associative
|
2014-10-22 22:18:40 -07:00 |
|
Leonardo de Moura
|
c50227ea6e
|
feat(library/tactic): change apply tactic semantics: goals are not reversed; and dependent arguments are not included
This commit also adds the tactic rapply that corresponds to the previous
semantics we have been using.
|
2014-10-22 18:11:09 -07:00 |
|
Leonardo de Moura
|
e95c7c5f70
|
refactor(library/tactic/rename_tactic): use new 'tactic.expr' to implement 'intro/intros' tactic
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-10-22 17:29:50 -07:00 |
|
Leonardo de Moura
|
5e15ac0c92
|
feat(library/tactic): add new approach for embedding non-elaborated expressions into tactics
|
2014-10-22 17:29:50 -07:00 |
|
Leonardo de Moura
|
323715e951
|
refactor(library/tactic): move 'tracing' tactics to separate module
|
2014-10-22 14:12:45 -07:00 |
|