Leonardo de Moura
|
26c662accd
|
feat(frontends/lean/builtin_exprs): improve new 'obtain' expression
|
2015-05-06 09:56:57 -07:00 |
|
Leonardo de Moura
|
84deddcca9
|
feat(library/tactic/rewrite_tactic): apply 'reflexivity' tactic after 'rewrite' instead of hard coded solution
|
2015-05-05 20:23:49 -07:00 |
|
Leonardo de Moura
|
c7a20644c0
|
fix(library/tactic/rewrite_tactic): bug in rewrite tactic (HoTT mode)
closes #580
|
2015-05-05 19:25:15 -07:00 |
|
Leonardo de Moura
|
a4efefb6ff
|
feat(library/tactic/rewrite_tactic): display type error message when
rewrite tactic fails
|
2015-05-05 19:23:41 -07:00 |
|
Leonardo de Moura
|
9bb8c5c98a
|
test(tests/lean/hott): test 'obtain' in the HoTT library
|
2015-05-05 18:57:09 -07:00 |
|
Leonardo de Moura
|
7cd444882c
|
feat(frontends/lean): add 'begin+' and 'by+' that enter tactic mode with the whole context visible
|
2015-05-05 18:47:25 -07:00 |
|
Leonardo de Moura
|
5d515a06f7
|
test(tests/lean/run): add test showing that "proof ... qed" can access the whole context
|
2015-05-05 18:32:47 -07:00 |
|
Leonardo de Moura
|
616f49c2e4
|
feat(frontends/lean): improved 'obtains' expression
|
2015-05-05 18:30:16 -07:00 |
|
Leonardo de Moura
|
741fca1e7b
|
feat(hott/init/path): mark 'idp' and 'idpath' with '[unfold-m]' hint
closes #496
|
2015-05-04 14:29:22 -07:00 |
|
Leonardo de Moura
|
6571c47353
|
feat(library/normalize): add '[unfold-m]' hint
See issue #496
|
2015-05-04 14:23:04 -07:00 |
|
Leonardo de Moura
|
b347f4868b
|
test(tests/lean/eq_class_error): save "workaround" for cryptic error message
|
2015-05-03 21:08:09 -07:00 |
|
Leonardo de Moura
|
87aaf373f4
|
fix(frontends/lean): fix '#' override notation on the left-hand-side of recursive equations (and match-expressions)
|
2015-05-03 21:08:09 -07:00 |
|
Leonardo de Moura
|
326048df54
|
feat(library/tactic/inversion_tactic): clear variables that have been eliminated by cases tactic
see discussion at:
https://groups.google.com/forum/#!topic/lean-discuss/oyzgIqdMyNc
|
2015-05-02 19:33:59 -07:00 |
|
Leonardo de Moura
|
441f1f9fe2
|
feat(frontends/lean): import error message for "unknown" tactics when parsing
|
2015-05-02 18:57:58 -07:00 |
|
Leonardo de Moura
|
118189eaac
|
fix(frontends/lean/elaborator): bug in translation function
This commit fixes the bug reported in the lean discussion list:
https://groups.google.com/forum/#!topic/lean-discuss/oyzgIqdMyNc
|
2015-05-02 18:05:07 -07:00 |
|
Leonardo de Moura
|
e1dc18f6b6
|
fix(library/tactic/inversion_tactic): check whether eliminator can only eliminate to Prop
fixes #571
|
2015-05-02 17:48:08 -07:00 |
|
Leonardo de Moura
|
e379034b95
|
feat(library/tactic): improve 'assumption' tactic
- It uses the unifier in "conservative" mode
- It only affects the current goal
closes #570
|
2015-05-02 17:33:54 -07:00 |
|
Leonardo de Moura
|
8c107d6936
|
fix(frontends/lean/builtin_cmds): bug in export command
Cause: we have two different tokes to represent declarations: [decls] and [declarations]
fixes #568
|
2015-05-02 16:01:25 -07:00 |
|
Leonardo de Moura
|
b39fe17dee
|
feat(library/tactic): add 'transitiviy', 'reflexivity' and 'symmetry' tactics
closes #500
|
2015-05-02 15:48:25 -07:00 |
|
Leonardo de Moura
|
cd17618f4a
|
refactor(library): replace 'calc_trans', 'calc_symm', 'calc_refl' and 'calc_subst' commands with attributes '[symm]', '[refl]', '[trans]' and '[subst]'
These attributes are used by the calc command.
They will also be used by tactics such as 'reflexivity', 'symmetry' and
'transitivity'.
See issue #500
|
2015-05-02 15:15:35 -07:00 |
|
Leonardo de Moura
|
efc33a2f1d
|
fix(tests/lean): adjusts tests
|
2015-05-02 13:01:37 -07:00 |
|
Leonardo de Moura
|
415ca2b93f
|
feat(library/tactic): add 'congruence' tactic
It is the f_equal described at issue #500.
|
2015-05-02 12:58:46 -07:00 |
|
Leonardo de Moura
|
230b994e79
|
fix(tests/lean/slow): adjust tests
|
2015-05-01 19:47:55 -07:00 |
|
Leonardo de Moura
|
9dc0388022
|
fix(library/tactic/rewrite_tactic): bug when rewriting hypotheses
|
2015-05-01 19:45:23 -07:00 |
|
Leonardo de Moura
|
ac8ba6a3cf
|
feat(library/tactic): add 'subst' tactic
see issue #500
|
2015-05-01 19:31:24 -07:00 |
|
Leonardo de Moura
|
b0759f3986
|
fix(library/tactic/rewrite_tactic): bug when rewriting multiple hypotheses
|
2015-05-01 19:03:43 -07:00 |
|
Leonardo de Moura
|
ea87dd48e3
|
chore(tests/lean/hott/inj_tac): fix typo
|
2015-05-01 18:18:57 -07:00 |
|
Leonardo de Moura
|
de369a0a0a
|
feat(library/tactic/injection_tactic): improve 'injection' tactic
see issue #500
|
2015-05-01 15:49:56 -07:00 |
|
Leonardo de Moura
|
9ba8b284a1
|
fix(library/tactic/apply_tactic): add eapply, and fix issue #361
|
2015-05-01 15:08:00 -07:00 |
|
Leonardo de Moura
|
63eb155c7e
|
feat(library/tactic): add 'injection' tactic
see issue #500
|
2015-05-01 12:45:21 -07:00 |
|
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 |
|