Leonardo de Moura
e52a7bdf42
feat: let/if indentation in do blocks
...
closes #1120
2022-06-13 16:18:49 -07:00
Leonardo de Moura
fb574af873
fix: mkSplitterProof
...
This commit fixes the first issue reported at #1179
closes #1179
2022-06-12 19:38:54 -07:00
Wojciech Nawrocki
ff15e31e85
refactor: remove redundant theorem
2022-06-12 14:01:05 -07:00
Leonardo de Moura
17db981880
fix: equation theorem for match with more than one "as" pattern
...
see #1195
see #1179
2022-06-10 18:23:13 -07:00
Leonardo de Moura
d0499ebf4d
fix: fixes #1200
2022-06-08 10:18:05 -07:00
Leonardo de Moura
fa64c072ab
feat: where declarations at instances
...
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Local.20functions.20in.20instances/near/285333999
2022-06-07 18:48:15 -07:00
Leonardo de Moura
09ddf76029
feat: simp_all now uses dependent hypotheses for simplification
...
However, it does not simplify them.
closes #1194
2022-06-06 18:31:34 -07:00
Leonardo de Moura
71226243fd
fix: fixes #1192
2022-06-06 18:20:45 -07:00
Leonardo de Moura
5055855637
feat: improve default simp discharge method
...
closes #1193
2022-06-06 17:29:12 -07:00
Leonardo de Moura
2832442e7a
fix: unfold declarations tagged with [matchPattern] at reduceMatcher? even if transparency setting is not the default one
...
see #1193
It fixes one of the issues exposed at the issue above.
2022-06-06 15:53:40 -07:00
Leonardo de Moura
9d6b67eae2
fix: remove check from Simp.synthesizeArgs
...
Some `simp` dischargers can handle metavariables (e.g,
`assumption`). See new test.
closes #1184
2022-06-03 07:40:30 -07:00
larsk21
cf4e106304
fix: unused variables linter review comments
...
- ignore unused variables in dep arrows
- avoid negated options
- make syntax stack generation more performant
- make ignore functions more extensible
- change message severity to `warning`
2022-06-03 13:03:52 +02:00
larsk21
393fdef972
fix: disable linters in tests
2022-06-03 13:03:52 +02:00
Leonardo de Moura
878ef3a281
feat: improve acyclic tactic
...
closes #1182
2022-06-02 15:25:14 -07:00
Leonardo de Moura
32db316166
fix: enumeration type noConfusion was not registered
...
This commit fixes issue reported at
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/.28kernel.29.20function.20expected.20.2EnoConfusion/near/284634050
2022-06-01 17:58:46 -07:00
Leonardo de Moura
0631c90794
feat: implement MonadLog at CoreM
2022-05-31 17:40:55 -07:00
Leonardo de Moura
5f7cc78f17
fix: remove unnecessary let-expressions when computing the motive
...
fixes #1155
2022-05-31 07:14:56 -07:00
Leonardo de Moura
9818de078b
fix: fixes #1168
2022-05-30 07:24:23 -07:00
Leonardo de Moura
fb45eb4964
fix: universe polymorphic enumeration types
...
Fixes issue reported at https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Incorrect.20number.20of.20universe.20levels.20parameters/near/284283021
2022-05-30 06:43:46 -07:00
Leonardo de Moura
ca6f53b407
feat: use subst_vars at builtin decreasing_tactic
2022-05-28 16:24:32 -07:00
Leonardo de Moura
40fc64480a
feat: add tactic subst_vars
2022-05-28 16:19:34 -07:00
Leonardo de Moura
2c5bafcbd8
fix: dead variables at match equation hypotheses
...
This commit addresses an issue reported at https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Structural.20Recursion.20Problem/near/284238723
2022-05-28 16:09:35 -07:00
Leonardo de Moura
34bbe5d12c
feat: add simp theorem List.of_toArray_eq_toArray (as bs : List α) : (as.toArray = bs.toArray) = (as = bs) := by
2022-05-27 18:26:48 -07:00
Leonardo de Moura
fbd8224b4d
fix: allow recursive occurrences in binder types at WF/PackDomain.lean
...
fixes #1171
2022-05-27 11:23:51 -07:00
Leonardo de Moura
25126cd057
fix: autoParam is structure fields lost in multiple inheritance
...
closes #1158
2022-05-26 14:35:47 -07:00
Leonardo de Moura
fc606f3ab5
fix: closes #1156
2022-05-26 12:51:28 -07:00
Leonardo de Moura
988697b431
fix: fixes #1169
2022-05-26 07:05:32 -07:00
Leonardo de Moura
944063682e
fix: another specialize.cpp bug
...
This is just a workaround. This code has to be ported to Lean.
The issue has been reported at https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/.28kernel.29.20unknown.20constant/near/283750650
2022-05-25 20:36:18 -07:00
Leonardo de Moura
bef1cd4872
fix: make structure instance notation (e.g., { a, b }) works in patterns after we define the Set notation in Mathlib
2022-05-25 19:14:22 -07:00
Leonardo de Moura
7c427c1ef2
fix: make sure let-expressions do not affect the structural recursion module
...
This issue has been reported at https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Termination.20check.20not.20preserved.20under.20let.20binding.2E/near/282934378
2022-05-23 13:42:48 -07:00
Leonardo de Moura
2fc23a2a2b
feat: make sure we can use split to synthesize code
2022-05-23 11:55:57 -07:00
Leonardo de Moura
56cd6c1ff5
fix: we should not use implicit targets when creating the key for the CustomEliminator map
2022-05-20 06:55:23 -07:00
Wojciech Nawrocki
bea68819c9
feat: support optional RPC fields
2022-05-12 13:22:37 -07:00
Wojciech Nawrocki
fbb20d465b
fix: RpcEncoding tests
2022-05-12 08:38:09 -07:00
Sebastian Ullrich
392640d292
feat: allow keyword-like projection identifiers
2022-05-10 12:25:30 -07:00
Leonardo de Moura
f58afaaa43
fix: make sure let _ := val and let _ : type := val are treated at letIdDecl
...
closes #1114
2022-05-10 06:52:27 -07:00
Leonardo de Moura
7ce0471f28
feat: improve binrel% elaborator
...
It now relies on `binop%` too, and addresses issue reported at
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Regression.20in.20coercion.20inference/near/281737387
2022-05-09 18:39:52 -07:00
Leonardo de Moura
fc03b2fc31
feat: unfold ident,+
2022-05-09 07:09:53 -07:00
Leonardo de Moura
ab31f9ad5d
fix: fixes #1143
2022-05-07 15:27:34 -07:00
Leonardo de Moura
2c8c20d424
feat: add [eliminator] attribute specifying default recursors/eliminators for the cases and induction tactics
2022-05-07 15:09:42 -07:00
Leonardo de Moura
af5e13e534
feat: improve binop% elaboration function
2022-05-07 10:32:55 -07:00
Leonardo de Moura
38baeaf373
feat: backtrack when applying default instances if subproblems cannot be solved
2022-05-07 09:56:38 -07:00
Leonardo de Moura
8c23bef399
feat: add support for casesOn applications to structural and well-founded recursion modules
2022-05-06 17:12:10 -07:00
Leonardo de Moura
c65537aea5
feat: Option is a Monad again
...
TODO: remove `OptionM` after update stage0
see: https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Do.20we.20still.20need.20OptionM.3F/near/279761084
2022-05-04 15:27:42 -07:00
Leonardo de Moura
a1af8074c9
feat: improve discriminant refinement procedure
2022-05-04 14:46:43 -07:00
Leonardo de Moura
16ed5a3213
fix: erase_irrelevant.cpp
...
It addresses issue reported at https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/'unreachable'.20code.20was.20reached.20by.20termination.20check/near/281159704
2022-05-04 08:06:59 -07:00
Leonardo de Moura
94b5a9b460
feat: improve split tactic
2022-05-03 17:46:50 -07:00
Sebastian Ullrich
e76a2a6d9e
chore: normalize spelling
2022-05-03 10:26:11 +02:00
Leonardo de Moura
109363bc7e
fix: closes #1132
2022-05-01 08:18:30 -07:00
Leonardo de Moura
4eb2cfec46
feat: make sure case' ... => tac does not use done after tac
2022-05-01 07:30:11 -07:00