Zulip Chat Archive

Stream: nightly-testing

Topic: LinearAlgebra.CrossProduct simpnf linter typeclass timeouts


Ruben Van de Velde (Apr 12 2024 at 19:32):

github mathlib4 bot said:

:cross_mark: The latest CI for Mathlib's branch#nightly-testing has failed.

/- 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.LinearAlgebra.CrossProduct
Error: ././././Mathlib/LinearAlgebra/CrossProduct.lean:72:1: error: cross_anticomm.{u_1} LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CommMonoidWithZero ((Fin 3  R) →ₗ[R] Fin 3  R)
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit)
Error: ././././Mathlib/LinearAlgebra/CrossProduct.lean:80:1: error: cross_anticomm'.{u_1} LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CommMonoidWithZero ((Fin 3  R) →ₗ[R] Fin 3  R)
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit)
Error: ././././Mathlib/LinearAlgebra/CrossProduct.lean:85:1: error: cross_self.{u_1} LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CommMonoidWithZero ((Fin 3  R) →ₗ[R] Fin 3  R)
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit)
Error: ././././Mathlib/LinearAlgebra/CrossProduct.lean:93:1: error: dot_self_cross.{u_1} LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CommMonoidWithZero ((Fin 3  R) →ₗ[R] Fin 3  R)
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit)
Error: ././././Mathlib/LinearAlgebra/CrossProduct.lean:101:1: error: dot_cross_self.{u_1} LINTER FAILED:
simplify fails on left-hand side:
failed to synthesize
  CommMonoidWithZero ((Fin 3  R) →ₗ[R] Fin 3  R)
(deterministic) timeout at 'typeclass', maximum number of heartbeats (20000) has been reached (use 'set_option synthInstance.maxHeartbeats <num>' to set the limit)

I'm not sure how to deal with those, except just adding nolint

Eric Wieser (Apr 12 2024 at 21:51):

This looks pretty damning. I've seen this behavior on some fairly complex types around CliffordAlgebra, where simp starts failing to find random typeclasses, but these seem to simple to ignore


Last updated: May 02 2025 at 03:31 UTC