Zulip Chat Archive
Stream: general
Topic: Duper on v4.7.0-rc2
Utensil Song (Mar 12 2024 at 01:42):
I was updating my Lean toolchain to v4.7.0-rc2 and dependencies (Mathlib, Duper etc.) for a Lean file using duper (require «Duper» from git "https://github.com/leanprover-community/duper.git" @ "main"
), I got the following error at import Duper
[1]:
`~/.elan/toolchains/leanprover--lean4---v4.7.0-rc2/bin/lake setup-file /path/to/my/DuperTest.lean Init Duper --no-build` failed:
stderr:
error: 'Duper' ▸ 'Duper.Tactic' ▸ 'Duper.Interface' ▸ 'Std.Lean.CoreM': no such file or directory (error code: 2)
file: ./.lake/packages/std/././Std/Lean/CoreM.lean
During debugging, I noticed that duper main branch is one month old [2], and it's not found (thus no CI against the latest toolchain) in https://reservoir.lean-lang.org/ probably due to lack of a lean4
tag [3].
I removed import Std.Lean.CoreM
in Duper.Interface
and it took a while (using only 25% of CPU [4] which possibly indicates insufficient parallelization ) to reach more errors:
error: 'Auto.Translation' ▸ 'Auto.Translation.Monomorphization' ▸ 'Auto.Embedding.Lift' ▸ 'Std.Data.Int.Basic': no such file or directory (error code: 2)
error: 'Std.Data.BitVec.Basic': no such file or directory (error code: 2)
then simple removal of import Std.Data.Int.Basic
and then import Std.Data.BitVec.Basic
no longer works, and I'm seeing
which is a mixed experience of unknown constant 'Std.BitVec.ofNat'
and
`Std.BitVec` has been deprecated
but I fail to found where the former is moved to [5] or what is the latter deprecated by [6] unless maybe I do a proper search on Zulip. (Disclaimer: I haven't used Lean for around 2 months due to sickness and work)
Sorry for reporting a series of issues in one go, I marked every one I consider an issue (of Duper or of v4.7.0-rc2) with a [number] for easier reference.
Kim Morrison (Mar 12 2024 at 01:51):
BitVec has changed namespaces. It's now in _root_
, not Std
.
Utensil Song (Mar 12 2024 at 02:04):
Thanks, I just learn that in release notes, but I wonder if the deprecation message could be more clear (for this or future deprecations) in [6], or is it technically possible to avoid "unknown constant" of Std.BitVec.ofNat
in [5] due to the deprecation of one-level-up Std.BitVec
.
Utensil Song (Mar 12 2024 at 12:10):
Gently ping @Josh Clune :smiley:
BTW, do you know any projects actively using Duper? In my tests, using Duper means continuingly depending on Duper, as duper?
generates calls to duper
, so it's better to track it with reservoir[3] to keep it working for new Lean/Mathlib releases.
Josh Clune (Mar 12 2024 at 14:32):
Thanks for the ping. I'll work on getting Duper working with the latest lean-toolchain as soon as I can, and I'll ping you once I've pushed a version that is compatible with 4.7.0.-rc2.
Josh Clune (Mar 14 2024 at 05:00):
@Utensil Song I've updated Duper's main branch to use Lean v4.7.0-rc2. I've also added a lean4
tag and LICENSE file to the repository, so if my understanding is correct, Duper should automatically be added to https://reservoir.lean-lang.org/ the next time Lean is updated. This version of Duper should be compatible with the v4.7.0-rc2 branch of Mathlib. Let me know if you run into any issues.
Utensil Song (Mar 15 2024 at 02:15):
@Josh Clune Many thanks, and my local test now passes after bumping and rebuilding Duper. :tada:
I can also see reservoir has picked up and built Duper successfully but reservoir itself has failed to collect the results due to Error: Unable to download artifact(s): Failed to GetSignedArtifactURL: Unable to make request: ECONNRESET
. @Mac Malone , have you noticed the red CI?
Mac Malone (Mar 16 2024 at 00:30):
@Utensil Song No, sorry, I had not. The good news is that the failure did not repeat today! Sadly, there are intermittent GitHub / hosting failures that lead to the daily update failing sometimes. Thus, expecting weekly updates is often safer.
Utensil Song (Mar 16 2024 at 02:14):
https://reservoir.lean-lang.org/@leanprover-community/duper :tada:
Last updated: May 02 2025 at 03:31 UTC