Zulip Chat Archive

Stream: mathlib4

Topic: Nonneg ring !4#1260


Yury G. Kudryashov (Feb 10 2023 at 01:14):

I fixed a timeout in !4#1260 by changing instances before with to terms that appear in the extends chain. Can we do the same to the other? It may be harder because it has more non-structure arguments.

Notification Bot (Feb 10 2023 at 01:15):

Yury G. Kudryashov has marked this topic as resolved.

Notification Bot (Feb 10 2023 at 01:15):

Yury G. Kudryashov has marked this topic as unresolved.

Jon Eugster (Feb 10 2023 at 01:49):

interestingly enough, the timeout you mention seem to also be fixed by just swapping

{ Nonneg.linearOrderedSemiring, Nonneg.orderedCommSemiring with

to

{ Nonneg.orderedCommSemiring, Nonneg.linearOrderedSemiring with

It compiles now and is fully linted :smile:

Yury G. Kudryashov (Feb 10 2023 at 01:52):

I'm going to fix the lemmas that you commented instead of removing them. It seems that the parser added coercions at wrong places.

Yury G. Kudryashov (Feb 10 2023 at 02:14):

@porters Should we merge it now (and unlock some dependencies) or wait for a proper fix in the Lean core?

Yury G. Kudryashov (Feb 10 2023 at 07:09):

@Mario Carneiro Reporting a mathport bug (or a missing feature). We have many lemmas like (s t : Finset α) : ↑(s ∪ t) = (s ∪ t : Set α). In Lean 3, this was interpreted as (s t : finset α) : (s ∪ t).to_set = s.to_set ∪ t.to_set while Lean 4 interprets it as (s t : Finset α) : (s ∪ t).toSet = (s ∪ t).toSet changing its meaning and making it useless. Is it possible to adjust these lemmas in mathport? E.g., by adding some extra arrows.

Kevin Buzzard (Feb 10 2023 at 08:01):

I opened an issue about this against the lean repo but my understanding is that this change was intentional so really it should be opened against mathport instead

Jon Eugster (Feb 10 2023 at 09:40):

Yury G. Kudryashov said:

porters Should we merge it now (and unlock some dependencies) or wait for a proper fix in the Lean core?

I believe with per-file caching it's not too much of a bother merging now even if it has a set_option maxHeartbeat in there.

Jireh Loreaux (Feb 10 2023 at 18:59):

Do we think the timeouts here are again the structure eta issue in type class inference?

Yury G. Kudryashov (Feb 11 2023 at 06:04):

I rebased on master to see how it works with new Lean

Yury G. Kudryashov (Feb 11 2023 at 06:13):

It works without set_option maxHeartbeats!

Yury G. Kudryashov (Feb 11 2023 at 06:13):

Should we merge it now?


Last updated: Dec 20 2023 at 11:08 UTC