Zulip Chat Archive
Stream: lean4
Topic: Lake `FamilyOut.fam_eq` leads to timeouts?
Christian Merten (Jan 14 2026 at 23:53):
Not a mathlib free MWE, but I don't think it is needed here. Lake.FamilyOut.fam_eq is a simp lemma with a very permissive discrimination tree key (@Eq _ _ _). The file Lake.Util.Family is currently not imported in mathlib, but I recently transitively imported it in some meta program, which lead to some very confusing timeouts.
A random example (from our favorite JacobiZariski.lean):
import Mathlib
import Lake.Util.Family
/-- info: @Eq _ _ _ -/
#guard_msgs in
#discr_tree_key Lake.FamilyOut.fam_eq
-- adding this line fixes the timeout
-- attribute [-simp] Lake.FamilyOut.fam_eq
open Algebra KaehlerDifferential Module MvPolynomial TensorProduct
universe w₁ w₂ w₃ w₄ w₅ u₁ u₂ u₃
variable {R : Type u₁} {S : Type u₂} [CommRing R] [CommRing S] [Algebra R S]
{T : Type u₃} [CommRing T] [Algebra R T]
[Algebra S T] [IsScalarTower R S T] {ι : Type w₁} {σ : Type w₂}
(Q : Generators S T ι) (P : Generators R S σ)
lemma map_comp_cotangentComplex_baseChange :
(Extension.CotangentSpace.map (Q.toComp P).toExtensionHom).liftBaseChange T ∘ₗ
P.toExtension.cotangentComplex.baseChange T =
(Q.comp P).toExtension.cotangentComplex ∘ₗ
(Extension.Cotangent.map (Q.toComp P).toExtensionHom).liftBaseChange T := by
ext x; simp [Extension.CotangentSpace.map_cotangentComplex]
Christian Merten (Jan 14 2026 at 23:54):
Could the simp attribute on Lake.FamilyOut.fam_eq be scoped to the Lake namespace?
Kim Morrison (Jan 27 2026 at 03:30):
Good catch! I've made it [scoped simp] in lean#12178
Last updated: Feb 28 2026 at 14:05 UTC