@@ -950,26 +950,26 @@ theorem continuous_sum_elim {f : X → Z} {g : Y → Z} :
950
950
continuous_sum_dom
951
951
#align continuous_sum_elim continuous_sum_elim
952
952
953
- @[continuity]
953
+ @[continuity, fun_prop ]
954
954
theorem Continuous.sum_elim {f : X → Z} {g : Y → Z} (hf : Continuous f) (hg : Continuous g) :
955
955
Continuous (Sum.elim f g) :=
956
956
continuous_sum_elim.2 ⟨hf, hg⟩
957
957
#align continuous.sum_elim Continuous.sum_elim
958
958
959
- @[continuity]
959
+ @[continuity, fun_prop ]
960
960
theorem continuous_isLeft : Continuous (isLeft : X ⊕ Y → Bool) :=
961
961
continuous_sum_dom.2 ⟨continuous_const, continuous_const⟩
962
962
963
- @[continuity]
963
+ @[continuity, fun_prop ]
964
964
theorem continuous_isRight : Continuous (isRight : X ⊕ Y → Bool) :=
965
965
continuous_sum_dom.2 ⟨continuous_const, continuous_const⟩
966
966
967
- @[continuity]
967
+ @[continuity, fun_prop ]
968
968
-- Porting note: the proof was `continuous_sup_rng_left continuous_coinduced_rng`
969
969
theorem continuous_inl : Continuous (@inl X Y) := ⟨fun _ => And.left⟩
970
970
#align continuous_inl continuous_inl
971
971
972
- @[continuity]
972
+ @[continuity, fun_prop ]
973
973
-- Porting note: the proof was `continuous_sup_rng_right continuous_coinduced_rng`
974
974
theorem continuous_inr : Continuous (@inr X Y) := ⟨fun _ => And.right⟩
975
975
#align continuous_inr continuous_inr
@@ -1048,7 +1048,7 @@ theorem continuous_sum_map {f : X → Y} {g : Z → W} :
1048
1048
embedding_inl.continuous_iff.symm.and embedding_inr.continuous_iff.symm
1049
1049
#align continuous_sum_map continuous_sum_map
1050
1050
1051
- @[continuity]
1051
+ @[continuity, fun_prop ]
1052
1052
theorem Continuous.sum_map {f : X → Y} {g : Z → W} (hf : Continuous f) (hg : Continuous g) :
1053
1053
Continuous (Sum.map f g) :=
1054
1054
continuous_sum_map.2 ⟨hf, hg⟩
@@ -1093,7 +1093,7 @@ theorem closedEmbedding_subtype_val (h : IsClosed { a | p a }) :
1093
1093
⟨embedding_subtype_val, by rwa [Subtype.range_coe_subtype]⟩
1094
1094
#align closed_embedding_subtype_coe closedEmbedding_subtype_val
1095
1095
1096
- @[continuity]
1096
+ @[continuity, fun_prop ]
1097
1097
theorem continuous_subtype_val : Continuous (@Subtype.val X p) :=
1098
1098
continuous_induced_dom
1099
1099
#align continuous_subtype_val continuous_subtype_val
@@ -1123,7 +1123,7 @@ nonrec theorem IsClosed.closedEmbedding_subtype_val {s : Set X} (hs : IsClosed s
1123
1123
closedEmbedding_subtype_val hs
1124
1124
#align is_closed.closed_embedding_subtype_coe IsClosed.closedEmbedding_subtype_val
1125
1125
1126
- @[continuity]
1126
+ @[continuity, fun_prop ]
1127
1127
theorem Continuous.subtype_mk {f : Y → X} (h : Continuous f) (hp : ∀ x, p (f x)) :
1128
1128
Continuous fun x => (⟨f x, hp x⟩ : Subtype p) :=
1129
1129
continuous_induced_rng.2 h
@@ -1190,18 +1190,18 @@ theorem ContinuousAt.restrictPreimage {f : X → Y} {s : Set Y} {x : f ⁻¹' s}
1190
1190
h.restrict _
1191
1191
#align continuous_at.restrict_preimage ContinuousAt.restrictPreimage
1192
1192
1193
- @[continuity]
1193
+ @[continuity, fun_prop ]
1194
1194
theorem Continuous.codRestrict {f : X → Y} {s : Set Y} (hf : Continuous f) (hs : ∀ a, f a ∈ s) :
1195
1195
Continuous (s.codRestrict f hs) :=
1196
1196
hf.subtype_mk hs
1197
1197
#align continuous.cod_restrict Continuous.codRestrict
1198
1198
1199
- @[continuity]
1199
+ @[continuity, fun_prop ]
1200
1200
theorem Continuous.restrict {f : X → Y} {s : Set X} {t : Set Y} (h1 : MapsTo f s t)
1201
1201
(h2 : Continuous f) : Continuous (h1.restrict f s t) :=
1202
1202
(h2.comp continuous_subtype_val).codRestrict _
1203
1203
1204
- @[continuity]
1204
+ @[continuity, fun_prop ]
1205
1205
theorem Continuous.restrictPreimage {f : X → Y} {s : Set Y} (h : Continuous f) :
1206
1206
Continuous (s.restrictPreimage f) :=
1207
1207
h.restrict _
@@ -1246,12 +1246,12 @@ theorem quotientMap_quot_mk : QuotientMap (@Quot.mk X r) :=
1246
1246
⟨Quot.exists_rep, rfl⟩
1247
1247
#align quotient_map_quot_mk quotientMap_quot_mk
1248
1248
1249
- @[continuity]
1249
+ @[continuity, fun_prop ]
1250
1250
theorem continuous_quot_mk : Continuous (@Quot.mk X r) :=
1251
1251
continuous_coinduced_rng
1252
1252
#align continuous_quot_mk continuous_quot_mk
1253
1253
1254
- @[continuity]
1254
+ @[continuity, fun_prop ]
1255
1255
theorem continuous_quot_lift {f : X → Y} (hr : ∀ a b, r a b → f a = f b) (h : Continuous f) :
1256
1256
Continuous (Quot.lift f hr : Quot r → Y) :=
1257
1257
continuous_coinduced_dom.2 h
@@ -1276,7 +1276,8 @@ theorem Continuous.quotient_liftOn' {f : X → Y} (h : Continuous f)
1276
1276
h.quotient_lift hs
1277
1277
#align continuous.quotient_lift_on' Continuous.quotient_liftOn'
1278
1278
1279
- @[continuity] theorem Continuous.quotient_map' {t : Setoid Y} {f : X → Y} (hf : Continuous f)
1279
+ @[continuity, fun_prop]
1280
+ theorem Continuous.quotient_map' {t : Setoid Y} {f : X → Y} (hf : Continuous f)
1280
1281
(H : (s.r ⇒ t.r) f f) : Continuous (Quotient.map' f H) :=
1281
1282
(continuous_quotient_mk'.comp hf).quotient_lift _
1282
1283
#align continuous.quotient_map' Continuous.quotient_map'
@@ -1395,7 +1396,7 @@ theorem Continuous.update [DecidableEq ι] (hf : Continuous f) (i : ι) {g : X
1395
1396
#align continuous.update Continuous.update
1396
1397
1397
1398
/-- `Function.update f i x` is continuous in `(f, x)`. -/
1398
- @[continuity]
1399
+ @[continuity, fun_prop ]
1399
1400
theorem continuous_update [DecidableEq ι] (i : ι) :
1400
1401
Continuous fun f : (∀ j, π j) × π i => update f.1 i f.2 :=
1401
1402
continuous_fst.update i continuous_snd
@@ -1587,7 +1588,7 @@ section Sigma
1587
1588
variable {ι κ : Type *} {σ : ι → Type *} {τ : κ → Type *} [∀ i, TopologicalSpace (σ i)]
1588
1589
[∀ k, TopologicalSpace (τ k)] [TopologicalSpace X]
1589
1590
1590
- @[continuity]
1591
+ @[continuity, fun_prop ]
1591
1592
theorem continuous_sigmaMk {i : ι} : Continuous (@Sigma.mk ι σ i) :=
1592
1593
continuous_iSup_rng continuous_coinduced_rng
1593
1594
#align continuous_sigma_mk continuous_sigmaMk
@@ -1674,7 +1675,7 @@ theorem continuous_sigma_iff {f : Sigma σ → X} :
1674
1675
#align continuous_sigma_iff continuous_sigma_iff
1675
1676
1676
1677
/-- A map out of a sum type is continuous if its restriction to each summand is. -/
1677
- @[continuity]
1678
+ @[continuity, fun_prop ]
1678
1679
theorem continuous_sigma {f : Sigma σ → X} (hf : ∀ i, Continuous fun a => f ⟨i, a⟩) :
1679
1680
Continuous f :=
1680
1681
continuous_sigma_iff.2 hf
@@ -1702,7 +1703,7 @@ theorem continuous_sigma_map {f₁ : ι → κ} {f₂ : ∀ i, σ i → τ (f₁
1702
1703
continuous_sigma_iff.trans <| by simp only [Sigma.map, embedding_sigmaMk.continuous_iff, comp]
1703
1704
#align continuous_sigma_map continuous_sigma_map
1704
1705
1705
- @[continuity]
1706
+ @[continuity, fun_prop ]
1706
1707
theorem Continuous.sigma_map {f₁ : ι → κ} {f₂ : ∀ i, σ i → τ (f₁ i)} (hf : ∀ i, Continuous (f₂ i)) :
1707
1708
Continuous (Sigma.map f₁ f₂) :=
1708
1709
continuous_sigma_map.2 hf
0 commit comments