Zulip Chat Archive
Stream: mathlib4
Topic: mathport
Yury G. Kudryashov (May 27 2023 at 23:02):
Hi, did something happen to mathport? The last commit that went through is #19062
Yury G. Kudryashov (May 27 2023 at 23:06):
Indeed, https://github.com/leanprover-community/mathport/actions/runs/5100946585 says that "process completed with exit code 1".
Yury G. Kudryashov (May 27 2023 at 23:08):
@Mario Carneiro Is it possible that your changes from 2 days ago broke it?
Kyle Miller (May 27 2023 at 23:09):
This is a curious error:
remote: error: File Mathbin/Topology/Sheaves/SheafCondition/PairwiseIntersections.lean
is 278.63 MB; this exceeds GitHub's file size limit of 100.00 MB
Yury G. Kudryashov (May 27 2023 at 23:09):
Where did you find the error?
Yury G. Kudryashov (May 27 2023 at 23:10):
And how did we get such a huge file?
Kyle Miller (May 27 2023 at 23:10):
I clicked "Mathport" on that link, clicked "update port repos (master)" then scrolled down
Yury G. Kudryashov (May 27 2023 at 23:13):
https://github.com/leanprover-community/mathport/actions/runs/5091663507/jobs/9151993679
Yury G. Kudryashov (May 27 2023 at 23:13):
The first failure :up: no space left on device
Eric Wieser (May 27 2023 at 23:14):
I think we need to stop outputting the warning messages in the lean files themselves
Eric Wieser (May 27 2023 at 23:14):
Or at least, truncate each one to 100kb
Yury G. Kudryashov (May 27 2023 at 23:14):
Who can run it locally and see what happens? AFAIR, it needs more RAM than I have.
Yury G. Kudryashov (May 27 2023 at 23:15):
I'm OK with truncating each one to 1kb.
Eric Wieser (May 27 2023 at 23:16):
I'd be ok with truncating each one to 0b; I don't think anyone is using them at all...
Eric Wieser (May 27 2023 at 23:17):
Kyle Miller said:
This is a curious error:
remote: error: File Mathbin/Topology/Sheaves/SheafCondition/PairwiseIntersections.lean is 278.63 MB; this exceeds GitHub's file size limit of 100.00 MB
I wonder if reverting !4#4384 fixes the problem
Yury G. Kudryashov (May 27 2023 at 23:18):
No, the problem started before that
Yury G. Kudryashov (May 27 2023 at 23:18):
I linked to the first failure above.
Yury G. Kudryashov (May 27 2023 at 23:20):
BTW, did mathport
change align
logic some time ago? 9cb92e8c581bb6d7a1f3c106109eeaeb56437f8a changes some Preorder.toLE
in warnings to Preorder.toHasLE
.
Yury G. Kudryashov (May 27 2023 at 23:21):
It's May 16
Yury G. Kudryashov (May 27 2023 at 23:23):
No, it's !4#4000 removed some #align
s
Eric Wieser (May 27 2023 at 23:23):
Yury G. Kudryashov said:
The first failure :up: no space left on device
This sounds like we just need to delete some junk from our CI machines
Yury G. Kudryashov (May 27 2023 at 23:24):
You can go through all actions at https://github.com/leanprover-community/mathport/actions
Yury G. Kudryashov (May 27 2023 at 23:25):
I'm going to add some #align
s back
Yury G. Kudryashov (May 27 2023 at 23:35):
Eric Wieser (May 28 2023 at 00:37):
Thankfully it looks like the predata step is still running fine, so one we fix this we'll get a new mathport output in 2 hours rather than at the end of the day
Mario Carneiro (May 28 2023 at 00:37):
just pushed a fix
Pol'tta / Miyahara Kō (May 28 2023 at 03:21):
Foo! Mathport have finished running now!
Mario Carneiro (May 28 2023 at 03:36):
I'm curious how much mathlib3port decreased in size
Mario Carneiro (May 28 2023 at 03:38):
764.4MB -> 236.6MB
Mario Carneiro (May 28 2023 at 03:39):
and exactly the same line count, which is fun
Mario Carneiro (May 28 2023 at 04:28):
the savings isn't as much as I was hoping, it seems that a 10k limit per message is still enough to cause a lot of text since in many files almost every declaration is marked as dubious
Mario Carneiro (May 28 2023 at 04:28):
I pushed another fix to just turn off the dubious message entirely, since I think it is too late to change our processes to keep these messages under control
Mario Carneiro (May 28 2023 at 08:51):
without the dubious translation messages, it has decreased again from 236.5MB to 104.2MB
Eric Wieser (May 28 2023 at 09:02):
On the assumption they don't block the port, is the intent then to write off any truly dubious (i.e. incorrect) translations as the cost of porting, and hope that either the changes are cosmetic, or in the case of dropped Sort/Type generalizations something that a mathlib4 user will eventually PR again anyway? Or is there still some vague hope of using mathport to ask "did we port everything correctly"?
Mario Carneiro (May 28 2023 at 09:18):
I think the main blocker for mathport dubious translation messages at this stage are all the unaligned instances
Mario Carneiro (May 28 2023 at 09:20):
although if we had #align
s for all of the autogenerated instance names I'm sure we'd be back to 700MB in no time
Eric Wieser (May 28 2023 at 09:22):
I thought the main blocker was universe arguments being in the wrong order everywhere?
Mario Carneiro (May 28 2023 at 09:24):
TBH it's hard to tell from the error messages
Mario Carneiro (May 28 2023 at 09:25):
that was certainly a problem, no idea if it's the main one
Mario Carneiro (May 28 2023 at 09:25):
it all feels pretty hopeless at this point to get defeq somehow
Mario Carneiro (May 28 2023 at 09:26):
I would be okay with just not trying to use mathport to check our work and just rely on the internal coherence of the library
Eric Wieser (May 28 2023 at 09:41):
Perhaps just checking everything in mathlib3 is aligned is good enough, without checking if the alignment is perfect
Damiano Testa (May 28 2023 at 10:13):
After all, the trust in the mathlib3 library also comes mostly from cohesion -- just like in informal mathematics! :upside_down:
Yury G. Kudryashov (May 28 2023 at 16:45):
I think that open_locale
should be translated as open scoped
, not open
Yury G. Kudryashov (May 28 2023 at 16:46):
E.g., in !4#4453, open
ing NNReal
was a bad idea.
Eric Wieser (May 29 2023 at 14:12):
The builds still seem to be failing, see this log
Eric Wieser (May 29 2023 at 14:13):
uncaught exception: failed to port Mathbin:MeasureTheory.Function.Jacobian with imports [Leanbin.Init.Default, Mathbin.Analysis.Calculus.Inverse, Mathbin.MeasureTheory.Constructions.BorelSpace.ContinuousLinearMap, Mathbin.MeasureTheory.Covering.BesicovitchVectorSpace, Mathbin.MeasureTheory.Measure.Lebesgue.EqHaar, Mathbin.Analysis.NormedSpace.Pointwise, Mathbin.MeasureTheory.Constructions.Polish]:
import Mathbin.Topology.MetricSpace.Polish failed, environment already contains '_proof_3' from Mathbin.Analysis.InnerProductSpace.PiL2
Mario Carneiro (May 29 2023 at 14:14):
that error looks to be unrelated to the archive/ stuff
Eric Wieser (May 29 2023 at 14:14):
Yes; I was not intending to make a connection there
Eric Wieser (May 29 2023 at 14:14):
I guess it's also unrelated to the "100k of error message is too much error message" stuff
Mario Carneiro (May 29 2023 at 14:15):
is MeasureTheory.Function.Jacobian
a new file?
Eric Wieser (May 29 2023 at 14:15):
My guess is that this was broken by us porting port-status#analysis/inner_product_space/pi_L2
Mario Carneiro (May 29 2023 at 14:16):
I don't see MeasureTheory.Function.Jacobian
in the last successful run
Eric Wieser (May 29 2023 at 14:17):
port-status#measure_theory/function/jacobian
Damiano Testa (May 29 2023 at 14:17):
It is one of the targets of the port progress, I think.
Eric Wieser (May 29 2023 at 14:17):
The file has existed for ages
Mario Carneiro (May 29 2023 at 14:18):
I mean new to mathlib4 since the last mathport run
Eric Wieser (May 29 2023 at 14:19):
The file shouldn't be in mathlib4 yet
Eric Wieser (May 29 2023 at 14:19):
What's new to mathlib4 is PiL2
Mario Carneiro (May 29 2023 at 14:19):
yeah, most likely changes in either Topology.MetricSpace.Polish
or Analysis.InnerProductSpace.PiL2
are to blame
Mario Carneiro (May 29 2023 at 14:20):
compared to the autogenerated versions of these files
Yury G. Kudryashov (May 31 2023 at 12:50):
mathport
doesn't work again
Yury G. Kudryashov (May 31 2023 at 12:50):
https://github.com/leanprover-community/mathport/actions
Yury G. Kudryashov (May 31 2023 at 12:50):
Some update
s failed, then many jobs are "Queued"
Eric Wieser (May 31 2023 at 12:53):
Kevin Buzzard (May 31 2023 at 13:16):
What happened to 4 and 5?
Eric Wieser (May 31 2023 at 13:32):
I think they might be owned by leanprover
rather than leanprover-community
Scott Morrison (Jun 01 2023 at 02:06):
Eric's screenshot was from https://github.com/leanprover-community/mathlib4/settings/actions/runners. Everything looks healthier now!
Scott Morrison (Jun 01 2023 at 02:23):
As far as I can tell we haven't actually been running mathlib4 CI on the Hoskinson machines at all yet. !4#4539 turns this on.
Yury G. Kudryashov (Jun 01 2023 at 02:24):
Now we can see that mathport
actually fails
Yury G. Kudryashov (Jun 01 2023 at 02:24):
On MeasureTheory.Function.Jacobian
Mario Carneiro (Jun 01 2023 at 02:25):
yeah, that's the same failure that was reported before
Mario Carneiro (Jun 01 2023 at 02:26):
I ran mathport locally to diagnose, but I'm still at the stage "well, I guess _proof_3
is in both of those oleans" until I can figure out how to load the oleans or the tleans to find out who put it there
Mario Carneiro (Jun 01 2023 at 02:49):
Aha: [translateName] orthonormal_basis.has_coe_to_fun._proof_3 -> _proof_3
Mario Carneiro (Jun 01 2023 at 02:50):
my guess is that orthonormal_basis.has_coe_to_fun
has been #noalign
ed, which is stored as an alignment to .anonymous
, and so its _proof_3
subproof was translated to just plain _proof_3
Mario Carneiro (Jun 01 2023 at 02:50):
(because spoilers, mathport doesn't actually do anything about #noalign
)
Mario Carneiro (Jun 01 2023 at 03:11):
pushed a fix
Mario Carneiro (Jun 03 2023 at 20:49):
import Archive.Imo.Imo2005Q4 failed, environment already contains 'Imo.a' from Archive.Imo.Imo1998Q2
seems the archive is still not fixed
Mario Carneiro (Jun 03 2023 at 20:50):
and now it's on mathport master so we should probably get this fixed soonish
Damiano Testa (Jun 03 2023 at 20:51):
Ah, I used imo
as namespace for the files in imo
, so that the theorem names that were the actual full imo problem name would not cause duplicates. I can fix this, but I'm not sure that I'll have time tomorrow. On Monday for sure, though.
Damiano Testa (Jun 03 2023 at 20:55):
Probably the simplest is to use the filename as namespace and possibly turn off the repeated namespace linter (if it even complains).
Eric Wieser (Jun 03 2023 at 20:57):
I think we can drop the .imo.
part of the namespace if the namespace is archive.imo2005Q4
Damiano Testa (Jun 03 2023 at 20:57):
Note that namespace imo
and end imo
should be the only lines that need changing.
Damiano Testa (Jun 03 2023 at 20:58):
Eric, I did not use archive
, just imo
.
Damiano Testa (Jun 03 2023 at 21:00):
A possible solution would be to sed
the lines mentioned above with something like sed -i "s=^namespace imo$=namespace ${filename}=" "${filename}"
and similarly with end
.
Damiano Testa (Jun 03 2023 at 21:03):
Btw, why was the name clash not picked up by the linter that Eric mentioned?
Damiano Testa (Jun 03 2023 at 21:09):
To summarise, my mistake has been that I introduced a namespace that would shield src
names from names in archive
, but it does not shield names clashes between different imo
files. For that, using a file-dependent namespace would solve the issue.
Eric Wieser (Jun 03 2023 at 21:13):
Damiano Testa said:
Btw, why was the name clash not picked up by the linter that Eric mentioned?
Because the linter ran in mathlib3 where the names are a
and A
Eric Wieser (Jun 03 2023 at 21:14):
And mathport is translating them both to a
then failing
Eric Wieser (Jun 03 2023 at 21:14):
Can we solve this by just committing a dummy file to mathlib4 that aligns A
to A
?
Eric Wieser (Jun 03 2023 at 21:14):
I would guess the IMO problems want to ignore mathlib naming conventions and actually use the same case as the real problem anyway
Mario Carneiro (Jun 03 2023 at 22:12):
The naming here is clearly not sustainable. what if another IMO problem has a variable or sequence named a
or A
?
Scott Morrison (Jun 03 2023 at 23:18):
This was why I put every IMO problem in its own namespace, but for some reason people didn't like this.
Yaël Dillies (Jun 03 2023 at 23:24):
I liked this idea, personally. This is what I've already done for the Oxford invariants problem when it was first PRed iirc.
Mario Carneiro (Jun 03 2023 at 23:29):
I actually thought it was the namespace archive
that was considered unnecessary
Eric Wieser (Jun 04 2023 at 00:17):
Yes, putting every IMO problem in its own namespace was the part of your PR l liked most Scott!
Damiano Testa (Jun 04 2023 at 02:28):
Ok, #19152 replaces the blanket imo
namespace with imoYYYY_qX
. I also added nolint dup_namespace
profusely and sometimes unnecessarily. Once it passes linting, I will remove the unnecessary nolint
attributes.
Damiano Testa (Jun 04 2023 at 03:23):
The PR passed CI in its first form, with all the nolint dup_namespace
. I have now removed the nolint
on the declarations that are in fact not actually duplicated.
Eric Wieser (Jun 06 2023 at 23:05):
@Mario Carneiro, what's next in the process of actually making archive files available to port? It doesn't look like https://github.com/leanprover-community/mathlib3port/commit/4db5aed14bfb7740f99faa340ab2c7dec1c4a72c worked
Eric Wieser (Jun 06 2023 at 23:07):
Do we just need to change the git add Mathbin upstream-rev README.md lake-manifest.json
line?
Mario Carneiro (Jun 06 2023 at 23:10):
I think so, I just did that
Yury G. Kudryashov (Jun 07 2023 at 17:16):
One more spacing issue: mathport
outputs ∫ x in a.1 ..b.1, f x
for an interval integral but Lean 4 accepts only ∫ x in a.1..b.1, f x
(no space before ..
). Not sure which side needs to be fixed. Note that we also have notation ∫ x in s, f x
for an integral over a set, so relaxing the interval notation too much is not an option.
Scott Morrison (Jun 07 2023 at 20:56):
mathport failed overnight due to the new proofwidgets dependency in mathlib4. Hopefully should be fixed by https://github.com/leanprover-community/mathport/pull/241.
Yury G. Kudryashov (Jun 07 2023 at 21:24):
Now mathlib3port
has Archive/
etc but start_port.sh
doesn't support these folders.
Eric Wieser (Jun 07 2023 at 21:50):
I have a PR open for that
Eric Wieser (Jun 07 2023 at 21:50):
But right now it's a feature; if you add archive files manually they won't actually be tested in mathlib4 CI yet
Mario Carneiro (Jun 09 2023 at 04:59):
mathport is down again (expected because of the lean bump), but I'm not having any success using the downloaded cache files: lean crashes with error code 139 on startup, even on files that have already been pre-built from mathlib
Mario Carneiro (Jun 09 2023 at 05:00):
it seems to work fine in CI though
Yury G. Kudryashov (Jun 09 2023 at 05:01):
Does lake clean; killall lean; lake exe cache get
help?
Yury G. Kudryashov (Jun 09 2023 at 05:02):
Another thing to try: clean your local cache and redownload.
Mario Carneiro (Jun 09 2023 at 05:02):
I did rm -rf lake-packages; lake exe cache get
and it didn't seem to help
Mario Carneiro (Jun 09 2023 at 05:02):
currently building mathlib locally to see whether it makes a difference
Yury G. Kudryashov (Jun 09 2023 at 05:02):
What about ~/.cache/mathlib/
?
Mario Carneiro (Jun 09 2023 at 05:03):
ah, that could be it
Mario Carneiro (Aug 26 2023 at 08:56):
Just FYI, I have reduced the rate of the "mathport" workflow (which updates mathlib4) to 1/day. It is still useful to keep it running, as it breaks every once in a while due to mathlib4 tactic changes, but it isn't being hammered constantly anymore so this seems like a better use of resources
Last updated: Dec 20 2023 at 11:08 UTC