Zulip Chat Archive

Stream: mathlib4

Topic: !4#2798 simpNF


Jeremy Tan (Mar 11 2023 at 15:08):

!4#2798 is failing in the lint stage repeatedly

Jeremy Tan (Mar 11 2023 at 15:09):

should the currently running bors build be stopped?

Jeremy Tan (Mar 11 2023 at 15:09):

/- The `simpNF` linter reports:
SOME SIMP LEMMAS ARE NOT IN SIMP-NORMAL FORM.
see note [simp-normal form] for tips how to debug this.
https://leanprover-community.github.io/mathlib_docs/notes.html#simp-normal%20form -/
-- Mathlib.CategoryTheory.Preadditive.AdditiveFunctor
#check CategoryTheory.Functor.map_add.{u_4, u_3, u_2, u_1} /- LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CategoryTheory.Limits.HasZeroObject D
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit) -/
#check CategoryTheory.Functor.mapAddHom_apply.{u_1, u_2, u_3, u_4} /- LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CategoryTheory.Limits.HasZeroObject D
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit) -/
#check CategoryTheory.Functor.map_neg.{u_4, u_3, u_2, u_1} /- LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CategoryTheory.Limits.HasZeroObject D
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit) -/
#check CategoryTheory.Functor.map_sub.{u_4, u_3, u_2, u_1} /- LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CategoryTheory.Limits.HasZeroObject D
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit) -/
#check CategoryTheory.Functor.map_sum.{u_5, u_4, u_3, u_2, u_1} /- LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CategoryTheory.Limits.HasZeroObject D
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit) -/
#check CategoryTheory.AdditiveFunctor.forget_map.{u_4, u_3, u_2, u_1} /- LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CategoryTheory.Limits.HasZeroObject (C ⥤ D)
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit) -/
#check CategoryTheory.AdditiveFunctor.ofLeftExact_map.{v₁, v₂, u₁, u₂} /- LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CategoryTheory.Limits.HasZeroObject (C ⥤+ D)
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit) -/
#check CategoryTheory.AdditiveFunctor.ofRightExact_map.{v₁, v₂, u₁, u₂} /- LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CategoryTheory.Limits.HasZeroObject (C ⥤+ D)
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit) -/
#check CategoryTheory.AdditiveFunctor.ofExact_map.{v₁, v₂, u₁, u₂} /- LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CategoryTheory.Limits.HasZeroObject (C ⥤+ D)
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit) -/
make: *** [GNUmakefile:16: lint] Error 1
Error: Process completed with exit code 2.

Johan Commelin (Mar 11 2023 at 15:16):

@Jeremy Tan Thanks! I took it of the queue.

Johan Commelin (Mar 11 2023 at 15:17):

Wait, that's the wrong PR!

Jeremy Tan (Mar 11 2023 at 15:18):

Umm... I believe I put the right PR here

Johan Commelin (Mar 11 2023 at 15:20):

The linting errors are all about category theory. But that PR doesn't have anything to do with it.

Jeremy Tan (Mar 11 2023 at 15:22):

The errors all relate to the CategoryTheory.Preadditive.AdditiveFunctor port that was pushed a mere hour ago. Perhaps the "ripple effect" changes from Data.Fintype.Basic need to be extended to that file

Chris Hughes (Mar 11 2023 at 15:31):

!4#2797 is currently failing. I think that was the problem

Jeremy Tan (Mar 11 2023 at 15:31):

Right...

Chris Hughes (Mar 11 2023 at 15:32):

Although it is very strange that that file would cause problems

Jeremy Tan (Mar 11 2023 at 15:33):

Maybe it's just bors getting confused, instead of mathport

I saw the build for !4#2798 fail three times

Johan Commelin (Mar 11 2023 at 15:33):

Hmmm, that is very weird indeed

Johan Commelin (Mar 11 2023 at 15:34):

Ok, I took it of the queue again

Chris Hughes (Mar 11 2023 at 15:35):

I ran the Linter for !4#2797 locally and it failed. Although #lint in the file where it failed seemed to succeed.

Chris Hughes (Mar 11 2023 at 15:35):

I guess maybe runLinter checks for simpNF after importing everything and #lint doesn't do that?

Jeremy Tan (Mar 11 2023 at 15:40):

Jeremy Tan said:

Maybe it's just bors getting confused, instead of mathport

I saw the build for !4#2798 fail three times

Re this: https://lichess.org/twejU3rW/black

image.png

Chris Hughes (Mar 11 2023 at 15:41):

I just tried runLinter on current master and it failed

Chris Hughes (Mar 11 2023 at 15:41):

That's the problem

Chris Hughes (Mar 11 2023 at 15:46):

Sorry, that's not the problem, I had old oleans.

Kyle Miller (Mar 11 2023 at 15:55):

@Jeremy Tan Something to know about bors that might not be obvious is that it merges batches of PRs and does a single build. When there are build failures it rebuilds subsets.

Notification Bot (Mar 11 2023 at 16:24):

Jeremy Tan has marked this topic as resolved.

Notification Bot (Mar 11 2023 at 16:49):

Jeremy Tan has marked this topic as unresolved.

Jeremy Tan (Mar 11 2023 at 16:49):

merge conflict at !4#2803

Jeremy Tan (Mar 11 2023 at 16:52):

also it looks like some more PRs could be marked as ready

Jeremy Tan (Mar 11 2023 at 16:59):

*to merge

Johan Commelin (Mar 11 2023 at 17:53):

@Jeremy Tan ready-to-merge is added automatically when a maintainer gives the bors r+ (= bors merge) command.

Jeremy Tan (Mar 11 2023 at 17:53):

yeah I know that

Johan Commelin (Mar 11 2023 at 17:54):

If there are some PRs that you have reviewed and you think they look good, then please "Approve" them using the github interface.

Johan Commelin (Mar 11 2023 at 17:54):

This is very helpful for maintainers, because they get the signal that another person think a PR is ready

Jeremy Tan (Mar 11 2023 at 17:56):

so, like this? !4#2782

Jeremy Tan (Mar 11 2023 at 18:13):

!4#2769 just failed with the simpNF errors, that's got to be the one

Kyle Miller (Mar 11 2023 at 18:25):

How do you mean? It's not on the bors queue, unless you're inferring something from whatever mattrobball merged something into this an hour ago.

Matthew Ballard (Mar 11 2023 at 18:45):

I did some poking at this.

  • everything builds fine
  • #lint is clear on CategoryTheory/Preadditive/AdditiveFunctor.lean
  • #synth Limits.HasZeroObject D fails after L54 on the same file
  • runLinter fails on this branch on my machine
  • runLinter succeeds on master on my machine
  • runLintersucceeds on this branch after removing CategoryTheory/Abelian/Basic.lean (the only new file)

The errors from simpNF all complain about missing HasZeroObject instances on things where they should not be necessary (Preadditive does not extend HasZeroObject unless I mistaken).

Matthew Ballard (Mar 11 2023 at 18:54):

If simpNF is trying to go from Preadditive to Abelian something is weird

Matthew Ballard (Mar 11 2023 at 18:59):

Lean knows it does not need the HasZeroObject instances (as it shouldn't) but for some reason simpNF is looking for them

Matthew Ballard (Mar 11 2023 at 19:00):

I probably won't have much time to look at this more until this evening. Anyone should feel free to diagnose and cure. (And then we can knock off another target.)

Jeremy Tan (Mar 12 2023 at 02:12):

Typo fix: !4#2816

Jeremy Tan (Mar 12 2023 at 14:12):

…now I'm getting the same problem in the workflow for my own !4#2816 !!!


Last updated: Dec 20 2023 at 11:08 UTC