Commit graph

7771 commits

Author SHA1 Message Date
Sebastian Ullrich
41dfd06e8c fix: intro/intros: do not register _ as binder in info tree
Fixes #1204
2022-06-09 15:23:56 +02: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
041827bed5 chore: unused variables 2022-06-07 17:54:10 -07:00
Sebastian Ullrich
130cc8bbd5 chore: fix test 2022-06-07 16:37:45 -07:00
Sebastian Ullrich
8ffa07ab25 fix: goal state on conv => 2022-06-07 17:43:16 +02: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
larsk21
60c8a72262 fix: unused variables linter: consider induction variables as pattern variables 2022-06-06 15:53:10 -07:00
larsk21
a9293410a2 fix: unused variables linter: ignore structure, class and inductive signatures 2022-06-06 15:53:10 -07:00
Sebastian Ullrich
143b2b49c8 fix: induction: do not register _ as binder in info tree 2022-06-06 23:05:12 +02:00
Sebastian Ullrich
ec045bfbb8 feat: $_ antiquotation pattern 2022-06-04 13:57:04 +02:00
Sebastian Ullrich
05c5dd4441 fix: unused variables linter: search fvar aliases in tactics 2022-06-03 22:37:38 +02: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
Sebastian Ullrich
0b264889ae fix: goal state on ; after · 2022-06-03 13:41:04 +02:00
larsk21
caa8804a1d feat: add nolint options for function arguments and pattern variables 2022-06-03 13:03:52 +02:00
larsk21
93480a3e05 fix: consider tactic mvar assignments for used variables 2022-06-03 13:03:52 +02:00
larsk21
bf907d7b8c fix: ignore exposed function arguments in unused variables linter 2022-06-03 13:03:52 +02:00
larsk21
57c8c76cd0 fix: use findModuleRefs in unused variables linter 2022-06-03 13:03:52 +02: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
larsk21
37d5f8e74a feat: add unused variables linter 2022-06-03 13:03:52 +02:00
Leonardo de Moura
8649483b41 feat: produces an error if the declaration body contains a universe parameter that does not occur in the declaration type nor is explicitly provided
closes #898
2022-06-02 19:43:09 -07:00
Leonardo de Moura
484e510221 feat: do not use pp.inaccessibleNames = true at getInteractiveTermGoal
See discussion at https://github.com/leanprover/vscode-lean4/issues/76

We also use `pp.inaccessibleNames = false` in error messages. In this
setting, an inaccessible name is displayed in the context only if the
target type depends on it.
2022-06-02 16:22:43 -07:00
Leonardo de Moura
878ef3a281 feat: improve acyclic tactic
closes #1182
2022-06-02 15:25:14 -07:00
Sebastian Ullrich
ddfbf6bf9b fix: show namespace when hovering over declaration name 2022-06-02 18:17:21 +02: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
Gabriel Ebner
9a273b85a3 fix: no sorry-warning for missing match cases 2022-06-01 07:41:52 -07:00
Leonardo de Moura
bf0b675ca6 chore: fix tests 2022-06-01 06:36:25 -07:00
Leonardo de Moura
9102f8cb13 fix: generate sorry warning only if there are no error messages
see #1163
2022-06-01 06:32:05 -07:00
Leonardo de Moura
9290a0e9b1 chore: fix tests 2022-05-31 18:17:56 -07:00
Leonardo de Moura
5302267220 test: for #1163 2022-05-31 18:09:27 -07:00
Leonardo de Moura
2b2f315fb9 chore: fix tests 2022-05-31 18:01:48 -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
ammkrn
102e957bb5 feat: support proofs in deriving DecidableEq
The derive handler for `DecidableEq` does not currently support proofs
in constructor arguments/structure fields. For example, deriving
`DecidableEq` for `Fin n` will fail, because of the field `isLt`. This
change checks whether the elements being tested are proofs, and if so,
changes the equality proof to just `rfl`.
2022-05-30 07:36:30 -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
Sebastian Ullrich
d3cf60e86a chore: further refine goal state heuristics 2022-05-30 13:27:56 +02:00
Sebastian Ullrich
b31690b1d7 fix: go to definition/goal state at end of syntax 2022-05-30 11:16:25 +02: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
3be437cad3 fix: make sure register_simp_attr declares an simp-like attribute parser for user simp attributes
closes #1164
2022-05-26 19:49:33 -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