@@ -108,52 +108,42 @@ noncomputable def quotientInfEquivSupQuotient (p p' : Submodule R M) :
108
108
⟨quotientInfEquivSupQuotient_injective p p', quotientInfEquivSupQuotient_surjective p p'⟩
109
109
#align linear_map.quotient_inf_equiv_sup_quotient LinearMap.quotientInfEquivSupQuotient
110
110
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
-
117
111
-- @[ simp ]
118
112
-- Porting note: `simp` affects the type arguments of `FunLike.coe`, so this theorem can't be
119
113
-- a simp theorem anymore, even if it has high priority.
120
114
theorem coe_quotientInfToSupQuotient (p p' : Submodule R M) :
121
- ⇑(quotientInfToSupQuotient p p') = asFun ( quotientInfEquivSupQuotient p p') :=
115
+ ⇑(quotientInfToSupQuotient p p') = quotientInfEquivSupQuotient p p' :=
122
116
rfl
123
117
#align linear_map.coe_quotient_inf_to_sup_quotient LinearMap.coe_quotientInfToSupQuotient
124
118
125
- -- Porting note: using asFun to avoid timing out
126
- @[simp, nolint simpNF] -- Porting note: The linter timeouts.
119
+ @[simp]
127
120
theorem quotientInfEquivSupQuotient_apply_mk (p p' : Submodule R M) (x : p) :
128
121
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) =
130
123
@Submodule.Quotient.mk R (p ⊔ p' : Submodule R M) _ _ _ (comap (p ⊔ p').subtype p') (map x) :=
131
124
rfl
132
125
#align linear_map.quotient_inf_equiv_sup_quotient_apply_mk LinearMap.quotientInfEquivSupQuotient_apply_mk
133
126
134
- -- Porting note: using asFun to avoid timing out
135
127
theorem quotientInfEquivSupQuotient_symm_apply_left (p p' : Submodule R M) (x : ↥(p ⊔ p'))
136
128
(hx : (x : M) ∈ p) :
137
- asFun (( quotientInfEquivSupQuotient p p').symm) (Submodule.Quotient.mk x) =
129
+ ( quotientInfEquivSupQuotient p p').symm (Submodule.Quotient.mk x) =
138
130
Submodule.Quotient.mk ⟨x, hx⟩ :=
139
131
(LinearEquiv.symm_apply_eq _).2 <| by
140
132
-- Porting note: Was `simp`.
141
- rw [← asFun_coe, quotientInfEquivSupQuotient_apply_mk, ofLe_apply]
133
+ rw [quotientInfEquivSupQuotient_apply_mk, ofLe_apply]
142
134
#align linear_map.quotient_inf_equiv_sup_quotient_symm_apply_left LinearMap.quotientInfEquivSupQuotient_symm_apply_left
143
135
144
136
145
- -- Porting note: using asFun to avoid timing out
146
137
-- @[ simp ] -- Porting note: simp can prove this
147
138
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' :=
149
140
(LinearEquiv.symm_apply_eq _).trans <| by
150
141
-- Porting note: Was `simp`.
151
142
rw [_root_.map_zero, Quotient.mk_eq_zero, mem_comap, Submodule.coeSubtype]
152
143
#align linear_map.quotient_inf_equiv_sup_quotient_symm_apply_eq_zero_iff LinearMap.quotientInfEquivSupQuotient_symm_apply_eq_zero_iff
153
144
154
- -- Porting note: using asFun to avoid timing out
155
145
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)
157
147
= 0 :=
158
148
quotientInfEquivSupQuotient_symm_apply_eq_zero_iff.2 hx
159
149
#align linear_map.quotient_inf_equiv_sup_quotient_symm_apply_right LinearMap.quotientInfEquivSupQuotient_symm_apply_right
0 commit comments