Skip to content

Commit 3d49f21

Browse files
committed
chore: some simpNF cleanaup after #3414 (#4033)
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
1 parent 674cdb1 commit 3d49f21

File tree

3 files changed

+19
-31
lines changed

3 files changed

+19
-31
lines changed

Mathlib/Data/Finset/Pointwise.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2044,7 +2044,7 @@ theorem mem_inv_smul_finset_iff₀ (ha : a ≠ 0) : b ∈ a⁻¹ • s ↔ a •
20442044
show _ ∈ (Units.mk0 a ha)⁻¹ • _ ↔ _ from mem_inv_smul_finset_iff
20452045
#align finset.mem_inv_smul_finset_iff₀ Finset.mem_inv_smul_finset_iff₀
20462046

2047-
-- @[simp] -- Porting note: `simpNF` linter times out
2047+
@[simp]
20482048
theorem smul_finset_subset_smul_finset_iff₀ (ha : a ≠ 0) : a • s ⊆ a • t ↔ s ⊆ t :=
20492049
show Units.mk0 a ha • _ ⊆ _ ↔ _ from smul_finset_subset_smul_finset_iff
20502050
#align finset.smul_finset_subset_smul_finset_iff₀ Finset.smul_finset_subset_smul_finset_iff₀

Mathlib/LinearAlgebra/Isomorphisms.lean

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -108,52 +108,42 @@ noncomputable def quotientInfEquivSupQuotient (p p' : Submodule R M) :
108108
⟨quotientInfEquivSupQuotient_injective p p', quotientInfEquivSupQuotient_surjective p p'⟩
109109
#align linear_map.quotient_inf_equiv_sup_quotient LinearMap.quotientInfEquivSupQuotient
110110

111-
-- Porting note: wrapper to help with tc synthesis timing out
112-
-- Try to remove these during lean4#2210 cleanup
113-
/-- These should be removed -/
114-
abbrev asFun (f : M ≃ₗ[R] M₂) : M → M₂ := f
115-
theorem asFun_coe (f : M ≃ₗ[R] M₂) : asFun f = f := rfl
116-
117111
-- @[simp]
118112
-- Porting note: `simp` affects the type arguments of `FunLike.coe`, so this theorem can't be
119113
-- a simp theorem anymore, even if it has high priority.
120114
theorem coe_quotientInfToSupQuotient (p p' : Submodule R M) :
121-
⇑(quotientInfToSupQuotient p p') = asFun (quotientInfEquivSupQuotient p p') :=
115+
⇑(quotientInfToSupQuotient p p') = quotientInfEquivSupQuotient p p' :=
122116
rfl
123117
#align linear_map.coe_quotient_inf_to_sup_quotient LinearMap.coe_quotientInfToSupQuotient
124118

125-
-- Porting note: using asFun to avoid timing out
126-
@[simp, nolint simpNF] -- Porting note: The linter timeouts.
119+
@[simp]
127120
theorem quotientInfEquivSupQuotient_apply_mk (p p' : Submodule R M) (x : p) :
128121
let map := ofLe (le_sup_left : p ≤ p ⊔ p')
129-
asFun (quotientInfEquivSupQuotient p p') (Submodule.Quotient.mk x) =
122+
quotientInfEquivSupQuotient p p' (Submodule.Quotient.mk x) =
130123
@Submodule.Quotient.mk R (p ⊔ p' : Submodule R M) _ _ _ (comap (p ⊔ p').subtype p') (map x) :=
131124
rfl
132125
#align linear_map.quotient_inf_equiv_sup_quotient_apply_mk LinearMap.quotientInfEquivSupQuotient_apply_mk
133126

134-
-- Porting note: using asFun to avoid timing out
135127
theorem quotientInfEquivSupQuotient_symm_apply_left (p p' : Submodule R M) (x : ↥(p ⊔ p'))
136128
(hx : (x : M) ∈ p) :
137-
asFun ((quotientInfEquivSupQuotient p p').symm) (Submodule.Quotient.mk x) =
129+
(quotientInfEquivSupQuotient p p').symm (Submodule.Quotient.mk x) =
138130
Submodule.Quotient.mk ⟨x, hx⟩ :=
139131
(LinearEquiv.symm_apply_eq _).2 <| by
140132
-- Porting note: Was `simp`.
141-
rw [← asFun_coe, quotientInfEquivSupQuotient_apply_mk, ofLe_apply]
133+
rw [quotientInfEquivSupQuotient_apply_mk, ofLe_apply]
142134
#align linear_map.quotient_inf_equiv_sup_quotient_symm_apply_left LinearMap.quotientInfEquivSupQuotient_symm_apply_left
143135

144136

145-
-- Porting note: using asFun to avoid timing out
146137
-- @[simp] -- Porting note: simp can prove this
147138
theorem quotientInfEquivSupQuotient_symm_apply_eq_zero_iff {p p' : Submodule R M} {x : ↥(p ⊔ p')} :
148-
asFun ((quotientInfEquivSupQuotient p p').symm) (Submodule.Quotient.mk x) = 0 ↔ (x : M) ∈ p' :=
139+
(quotientInfEquivSupQuotient p p').symm (Submodule.Quotient.mk x) = 0 ↔ (x : M) ∈ p' :=
149140
(LinearEquiv.symm_apply_eq _).trans <| by
150141
-- Porting note: Was `simp`.
151142
rw [_root_.map_zero, Quotient.mk_eq_zero, mem_comap, Submodule.coeSubtype]
152143
#align linear_map.quotient_inf_equiv_sup_quotient_symm_apply_eq_zero_iff LinearMap.quotientInfEquivSupQuotient_symm_apply_eq_zero_iff
153144

154-
-- Porting note: using asFun to avoid timing out
155145
theorem quotientInfEquivSupQuotient_symm_apply_right (p p' : Submodule R M) {x : ↥(p ⊔ p')}
156-
(hx : (x : M) ∈ p') : asFun ((quotientInfEquivSupQuotient p p').symm) (Submodule.Quotient.mk x)
146+
(hx : (x : M) ∈ p') : (quotientInfEquivSupQuotient p p').symm (Submodule.Quotient.mk x)
157147
= 0 :=
158148
quotientInfEquivSupQuotient_symm_apply_eq_zero_iff.2 hx
159149
#align linear_map.quotient_inf_equiv_sup_quotient_symm_apply_right LinearMap.quotientInfEquivSupQuotient_symm_apply_right

Mathlib/RingTheory/Ideal/QuotientOperations.lean

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -286,12 +286,18 @@ theorem kerLiftAlg_mk (f : A →ₐ[R₁] B) (a : A) :
286286
rfl
287287
#align ideal.ker_lift_alg_mk Ideal.kerLiftAlg_mk
288288

289-
-- Porting note: short circuit tc synth and use unification (_)
290-
@[simp]
289+
-- Porting note: not sure about this simpNF
290+
-- The linter says:
291+
-- #check Ideal.kerLiftAlg_toRingHom.{u_3, u_2, u_1} /- Left-hand side simplifies from
292+
-- ↑(Ideal.kerLiftAlg f)
293+
-- to
294+
-- ↑(Ideal.kerLiftAlg f)
295+
-- using
296+
-- simp only [@AlgHom.toRingHom_eq_coe]
297+
@[simp, nolint simpNF]
291298
theorem kerLiftAlg_toRingHom (f : A →ₐ[R₁] B) :
292-
@AlgHom.toRingHom (R := R₁) (A := A ⧸ RingHom.ker f) (B := B) _ (_) _ (_) _ (kerLiftAlg f)
293-
= RingHom.kerLift (R := A) (S := B)
294-
(@AlgHom.toRingHom (R := R₁) (A := A) (B := B) _ _ _ _ _ f) := rfl
299+
(kerLiftAlg f).toRingHom = RingHom.kerLift (f : A →+* B) :=
300+
rfl
295301
#align ideal.ker_lift_alg_to_ring_hom Ideal.kerLiftAlg_toRingHom
296302

297303
-- Porting note: short circuit tc synth and use unification (_)
@@ -662,14 +668,6 @@ theorem quotQuotEquivComm_algebraMap (x : R) :
662668
rfl
663669
#align double_quot.quot_quot_equiv_comm_algebra_map DoubleQuot.quotQuotEquivComm_algebraMap
664670

665-
-- Porting note: timing out due to Lean4#2074
666-
attribute [nolint simpNF] Ideal.kerLiftAlg_toRingHom
667-
Ideal.quotientKerAlgEquivOfRightInverse.apply
668-
Ideal.QuotientKerAlgEquivOfRightInverseSymm.apply
669-
DoubleQuot.quotQuotEquivComm_comp_quotQuotMk
670-
DoubleQuot.quotQuotEquivComm_mk_mk
671-
Ideal.kerLiftAlg_mk
672-
673671
end Algebra
674672

675673
end DoubleQuot

0 commit comments

Comments
 (0)