Leonardo de Moura
|
7e9f574ef3
|
fix(library/tactic/apply_tactic): use internally 'apply' instead of 'fapply' as the default "apply" tactic
This changes improves the 'constructor' tactic
|
2015-04-30 21:58:35 -07:00 |
|
Leonardo de Moura
|
4f7f66de3f
|
test(tests/lean/run): add new test
|
2015-04-30 21:38:33 -07:00 |
|
Leonardo de Moura
|
2d9c950144
|
feat(library/tactic/constructor_tactic): allow 'constructor' tactic without index
see issue #500
|
2015-04-30 21:15:07 -07:00 |
|
Leonardo de Moura
|
15e52b06df
|
fix(library/tactic/constructor_tactic): bug in constructor tactic
see example (constr_tac2.lean) in comment at issue #500
|
2015-04-30 20:18:24 -07:00 |
|
Leonardo de Moura
|
d18f9c7607
|
fix(library/tactic/constructor_tactic): use 1 (instead of 0) to reference the first constructor
see comment at issue #500
|
2015-04-30 20:08:00 -07:00 |
|
Leonardo de Moura
|
0b995c4fe3
|
fix(library/tactic/rewrite_tactic): relax reducibility constraints in some parts of the rewrite tactic
fixes #567
|
2015-04-30 18:22:58 -07:00 |
|
Leonardo de Moura
|
d152f38518
|
feat(library/tactic): add 'constructor', 'split', 'left', 'right' and 'existsi' tactics
see issue #500
|
2015-04-30 17:52:29 -07:00 |
|
Leonardo de Moura
|
125ab8c228
|
fix(tests/lean/interactive/findp): adjust test output
|
2015-04-30 15:45:15 -07:00 |
|
Leonardo de Moura
|
1c6067bac2
|
feat(library/tactic): add 'exfalso' tactic
see issue #500
|
2015-04-30 15:43:07 -07:00 |
|
Leonardo de Moura
|
9c8a63caec
|
feat(library/tactic): add 'contradiction' tactic
see issue #500
Remark: this tactic also applies no_confusion to take care of a contradiction
|
2015-04-30 13:47:40 -07:00 |
|
Leonardo de Moura
|
3233008039
|
feat(library/tactic): allow user to name generalized term in the 'generalize' tactic
closes #421
|
2015-04-30 11:57:40 -07:00 |
|
Leonardo de Moura
|
3912bc24c8
|
feat(frontends/lean): nicer syntax for 'intros' 'reverts' and 'clears'
|
2015-04-30 11:00:39 -07:00 |
|
Leonardo de Moura
|
d6d30f12c6
|
feat(frontends/lean): add "polymorphic" print command
closes #524
|
2015-04-29 16:17:33 -07:00 |
|
Leonardo de Moura
|
1a28a3c36f
|
feat(frontends/lean): add 'print inductive' command
|
2015-04-29 15:22:10 -07:00 |
|
Leonardo de Moura
|
dce7177382
|
feat(library/tactic/change_tactic): improve 'change' tactic
- Better error messages
- Try to solve unification constraints produced during is_def_eq test
addresses comment on issue #531
|
2015-04-29 13:31:09 -07:00 |
|
Leonardo de Moura
|
d055947243
|
feat(library/tactic/rewrite_tactic): ignore implicit argument when matching at rewrite tactic
|
2015-04-29 12:51:33 -07:00 |
|
Leonardo de Moura
|
b790ca9806
|
fix(library/tactic/rewrite_tactic): type check rewriting steps
closes #550
|
2015-04-29 12:16:37 -07:00 |
|
Leonardo de Moura
|
d1cb0018c0
|
fix(tests): adjust tests to reflect changes in the HoTT library
|
2015-04-29 10:15:13 -07:00 |
|
Leonardo de Moura
|
051615712c
|
fix(kernel/quotient/quotient): bug in reduction rule
|
2015-04-29 10:01:17 -07:00 |
|
Leonardo de Moura
|
d2c7b5c319
|
feat(library/tactic): add 'let' tactic
closes #555
|
2015-04-28 17:24:43 -07:00 |
|
Leonardo de Moura
|
1be72f1faa
|
feat(frontends/lean): parse argument of unary tactis with rbp=0, tokens may have a different precedence in expression and tactic modes
|
2015-04-28 13:43:05 -07:00 |
|
Leonardo de Moura
|
a23118d357
|
feat(frontends/lean): add tactic_notation command
This addresses the first part of issue #461
We still need support for tactic definitions
|
2015-04-27 17:46:13 -07:00 |
|
Leonardo de Moura
|
ca8943f45b
|
feat(library,hott): remove rapply tactic
|
2015-04-27 15:06:16 -07:00 |
|
Leonardo de Moura
|
9d01868361
|
feat(frontends/lean): use rewrite tactic to implement unfold (it has a unfold step)
closes #502
|
2015-04-24 17:23:12 -07:00 |
|
Leonardo de Moura
|
28404fe16d
|
fix(library/tactic/rewrite_tactic): second problem reported at issue #548
closes #548
|
2015-04-24 16:49:32 -07:00 |
|
Leonardo de Moura
|
6134c8822a
|
fix(frontends/lean/util): assertion violation
fixes #559
|
2015-04-24 15:09:23 -07:00 |
|
Leonardo de Moura
|
f723550d33
|
feat(frontends/lean/elaborator): decorates error message with free variables introduced by the left-hand-side of the equation
closes #528
|
2015-04-24 14:58:15 -07:00 |
|
Leonardo de Moura
|
8241863abe
|
feat(kernel/hits): add two builtin HITs: type_quotient and trunc
|
2015-04-23 15:32:31 -07:00 |
|
Leonardo de Moura
|
2613e7c444
|
fix(frontends/lean): bug when handling identifiers in tactics
This bug was reported by Jeremy in the Lean Google group:
https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/lean-discuss/ZKJ8WPPEVJA/n05x6rPRzvMJ
|
2015-04-22 16:03:22 -07:00 |
|
Leonardo de Moura
|
e1a609cad9
|
fix(tests/lean/interactive/findp): test output to reflect changes in the stdlib
|
2015-04-22 13:08:56 -07:00 |
|
Leonardo de Moura
|
349cdb3fe7
|
test(tests/lean): add test showing that the binder type update should not change the parameter order
|
2015-04-22 13:04:05 -07:00 |
|
Leonardo de Moura
|
a526cd92ac
|
fix(frontends/lean): bug in pretty printer
this is related to issue #530
|
2015-04-22 12:44:08 -07:00 |
|
Leonardo de Moura
|
dc93603b4a
|
feat(frontends/lean): parameter and variable binder type update
see issue #532
|
2015-04-22 12:28:11 -07:00 |
|
Leonardo de Moura
|
91f21c007a
|
feat(frontends/lean): remove 'context' command
|
2015-04-22 11:32:02 -07:00 |
|
Leonardo de Moura
|
53653c3526
|
fix(frontends/lean): pretty printing in sections with parameters
fix #530
|
2015-04-21 22:44:09 -07:00 |
|
Leonardo de Moura
|
8e9997e253
|
chore(tests/lean/interactive/sec_info_bug): remove 'context' command from test
|
2015-04-21 19:52:01 -07:00 |
|
Leonardo de Moura
|
fe9f4dd95f
|
fix(frontends/lean): another bug in sections with parameters
|
2015-04-21 19:50:21 -07:00 |
|
Leonardo de Moura
|
3df99e514b
|
fix(frontends/lean): problems with sections
|
2015-04-21 19:46:57 -07:00 |
|
Leonardo de Moura
|
9fb7aa9f1c
|
chore(tests): remove most occurrences of 'context' command from the test suite
|
2015-04-21 19:33:21 -07:00 |
|
Leonardo de Moura
|
ce153d01f9
|
test(tests/lean/sec_notation2): notation nested in namespace/section/section
|
2015-04-21 19:07:52 -07:00 |
|
Leonardo de Moura
|
52e9ad1a98
|
feat(frontends/lean): allow persistent notation declaration in sections (when they do not contain parameters)
see issue #554
|
2015-04-21 19:04:06 -07:00 |
|
Leonardo de Moura
|
bf8a7eb9b4
|
fix(library/scoped_ext): bug in local metadata in sections
The problem is described in issue #554
|
2015-04-21 18:56:28 -07:00 |
|
Leonardo de Moura
|
697a536d9e
|
fix(library/tactic/inversion_tactic): type incorrect term being built by 'cases' tactic
fixes #545
|
2015-04-20 19:24:52 -07:00 |
|
Leonardo de Moura
|
107763a506
|
fix(frontends/lean): better error message for 'proof ... qed' blocks containing unsolved placeholders
|
2015-04-20 15:50:37 -07:00 |
|
Leonardo de Moura
|
6f6d106a10
|
feat(library/tactic): add "check_expr" tactic
closes #486
|
2015-04-19 19:00:05 -07:00 |
|
Leonardo de Moura
|
60e320fd79
|
feat(frontends/lean): protected constants and axioms
fixes #527
|
2015-04-19 17:45:58 -07:00 |
|
Leonardo de Moura
|
b7ca2a0ec9
|
fix(library/tactic/exact_tactic): exact and or_else
fixes #543
|
2015-04-19 17:23:09 -07:00 |
|
Leonardo de Moura
|
306087b5d3
|
refactor(library/data): rename 'countable' to 'encodable', define countable in the usual way, and prove all 'encodable' type is 'countable'
|
2015-04-19 14:20:47 -07:00 |
|
Leonardo de Moura
|
cc63a40a01
|
feat(library): enforce name conventions on old nat declarations
|
2015-04-18 10:50:30 -07:00 |
|
Leonardo de Moura
|
3e5796acb2
|
fix(tests/lean/abbrev1): to reflect recent changes
|
2015-04-18 10:40:46 -07:00 |
|
Leonardo de Moura
|
f16eaf8f0f
|
test(tests/lean/run/pickle1): add unpickle/pickle test
|
2015-04-14 21:32:07 -07:00 |
|
Leonardo de Moura
|
795acc70a6
|
refactor(library/data/finset): move finset to its own directory
|
2015-04-09 19:30:09 -07:00 |
|
Leonardo de Moura
|
4416d9b2c5
|
test(tests/lean/run): add basic tests for finset module
|
2015-04-09 15:56:41 -07:00 |
|
Leonardo de Moura
|
24f1454c0a
|
fix(tests/lean/interactive/findp): adjust test output to reflect recent changes in the pretty printer
|
2015-04-08 09:49:22 -07:00 |
|
Leonardo de Moura
|
5d95cb0979
|
feat(library/tactic): add 'refine' tactic
closes #482
|
2015-04-06 18:36:56 -07:00 |
|
Leonardo de Moura
|
412f03b08b
|
feat(library/tactic/exact_tactic): generate error if 'exact' tactic produces a term containing metavariables
|
2015-04-06 13:38:53 -07:00 |
|
Leonardo de Moura
|
754276a660
|
feat(frontends/lean): round parenthesis for [tactic1 | tactic2]
This commit also replaces the notation for divides
`(` a `|` b `)`
with
a `∣` b
The character `∣` is entered by typing \|
closes #516
|
2015-04-06 09:24:09 -07:00 |
|
Leonardo de Moura
|
969d17fd12
|
fix(frontends/lean/elaborator): class inference in tactic mode with trunc
closes #477
|
2015-04-05 17:47:14 -07:00 |
|
Leonardo de Moura
|
bebe8a4f17
|
fix(tests/lean/bad_coercions): expected output
|
2015-04-05 03:00:29 -07:00 |
|
Leonardo de Moura
|
d731a4ab13
|
feat(library/normalize): add '[unfold-f]' hint
closes #497
|
2015-04-05 03:00:13 -07:00 |
|
Leonardo de Moura
|
d591c63840
|
feat(frontends/lean/decl_cmds): allow local coercions in contexts
closes #525
|
2015-04-04 15:25:07 -07:00 |
|
Leonardo de Moura
|
8c59f17605
|
feat(frontends/lean): 'using' expression without 'show' or 'have'
closes #536
|
2015-04-04 15:25:07 -07:00 |
|
Leonardo de Moura
|
4ec0e1b07c
|
feat(frontends/lean): improve calc mode
Now, it automatically supports transitivity of the form
(R a b) -> (b = c) -> R a c
(a = b) -> (R b c) -> R a c
closes #507
|
2015-04-04 08:58:35 -07:00 |
|
Leonardo de Moura
|
1150b19598
|
perf(frontends/lean/elaborator): do not invoke recursive equation compiler when equations still contain metavariables
|
2015-04-02 23:37:33 -07:00 |
|
Leonardo de Moura
|
f8023403af
|
test(tests/lean/run): add another simple test
|
2015-04-01 15:49:01 -07:00 |
|
Leonardo de Moura
|
bf142f3f18
|
fix(tests/lean): adjust tests to reflect changes in the standard library
|
2015-04-01 15:09:00 -07:00 |
|
Leonardo de Moura
|
0d66d19ba3
|
feat(tests/lean/run/finset): show that if A has decidable equality, then (finset A) also has it.
|
2015-04-01 13:19:16 -07:00 |
|
Leonardo de Moura
|
b960e123b1
|
feat(kernel): add experimental support for quotient types
|
2015-03-31 22:04:16 -07:00 |
|
Leonardo de Moura
|
82833bcbe8
|
fix(tests/lean/struct_class): add setoid to expected output
|
2015-03-31 22:03:57 -07:00 |
|
Leonardo de Moura
|
8c76419c60
|
fix(frontends/lean/decl_cmds): error localization problem for recursive equations
|
2015-03-30 13:30:29 -07:00 |
|
Leonardo de Moura
|
ec1a60b02c
|
feat(library/init/logic): add helper function for proving decidable equality
|
2015-03-30 02:14:26 -07:00 |
|
Soonho Kong
|
8243ed6339
|
fix(test*.sh): allow spaces in filename
fix #515
|
2015-03-28 23:29:52 -04:00 |
|
Leonardo de Moura
|
75621df52b
|
feat(frontends/lean): uniform notation for lists in tactics
closes #504
|
2015-03-27 17:54:48 -07:00 |
|
Leonardo de Moura
|
242f8ba048
|
feat(frontends/lean/elaborator): include number of unsolved goals
See #509
|
2015-03-27 14:54:41 -07:00 |
|
Leonardo de Moura
|
0c3fd7427e
|
feat(frontends/lean): add syntax-sugar for fold
closes #503
|
2015-03-25 18:25:48 -07:00 |
|
Leonardo de Moura
|
f2b1752807
|
fix(frontends/lean/parser): add workaround for #461
|
2015-03-25 18:09:43 -07:00 |
|
Leonardo de Moura
|
b9e3c474c9
|
feat(library/tactic): add all_goals tactic
closes #501
|
2015-03-25 17:42:34 -07:00 |
|
Leonardo de Moura
|
49bc56ec07
|
feat(frontends/lean/pp): improve pretty printer for prefix and postfix notation
closes #491
|
2015-03-25 16:45:58 -07:00 |
|
Leonardo de Moura
|
a1f933886f
|
fix(frontends/lean/structure_cmd): explicit universe levels for structures
closes #490
|
2015-03-25 16:10:30 -07:00 |
|
Leonardo de Moura
|
33d2e8d9d3
|
test(tests/lean/run): workaround for issue #505
|
2015-03-25 15:53:50 -07:00 |
|
Leonardo de Moura
|
5f1d827b26
|
fix(frontends/lean/decl_cmds): assertion violation
closes #506
|
2015-03-25 13:46:23 -07:00 |
|
Leonardo de Moura
|
ac30052a29
|
fix(library/tactic/rewrite_tactic): apply substitution before trying to rewrite
closes #487
|
2015-03-23 18:32:52 -07:00 |
|
Leonardo de Moura
|
5bf46d1226
|
fix(library/tactic/inversion_tactic): improve 'cases' tactic for HoTT mode
closes #481
|
2015-03-23 18:06:11 -07:00 |
|
Leonardo de Moura
|
76157ba392
|
fix(frontends/lean/pp): abbreviations with too much arguments
closes #480
|
2015-03-23 12:16:25 -07:00 |
|
Leonardo de Moura
|
0814e76298
|
fix(library/tactic/clear_tactic): unexpected failure
This commit also improves the error message produced by the 'clear' tactic.
fixes #488
|
2015-03-23 12:08:15 -07:00 |
|
Leonardo de Moura
|
35f2a61b4d
|
fix(tests/lean): add missing file
|
2015-03-23 11:35:39 -07:00 |
|
Leonardo de Moura
|
b5acbb2228
|
fix(frontends/lean/pp): missing parenthesis around abbreviations
fixes #476
|
2015-03-16 17:12:03 -07:00 |
|
Leonardo de Moura
|
fc3a7bac59
|
feat(frontends/lean): improve error handling inside match-with expressions
|
2015-03-13 23:25:46 -07:00 |
|
Leonardo de Moura
|
bed0d6df6b
|
fix(frontends/lean/elaborator): inaccessible over coercion
|
2015-03-13 23:04:45 -07:00 |
|
Leonardo de Moura
|
cfeb426cd7
|
fix(frontends/lean): pretty print numeral notation from algebra
|
2015-03-13 18:58:34 -07:00 |
|
Leonardo de Moura
|
362a0ec04c
|
test(tests/lean): tests for error handling improvements
|
2015-03-13 15:32:25 -07:00 |
|
Leonardo de Moura
|
b88b98ac22
|
feat(frontends/lean): try to add definition/theorem as axiom when it fails to be processed
The idea is to avoid a "tsunami" of error messages when a heavily used
theorem breaks in the beginning of the file
|
2015-03-13 14:47:21 -07:00 |
|
Leonardo de Moura
|
f5811d6092
|
feat(frontends/lean): hide subterms that do not contain metavariables
when generating "unresolved metavariables" error message
closes #473
|
2015-03-13 12:42:57 -07:00 |
|
Leonardo de Moura
|
cda19f5aa6
|
feat(library/tactic/rewrite_tactic): improve rewrite tactic error messages
closes #471
|
2015-03-12 20:49:53 -07:00 |
|
Leonardo de Moura
|
7accd0f1e6
|
feat(library/tactic/rewrite_tactic): allow rewrite with terms that contains binders
see discussion at #470
|
2015-03-12 18:07:55 -07:00 |
|
Leonardo de Moura
|
3e4d849a4a
|
refactor(kernel/metavar.h): simplify API
|
2015-03-12 12:50:53 -07:00 |
|
Leonardo de Moura
|
6a78ae7b46
|
fix(library/tactic/class_instance_synth): enforce consistent behavior in type class resolution
Auxiliary procedure mk_class_instance was not discarding partial solutions.
This procedure is used by the apply and inversion (aka cases) tactics
|
2015-03-12 10:27:05 -07:00 |
|
Leonardo de Moura
|
47a350d888
|
fix(library/tactic/inversion_tactic): missing condition for applying optimization
|
2015-03-12 09:11:36 -07:00 |
|
Leonardo de Moura
|
7de3d5771d
|
feat(library/tactic/rewrite_tactic): add eta-reduction support at esimp
closes #469
|
2015-03-12 00:32:31 -07:00 |
|
Leonardo de Moura
|
b5fb7c734e
|
feat(library/tactic/inversion_tactic): remove hypothesis being destructed
addresses second issue in #468
|
2015-03-11 20:42:50 -07:00 |
|