Commit graph

24104 commits

Author SHA1 Message Date
Leonardo de Moura
ddeb63f69f chore: port Used.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
846a872293 chore: port InlineProj.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
d6fe779d7a chore: port JpCases.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
34d18a49aa chroe: port DiscrM 2022-11-07 16:18:36 -08:00
Leonardo de Moura
c8eab4478d chore: re-enable pullInstances and cse passes 2022-11-07 16:18:36 -08:00
Leonardo de Moura
691afbfdc8 fix: ToLCNF visitNoConfusion 2022-11-07 16:18:36 -08:00
Leonardo de Moura
67e2735f07 chore: display LCNF unreachable type when pp.all is true 2022-11-07 16:18:36 -08:00
Leonardo de Moura
4bf2df563d fix: typo 2022-11-07 16:18:36 -08:00
Leonardo de Moura
01791b0c19 chore: port ToLCNF 2022-11-07 16:18:36 -08:00
Leonardo de Moura
7e2c476a77 chore: port more files to new LCNF 2022-11-07 16:18:36 -08:00
Leonardo de Moura
d521197c24 chore: port FunDeclInfo.lean 2022-11-07 16:18:36 -08:00
Leonardo de Moura
5c53656d46 chore: port LCNF/InferType.lean 2022-11-07 16:18:35 -08:00
Leonardo de Moura
f5d6b0ed94 chore: port FVarUtil.lean 2022-11-07 16:18:35 -08:00
Leonardo de Moura
8f40899cde feat: add Expr.updateFVar! 2022-11-07 16:18:35 -08:00
Leonardo de Moura
6d46829599 chore: new LCNF representation
This is the first of a series of commits to change the LCNF representation.
2022-11-07 16:18:35 -08:00
Mario Carneiro
22cdac914d
fix: improved error span for inherit_doc (#1807) 2022-11-07 20:11:41 +00:00
Mario Carneiro
4fefb2097f feat: hover/go-to-def/refs for options 2022-11-07 20:01:13 +01:00
Mario Carneiro
32b6bd0d8b feat: empty type ascription syntax (e :) (part 2) 2022-11-07 19:10:56 +01:00
Mario Carneiro
02d8a5d56e feat: empty type ascription syntax (e :) 2022-11-07 19:10:56 +01:00
Alex J. Best
648ecff830 feat: reduce precedence of unary neg 2022-11-06 18:13:48 -08:00
Alex J Best
8da48f2381 chore: typo fix in error message of overlapping structure fields 2022-11-05 12:41:40 -07:00
Mario Carneiro
999b61007c
feat: tweak behavior of congrN to match lean 3 (#1798) 2022-11-04 06:55:13 -07:00
Scott Morrison
d0dc9a2f90
fix: reorder goals after specialize (#1796)
* fix: reorder goals after specialize

* fix test
2022-11-03 06:32:55 -07:00
Sebastian Ullrich
5249611d75 doc: fix mkAntiquot docstring 2022-11-03 10:07:38 +01:00
Mario Carneiro
9b40613207 fix: formatting for if let and do if 2022-11-01 20:19:39 -07:00
Mario Carneiro
ad1c23f172 fix: bug in replaceLocalDeclDefEq
fixes #1615
2022-11-01 19:18:25 -07:00
Henrik Böving
00e3004ce5 feat: jp ctx extender after lambda lifting 2022-10-30 06:42:24 -07:00
Sebastian Ullrich
a89b1b4b95 fix: use patternIgnore to ignore now-relevant tokens again 2022-10-28 21:25:47 +02:00
Sebastian Ullrich
7475fd9cbd feat: ignore patternIgnore nodes in syntax patterns 2022-10-28 21:25:47 +02:00
Sebastian Ullrich
9b05f57ec8 fix: wrap &"..." <|> ... as well 2022-10-28 21:25:47 +02:00
Sebastian Ullrich
731e28df00 fix: syntax match should not ignore tokens in <|> 2022-10-28 21:25:47 +02:00
Sebastian Ullrich
b8ebfbfecc chore: improve pretty printer antiquotation support 2022-10-28 21:25:47 +02:00
Leonardo de Moura
5f38a483f2 fix: congr tactic
`MVarId.congr?` and `MVarId.hcongr?` should return `none` if an
exception is thrown while applying congruence theorem.

`MVarId.hcongr?` should try `eq_of_heq` before trying to apply
`hcongr` theorem.

closes #1787

BTW: Lean 4 `congr` tactic is applying `assumption`. Lean 3 version does not.
2022-10-28 08:00:04 -07:00
Leonardo de Moura
279c34ff46 feat: add MVarId.eqOfHEq tactic 2022-10-28 07:52:45 -07:00
Leonardo de Moura
f75d59047f feat: add commitWhenSomeNoEx?
TODO: better name?

This commit also removes the `[specialize]` annotations.
2022-10-28 07:51:41 -07:00
Leonardo de Moura
25beba6624 feat: avoid modulo in HashMap and HashSet
closes #609

Context: trying to improve Lean startup time.

Remark: it didn't seem to make a difference in practice. We should
investigate more.

cc @kha @gebener
2022-10-27 18:54:56 -07:00
Leonardo de Moura
dd45391568 chore: hoist out error generation code
Motivation: it was affecting my performance tests
2022-10-27 18:26:38 -07:00
Leonardo de Moura
b8f4a345f1 feat: add Power2 2022-10-27 18:11:20 -07:00
Leonardo de Moura
dc750d143e chore: remove test/optimization that is essentially dead code 2022-10-27 16:45:50 -07:00
Gabriel Ebner
c16d7728b0 feat: improve import duplicate definition error 2022-10-27 16:42:09 -07:00
Mario Carneiro
29bda62198 fix: missed a file from #1771 2022-10-27 11:14:13 -07:00
Leonardo de Moura
99ea171e48 chore: zero startup time specExtension 2022-10-27 09:54:04 -07:00
Leonardo de Moura
346c18a5b5 perf: improve namespacesExt import function 2022-10-27 08:59:24 -07:00
Leonardo de Moura
635ccef5a3 perf: improve setImportedEntries
Remove linear scan at `getEntriesFor`.
2022-10-27 08:29:18 -07:00
Leonardo de Moura
44e889bd52 chore: avoid runtime bounds check 2022-10-27 07:48:30 -07:00
Leonardo de Moura
0a35ce7e3e perf: add ModuleData.constNames 2022-10-27 07:34:07 -07:00
Leonardo de Moura
95689d914f perf: use NameHashSet instead of NameSet 2022-10-27 07:10:54 -07:00
Leonardo de Moura
2c4056c104 chore: use exit during finalization
Motivation: Lean startup time profiling.
2022-10-27 06:51:29 -07:00
Leonardo de Moura
23ba495205 perf: better initial const2ModIdx size 2022-10-26 22:22:41 -07:00
Leonardo de Moura
39249f0c1d perf: zero startup time function summaries 2022-10-26 21:55:37 -07:00