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
Leonardo de Moura
ad98df80fe
feat: congr theorems using Iff
...
closes #1763
2022-10-26 18:00:24 -07:00
Leonardo de Moura
5e25d9148a
feat: improve apply error message when root term elaboration is postponed
...
fixes #1719
2022-10-26 17:15:24 -07:00
Leonardo de Moura
0b6b754bca
feat: improve apply tactic
...
It tries to address what the Mathlib community calls the "apply bug".
cc @digama0
2022-10-26 16:58:43 -07:00
Leonardo de Moura
f3b1eadb55
feat: copy docstring when copying parent fields
...
closes #1730
2022-10-26 15:43:46 -07:00
Leonardo de Moura
83d8e36773
fix: fixes #1780
2022-10-26 07:46:38 -07:00
Leonardo de Moura
5a8f9ace72
fix: open .. hinding .. should activate scoped attributes
2022-10-26 07:39:06 -07:00
Leonardo de Moura
e369c3beb6
fix: disallow . immediately after ..
...
Rejects the following weird example
```
```
which was being parsed as
```
```
2022-10-26 07:13:40 -07:00
Leonardo de Moura
d7e732e886
feat: use unop% to implement unary minus notation
...
closes #1779
2022-10-26 06:55:24 -07:00
Leonardo de Moura
1216f5e658
feat: support for unop% at CollectPatternVars
2022-10-26 06:51:14 -07:00
Leonardo de Moura
e6caee97ec
feat: unop% elaborator
...
We now have support for unary operators at `Op.toTree` and `Op.toExpr`
see #1779
2022-10-26 06:44:44 -07:00
Leonardo de Moura
00ca0dde5c
feat: add unop% term parser
...
We not to support unary minus at `BinOp.toTree`
see #1779
2022-10-26 06:19:22 -07:00
Mario Carneiro
a086d217a5
fix: bug in level normalization (soundness bug)
2022-10-26 05:22:26 -07:00
Sebastian Ullrich
1893857f15
fix: expandCDot? should create canonical syntax
2022-10-25 12:23:13 +02:00
Sebastian Ullrich
f39281f6b4
fix: hoverableInfoAt? in presence of canonical syntax
2022-10-25 12:23:13 +02:00
Sebastian Ullrich
36fbf53a79
chore: improve trace.Elab.info formatting
2022-10-25 12:23:13 +02:00
Leonardo de Moura
e55badef05
feat: List.mapMono
2022-10-24 19:50:09 -07:00
Leonardo de Moura
2cd21e08ba
chore: add CollectLevelParams.visitLevels
2022-10-24 19:50:09 -07:00
Leonardo de Moura
81f8ab8fbb
refactor: Level.instantiateParams => Level.substParams, add Level.instantiateParams
...
Motivation: make sure `Level.instantiateParams` and
`Expr.instantiateLevelParams` have similar types.
2022-10-24 19:49:57 -07:00
Mario Carneiro
d7d61bfb55
feat: use withoutPosition consistently (part 2)
2022-10-24 12:51:32 -07:00
Mario Carneiro
765ebcdbf0
feat: use withoutPosition consistently
2022-10-24 12:51:32 -07:00
Gabriel Ebner
4ff6798284
perf: use instantiation cache
2022-10-24 12:23:13 -07:00
Gabriel Ebner
fa9538ffa6
perf: use old instantiateLevelParams in compiler
2022-10-24 12:23:13 -07:00
Gabriel Ebner
d87c36157a
perf: speed up Expr.replace
2022-10-24 12:23:13 -07:00