thorimur
50f2154cbb
fix: make rw [foo] look in the local context for foo before it looks in the environment ( #2738 )
2023-10-30 14:08:02 +11:00
Parth Shastri
642bc5d8f3
fix: replace DecidableEq with BEq/LawfulBEq in List mem theorems ( #2041 )
2023-10-30 14:03:16 +11:00
Joachim Breitner
f74ae5f9c0
feat: Array.mem: Avoid DecidableEq, set up decreasing_trivial ( #2774 )
...
The notation `a ∈ as` for Arrays was previously only defined with
`DecidableEq` on the elements, for (apparently) no good reason. This
drops this requirements (by using `a ∈ as.data`), and simplifies a bunch
of proofs by simply lifting the corresponding proof from lists.
Also, `sizeOf_lt_of_mem` was defined, but not set up to be picked up by
`decreasing_trivial` in the same way that the corresponding List lemma
was set up, so this adds the tactic setup.
The definition for `a ∈ as` is intentionally not defeq to `a ∈ as.data`
so that the termination tactics for Arrays don’t spuriously apply when
recursing through lists.
2023-10-30 13:47:30 +11:00
Kyle Miller
5fc079d9ce
fix: dsimp missing consumeMData when closing goals by rfl ( #2776 )
...
Fixes #2514
2023-10-30 09:32:32 +11:00
Leonardo de Moura
175a6ab606
refactor: add Init/MetaTypes to workaround bootstrapping issues
...
Motivation: we could not set `simp` configuration options at `WFTactics.lean`
2023-10-29 09:38:23 -07:00
Leonardo de Moura
1abd5cc665
chore: add simp option unfoldPartialApp
...
It is not being used yet, but we need to add it before solving issue #2042 .
Reason: bootstrapping.
2023-10-29 09:12:21 -07:00
Patrick Massot
c916238e5c
feat: lake: sensible default arguments for math template ( #2770 )
2023-10-29 10:39:43 -04:00
Sebastian Ullrich
23c68cfc5b
fix: remove unguarded check_interrupted call
2023-10-26 08:33:09 +02:00
Sebastian Ullrich
9874848f83
perf: inline checkInterrupted
...
Amazingly, the extra result allocation seems to have triggered a mathlib
heartbeat timeout
2023-10-26 08:33:09 +02:00
Sebastian Ullrich
d3bc2ac1a9
fix: switch to C++ interruption whitelist
2023-10-26 08:33:09 +02:00
Sebastian Ullrich
462a583d98
fix: do not throw interrupt exceptions inside pure functions
2023-10-26 08:33:09 +02:00
Sebastian Ullrich
c5691f816a
feat: cancel tasks on document edit
2023-10-26 08:33:09 +02:00
Sebastian Ullrich
fa3cf4d613
feat: translate interrupted kernel exception
2023-10-26 08:33:09 +02:00
Sebastian Ullrich
74b8dda181
feat: check task cancellation in elaborator
2023-10-26 08:33:09 +02:00
Sebastian Ullrich
5f37f7d86f
feat: move check_interrupted from unused thread class to Task cancellation
2023-10-26 08:33:09 +02:00
Leonardo de Moura
a3642bd8d9
feat: add support for expanding let-declarations to simp
...
Given a local context containing `x : t := e`,
`simp (config := { zeta := false }) [x]` will expand `x` even
if `zeta := false`.
2023-10-25 03:12:35 -07:00
Leonardo de Moura
771ec8324c
chore: fix configuration for UnificationHints
2023-10-25 03:12:35 -07:00
Leonardo de Moura
691defdc5d
chore: typos and PR feedback
...
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
2023-10-25 03:12:35 -07:00
Leonardo de Moura
3b831271ee
fix: fixes #2669 #2281
2023-10-25 03:12:35 -07:00
Leonardo de Moura
3a13200772
refactor: add configuration options to control WHNF
...
This commit also removes parameter `simpleReduce` from discrimination
trees, and take WHNF configuration options.
Reason: it is more dynamic now. For example, the simplifier
will be able to use different configurations for discrimination tree insertion
and retrieval. We need this feature to address issues #2669 and #2281
This commit also removes the dead Meta.Config field `zetaNonDep`.
2023-10-25 03:12:35 -07:00
Leonardo de Moura
aecc83e2fc
chore: add some doc strings and cleanup
2023-10-25 03:12:35 -07:00
tydeu
170fd845f2
feat: LAKE_PKG_URL_MAP
2023-10-25 04:17:53 -04:00
thorimur
6063deb6bd
fix: rw ... at h unknown fvar bug ( #2728 )
2023-10-25 01:52:19 +00:00
thorimur
291e95e3c5
fix: add instantiateMVars to replaceLocalDecl ( #2712 )
...
* fix: `instantiateMVars` in `replaceLocalDecl`
* docs: update `replaceLocalDecl`
* test: `replaceLocalDecl` instantiates mvars
2023-10-25 10:26:09 +11:00
Buster Copley
bccbefdc1c
fix: version numbers in code actions ( #2721 )
...
Co-authored-by: Richard Copley <buster@buster.me.uk>
2023-10-24 22:55:47 +11:00
Scott Morrison
d07ec56c33
chore: correcting typos ( #2746 )
2023-10-24 10:55:30 +00:00
Leonardo de Moura
b00c13a00e
chore: remove "paper cut" when using Fin USize.size ( #2724 )
2023-10-24 21:06:35 +11:00
Mario Carneiro
eaf85607f4
fix: don't pack ._ files on MacOS ( #2743 )
2023-10-24 21:03:51 +11:00
Leonardo de Moura
a7323c9805
feat: use forall_prop_domain_congr in simp tactic
...
closes #1926
2023-10-23 06:19:19 -07:00
Leonardo de Moura
50d0aced7f
feat: add auxiliary lemma for simp
2023-10-23 06:19:19 -07:00
Leonardo de Moura
370476cc14
fix: bug at substCore
2023-10-22 06:48:22 -07:00
Leonardo de Moura
9a7565d66c
perf: closes #2552
2023-10-22 06:48:22 -07:00
Leonardo de Moura
52f1000955
chore: update doc, add support for modn
2023-10-20 19:07:48 -07:00
Leonardo de Moura
9d02e0ee6f
chore: remove unnecessary % operations at Fin.mod and Fin.div
...
We now have the missing proofs `Nat.mod_le` and `Nat.div_le_self` in
core.
See:
https://github.com/leanprover/std4/pull/286#discussion_r1359807875
2023-10-20 19:07:48 -07:00
thorimur
b5e95bf632
fix: allow constants to be marked for dsimp
2023-10-20 19:06:40 -07:00
tydeu
6c20673737
refactor: change postUpdate? config to a decl
2023-10-20 21:38:31 -04:00
tydeu
6e98453189
chore: lake: test auto-manifest & update cleaning
2023-10-20 14:51:10 -04:00
tydeu
e435a45af7
feat: lake: create manifest on load if missing
2023-10-20 14:51:10 -04:00
Leonardo de Moura
419100d42b
feat: add Simp.Config.ground for simplifying nested ground terms
...
This is an experimental new feature. We need more bells and whistles,
and `cbv` tactic for improving its performance.
2023-10-19 13:59:17 -07:00
tydeu
67b5cd9c0e
feat: lake: run_io to execute IO at term elab time
2023-10-19 13:27:35 -04:00
tydeu
ca6d1fd47a
chore: lake: simplify config decl syntax
...
* deprecate `:=` syntax in config decls
* standardize field syntax across `where` and `{...}`
2023-10-19 13:25:07 -04:00
Scott Morrison
fb0d0245db
Revert "Cancel outstanding tasks on document edit in the language server" ( #2703 )
...
* Revert "perf: inline `checkInterrupted`"
This reverts commit 6494af4513 .
* Revert "fix: switch to C++ interruption whitelist"
This reverts commit 5aae74199b .
* Revert "fix: do not throw interrupt exceptions inside pure functions"
This reverts commit c0e3b9568e .
* Revert "feat: cancel tasks on document edit"
This reverts commit a2e2481c51 .
* Revert "feat: translate `interrupted` kernel exception"
This reverts commit 14c640c15e .
* Revert "feat: check task cancellation in elaborator"
This reverts commit 2070df2328 .
* Revert "feat: move `check_interrupted` from unused thread class to `Task` cancellation"
This reverts commit bf48a18cf9 .
2023-10-17 00:59:11 +00:00
tydeu
4441662490
test: lake: tests/manifest -> tests/depTree
...
also clarify its difference distinction with `tests/clone`
2023-10-16 13:35:24 -04:00
tydeu
8db978bb10
chore: lake: fail if no error in tests/serve
2023-10-16 13:35:24 -04:00
tydeu
894c3abb37
chore: lake: ignore manifest in examples/scripts
2023-10-16 13:35:24 -04:00
tydeu
2a91d3cf68
fix: lake: casing in tests/order/clean.sh
2023-10-16 13:35:24 -04:00
David Thrane Christiansen
d15a0a4acb
chore: lake: explicit branch name in tests/clone
2023-10-16 09:29:31 +00:00
Mario Carneiro
e0cba05167
refactor: env extensions can only modify .extensions ( #2661 )
2023-10-16 14:22:09 +11:00
Mario Carneiro
c0b021e196
fix: pp projection indices starting at 1
2023-10-15 14:25:00 -07:00
Scott Morrison
1e74c6a348
feat: use nat_gcd in the kernel ( #2533 )
...
* feat: use nat_gcd in the kernel
---------
Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
2023-10-15 13:49:41 +11:00