topology.compact_openMathlib.Topology.CompactOpen

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -51,62 +51,50 @@ variable {α : Type _} {β : Type _} {γ : Type _}
 
 variable [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ]
 
-#print ContinuousMap.CompactOpen.gen /-
 /-- A generating set for the compact-open topology (when `s` is compact and `u` is open). -/
-def CompactOpen.gen (s : Set α) (u : Set β) : Set C(α, β) :=
+def compactOpen.gen (s : Set α) (u : Set β) : Set C(α, β) :=
   {f | f '' s ⊆ u}
-#align continuous_map.compact_open.gen ContinuousMap.CompactOpen.gen
--/
+#align continuous_map.compact_open.gen ContinuousMap.compactOpen.gen
 
-#print ContinuousMap.gen_empty /-
 @[simp]
-theorem gen_empty (u : Set β) : CompactOpen.gen (∅ : Set α) u = Set.univ :=
+theorem gen_empty (u : Set β) : compactOpen.gen (∅ : Set α) u = Set.univ :=
   Set.ext fun f => iff_true_intro ((congr_arg (· ⊆ u) (image_empty f)).mpr u.empty_subset)
 #align continuous_map.gen_empty ContinuousMap.gen_empty
--/
 
-#print ContinuousMap.gen_univ /-
 @[simp]
-theorem gen_univ (s : Set α) : CompactOpen.gen s (Set.univ : Set β) = Set.univ :=
+theorem gen_univ (s : Set α) : compactOpen.gen s (Set.univ : Set β) = Set.univ :=
   Set.ext fun f => iff_true_intro (f '' s).subset_univ
 #align continuous_map.gen_univ ContinuousMap.gen_univ
--/
 
-#print ContinuousMap.gen_inter /-
 @[simp]
 theorem gen_inter (s : Set α) (u v : Set β) :
-    CompactOpen.gen s (u ∩ v) = CompactOpen.gen s u ∩ CompactOpen.gen s v :=
+    compactOpen.gen s (u ∩ v) = compactOpen.gen s u ∩ compactOpen.gen s v :=
   Set.ext fun f => subset_inter_iff
 #align continuous_map.gen_inter ContinuousMap.gen_inter
--/
 
-#print ContinuousMap.gen_union /-
 @[simp]
 theorem gen_union (s t : Set α) (u : Set β) :
-    CompactOpen.gen (s ∪ t) u = CompactOpen.gen s u ∩ CompactOpen.gen t u :=
+    compactOpen.gen (s ∪ t) u = compactOpen.gen s u ∩ compactOpen.gen t u :=
   Set.ext fun f => (iff_of_eq (congr_arg (· ⊆ u) (image_union f s t))).trans union_subset_iff
 #align continuous_map.gen_union ContinuousMap.gen_union
--/
 
-#print ContinuousMap.gen_empty_right /-
-theorem gen_empty_right {s : Set α} (h : s.Nonempty) : CompactOpen.gen s (∅ : Set β) = ∅ :=
+theorem gen_empty_right {s : Set α} (h : s.Nonempty) : compactOpen.gen s (∅ : Set β) = ∅ :=
   eq_empty_of_forall_not_mem fun f => (h.image _).not_subset_empty
 #align continuous_map.gen_empty_right ContinuousMap.gen_empty_right
--/
 
 #print ContinuousMap.compactOpen /-
 -- The compact-open topology on the space of continuous maps α → β.
 instance compactOpen : TopologicalSpace C(α, β) :=
   TopologicalSpace.generateFrom
-    {m | ∃ (s : Set α) (hs : IsCompact s) (u : Set β) (hu : IsOpen u), m = CompactOpen.gen s u}
+    {m | ∃ (s : Set α) (hs : IsCompact s) (u : Set β) (hu : IsOpen u), m = compactOpen.gen s u}
 #align continuous_map.compact_open ContinuousMap.compactOpen
 -/
 
-#print ContinuousMap.isOpen_gen /-
-protected theorem isOpen_gen {s : Set α} (hs : IsCompact s) {u : Set β} (hu : IsOpen u) :
-    IsOpen (CompactOpen.gen s u) :=
+#print ContinuousMap.isOpen_setOf_mapsTo /-
+protected theorem isOpen_setOf_mapsTo {s : Set α} (hs : IsCompact s) {u : Set β} (hu : IsOpen u) :
+    IsOpen (compactOpen.gen s u) :=
   TopologicalSpace.GenerateOpen.basic _ (by dsimp [mem_set_of_eq] <;> tauto)
-#align continuous_map.is_open_gen ContinuousMap.isOpen_gen
+#align continuous_map.is_open_gen ContinuousMap.isOpen_setOf_mapsTo
 -/
 
 section Functorial
@@ -114,7 +102,7 @@ section Functorial
 variable (g : C(β, γ))
 
 private theorem preimage_gen {s : Set α} (hs : IsCompact s) {u : Set γ} (hu : IsOpen u) :
-    ContinuousMap.comp g ⁻¹' CompactOpen.gen s u = CompactOpen.gen s (g ⁻¹' u) :=
+    ContinuousMap.comp g ⁻¹' compactOpen.gen s u = compactOpen.gen s (g ⁻¹' u) :=
   by
   ext ⟨f, _⟩
   change g ∘ f '' s ⊆ u ↔ f '' s ⊆ g ⁻¹' u
@@ -124,14 +112,14 @@ private theorem preimage_gen {s : Set α} (hs : IsCompact s) {u : Set γ} (hu :
 /-- C(α, -) is a functor. -/
 theorem continuous_comp : Continuous (ContinuousMap.comp g : C(α, β) → C(α, γ)) :=
   continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ => by
-    rw [hm, preimage_gen g hs hu] <;> exact ContinuousMap.isOpen_gen hs (hu.preimage g.2)
+    rw [hm, preimage_gen g hs hu] <;> exact ContinuousMap.isOpen_setOf_mapsTo hs (hu.preimage g.2)
 #align continuous_map.continuous_comp ContinuousMap.continuous_comp
 -/
 
 variable (f : C(α, β))
 
 private theorem image_gen {s : Set α} (hs : IsCompact s) {u : Set γ} (hu : IsOpen u) :
-    (fun g : C(β, γ) => g.comp f) ⁻¹' CompactOpen.gen s u = CompactOpen.gen (f '' s) u :=
+    (fun g : C(β, γ) => g.comp f) ⁻¹' compactOpen.gen s u = compactOpen.gen (f '' s) u :=
   by
   ext ⟨g, _⟩
   change g ∘ f '' s ⊆ u ↔ g '' (f '' s) ⊆ u
@@ -141,7 +129,7 @@ private theorem image_gen {s : Set α} (hs : IsCompact s) {u : Set γ} (hu : IsO
 /-- C(-, γ) is a functor. -/
 theorem continuous_comp_left : Continuous (fun g => g.comp f : C(β, γ) → C(α, γ)) :=
   continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ => by rw [hm, image_gen f hs hu];
-    exact ContinuousMap.isOpen_gen (hs.image f.2) hu
+    exact ContinuousMap.isOpen_setOf_mapsTo (hs.image f.2) hu
 #align continuous_map.continuous_comp_left ContinuousMap.continuous_comp_left
 -/
 
@@ -165,7 +153,8 @@ theorem continuous_comp' [LocallyCompactSpace β] :
       obtain ⟨L, hL, hKL, hLU⟩ := exists_compact_between (hK.image φ₀.2) (hU.preimage ψ₀.2) H
       use{φ : C(α, β) | φ '' K ⊆ interior L} ×ˢ {ψ : C(β, γ) | ψ '' L ⊆ U}
       use fun ⟨φ, ψ⟩ ⟨hφ, hψ⟩ => subset_trans hφ (interior_subset.trans <| image_subset_iff.mp hψ)
-      use(ContinuousMap.isOpen_gen hK isOpen_interior).Prod (ContinuousMap.isOpen_gen hL hU)
+      use(ContinuousMap.isOpen_setOf_mapsTo hK isOpen_interior).Prod
+          (ContinuousMap.isOpen_setOf_mapsTo hL hU)
       exact mem_prod.mpr ⟨hKL, image_subset_iff.mpr hLU⟩)
 #align continuous_map.continuous_comp' ContinuousMap.continuous_comp'
 -/
@@ -197,13 +186,13 @@ theorem continuous_eval [LocallyCompactSpace α] : Continuous fun p : C(α, β)
       LocallyCompactSpace.local_compact_nhds x (f ⁻¹' v) (f.Continuous.Tendsto x this)
     let ⟨u, us, uo, xu⟩ := mem_nhds_iff.mp hs
     show (fun p : C(α, β) × α => p.1 p.2) ⁻¹' n ∈ 𝓝 (f, x) from
-      let w := CompactOpen.gen s v ×ˢ u
+      let w := compactOpen.gen s v ×ˢ u
       have : w ⊆ (fun p : C(α, β) × α => p.1 p.2) ⁻¹' n := fun ⟨f', x'⟩ ⟨hf', hx'⟩ =>
         calc
           f' x' ∈ f' '' s := mem_image_of_mem f' (us hx')
           _ ⊆ v := hf'
           _ ⊆ n := vn
-      have : IsOpen w := (ContinuousMap.isOpen_gen sc vo).Prod uo
+      have : IsOpen w := (ContinuousMap.isOpen_setOf_mapsTo sc vo).Prod uo
       have : (f, x) ∈ w := ⟨image_subset_iff.mpr sv, xu⟩
       mem_nhds_iff.mpr ⟨w, by assumption, by assumption, by assumption⟩
 #align continuous_map.continuous_eval' ContinuousMap.continuous_eval
@@ -230,8 +219,8 @@ instance [T2Space β] : T2Space C(α, β) :=
     obtain ⟨u, v, hu, hv, hxu, hxv, huv⟩ := t2_separation hx
     refine'
       ⟨compact_open.gen {x} u, compact_open.gen {x} v,
-        ContinuousMap.isOpen_gen isCompact_singleton hu,
-        ContinuousMap.isOpen_gen isCompact_singleton hv, _, _, _⟩
+        ContinuousMap.isOpen_setOf_mapsTo isCompact_singleton hu,
+        ContinuousMap.isOpen_setOf_mapsTo isCompact_singleton hv, _, _, _⟩
     · rwa [compact_open.gen, mem_set_of_eq, image_singleton, singleton_subset_iff]
     · rwa [compact_open.gen, mem_set_of_eq, image_singleton, singleton_subset_iff]
     ·
@@ -257,11 +246,11 @@ theorem compactOpen_le_induced (s : Set α) :
 #align continuous_map.compact_open_le_induced ContinuousMap.compactOpen_le_induced
 -/
 
-#print ContinuousMap.compactOpen_eq_sInf_induced /-
+#print ContinuousMap.compactOpen_eq_iInf_induced /-
 /-- The compact-open topology on `C(α, β)` is equal to the infimum of the compact-open topologies
 on `C(s, β)` for `s` a compact subset of `α`.  The key point of the proof is that the union of the
 compact subsets of `α` is equal to the union of compact subsets of the compact subsets of `α`. -/
-theorem compactOpen_eq_sInf_induced :
+theorem compactOpen_eq_iInf_induced :
     (ContinuousMap.compactOpen : TopologicalSpace C(α, β)) =
       ⨅ (s : Set α) (hs : IsCompact s),
         TopologicalSpace.induced (ContinuousMap.restrict s) ContinuousMap.compactOpen :=
@@ -278,7 +267,7 @@ theorem compactOpen_eq_sInf_induced :
   simp only [compact_open.gen, mem_set_of_eq, mem_preimage, ContinuousMap.coe_restrict]
   rw [image_comp f (coe : s → α)]
   simp
-#align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_sInf_induced
+#align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_iInf_induced
 -/
 
 #print ContinuousMap.continuous_restrict /-
@@ -289,11 +278,11 @@ theorem continuous_restrict (s : Set α) : Continuous fun F : C(α, β) => F.res
 #align continuous_map.continuous_restrict ContinuousMap.continuous_restrict
 -/
 
-#print ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced /-
-theorem nhds_compactOpen_eq_sInf_nhds_induced (f : C(α, β)) :
+#print ContinuousMap.nhds_compactOpen_eq_iInf_nhds_induced /-
+theorem nhds_compactOpen_eq_iInf_nhds_induced (f : C(α, β)) :
     𝓝 f = ⨅ (s) (hs : IsCompact s), (𝓝 (f.restrict s)).comap (ContinuousMap.restrict s) := by
   rw [compact_open_eq_Inf_induced]; simp [nhds_iInf, nhds_induced]
-#align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced
+#align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_iInf_nhds_induced
 -/
 
 #print ContinuousMap.tendsto_compactOpen_restrict /-
@@ -381,8 +370,8 @@ theorem continuous_coev : Continuous (coev α β) :=
     rintro _ ⟨s, sc, u, uo, rfl⟩
     rw [isOpen_iff_forall_mem_open]
     intro y hy
-    change coev α β y '' s ⊆ u at hy 
-    rw [image_coev s] at hy 
+    change coev α β y '' s ⊆ u at hy
+    rw [image_coev s] at hy
     rcases generalized_tube_lemma isCompact_singleton sc uo hy with ⟨v, w, vo, wo, yv, sw, vwu⟩
     refine' ⟨v, _, vo, singleton_subset_iff.mp yv⟩
     intro y' hy'
Diff
@@ -226,7 +226,7 @@ theorem continuous_coe [LocallyCompactSpace α] : @Continuous C(α, β) (α →
 instance [T2Space β] : T2Space C(α, β) :=
   ⟨by
     intro f₁ f₂ h
-    obtain ⟨x, hx⟩ := not_forall.mp (mt (FunLike.ext f₁ f₂) h)
+    obtain ⟨x, hx⟩ := not_forall.mp (mt (DFunLike.ext f₁ f₂) h)
     obtain ⟨u, v, hu, hv, hxu, hxv, huv⟩ := t2_separation hx
     refine'
       ⟨compact_open.gen {x} u, compact_open.gen {x} v,
Diff
@@ -185,11 +185,11 @@ section Ev
 variable {α β}
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print ContinuousMap.continuous_eval' /-
+#print ContinuousMap.continuous_eval /-
 /-- The evaluation map `C(α, β) × α → β` is continuous if `α` is locally compact.
 
 See also `continuous_map.continuous_eval` -/
-theorem continuous_eval' [LocallyCompactSpace α] : Continuous fun p : C(α, β) × α => p.1 p.2 :=
+theorem continuous_eval [LocallyCompactSpace α] : Continuous fun p : C(α, β) × α => p.1 p.2 :=
   continuous_iff_continuousAt.mpr fun ⟨f, x⟩ n hn =>
     let ⟨v, vn, vo, fxv⟩ := mem_nhds_iff.mp hn
     have : v ∈ 𝓝 (f x) := IsOpen.mem_nhds vo fxv
@@ -206,13 +206,13 @@ theorem continuous_eval' [LocallyCompactSpace α] : Continuous fun p : C(α, β)
       have : IsOpen w := (ContinuousMap.isOpen_gen sc vo).Prod uo
       have : (f, x) ∈ w := ⟨image_subset_iff.mpr sv, xu⟩
       mem_nhds_iff.mpr ⟨w, by assumption, by assumption, by assumption⟩
-#align continuous_map.continuous_eval' ContinuousMap.continuous_eval'
+#align continuous_map.continuous_eval' ContinuousMap.continuous_eval
 -/
 
 #print ContinuousMap.continuous_eval_const /-
 /-- See also `continuous_map.continuous_eval_const` -/
 theorem continuous_eval_const [LocallyCompactSpace α] (a : α) : Continuous fun f : C(α, β) => f a :=
-  continuous_eval'.comp (continuous_id.prod_mk continuous_const)
+  continuous_eval.comp (continuous_id.prod_mk continuous_const)
 #align continuous_map.continuous_eval_const' ContinuousMap.continuous_eval_const
 -/
 
@@ -452,7 +452,7 @@ theorem curry_apply (f : C(α × β, γ)) (a : α) (b : β) : f.curry a b = f (a
 /-- The uncurried form of a continuous map `α → C(β, γ)` is a continuous map `α × β → γ`. -/
 theorem continuous_uncurry_of_continuous [LocallyCompactSpace β] (f : C(α, C(β, γ))) :
     Continuous (Function.uncurry fun x y => f x y) :=
-  continuous_eval'.comp <| f.Continuous.Prod_map continuous_id
+  continuous_eval.comp <| f.Continuous.Prod_map continuous_id
 #align continuous_map.continuous_uncurry_of_continuous ContinuousMap.continuous_uncurry_of_continuous
 -/
 
@@ -528,7 +528,7 @@ def continuousMapOfUnique [Unique α] : β ≃ₜ C(α, β)
   left_inv a := rfl
   right_inv f := by ext; rw [Unique.eq_default a]; rfl
   continuous_toFun := continuous_const'
-  continuous_invFun := continuous_eval'.comp (continuous_id.prod_mk continuous_const)
+  continuous_invFun := continuous_eval.comp (continuous_id.prod_mk continuous_const)
 #align homeomorph.continuous_map_of_unique Homeomorph.continuousMapOfUnique
 -/
 
Diff
@@ -3,11 +3,11 @@ Copyright (c) 2018 Reid Barton. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Reid Barton
 -/
-import Mathbin.Tactic.Tidy
-import Mathbin.Topology.ContinuousFunction.Basic
-import Mathbin.Topology.Homeomorph
-import Mathbin.Topology.SubsetProperties
-import Mathbin.Topology.Maps
+import Tactic.Tidy
+import Topology.ContinuousFunction.Basic
+import Topology.Homeomorph
+import Topology.SubsetProperties
+import Topology.Maps
 
 #align_import topology.compact_open from "leanprover-community/mathlib"@"34ee86e6a59d911a8e4f89b68793ee7577ae79c7"
 
Diff
@@ -342,7 +342,7 @@ theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space
     have hs : ∀ x : α, ∃ (s : _) (hs : IsCompact s), s ∈ 𝓝 x :=
       by
       intro x
-      obtain ⟨s, hs, hs'⟩ := exists_compact_mem_nhds x
+      obtain ⟨s, hs, hs'⟩ := WeaklyLocallyCompactSpace.exists_compact_mem_nhds x
       exact ⟨s, hs, hs'⟩
     refine' ⟨lift_cover' _ _ h hs, _⟩
     rw [tendsto_compact_open_iff_forall]
Diff
@@ -163,9 +163,9 @@ theorem continuous_comp' [LocallyCompactSpace β] :
       rw [isOpen_iff_forall_mem_open]
       rintro ⟨φ₀, ψ₀⟩ H
       obtain ⟨L, hL, hKL, hLU⟩ := exists_compact_between (hK.image φ₀.2) (hU.preimage ψ₀.2) H
-      use {φ : C(α, β) | φ '' K ⊆ interior L} ×ˢ {ψ : C(β, γ) | ψ '' L ⊆ U}
+      use{φ : C(α, β) | φ '' K ⊆ interior L} ×ˢ {ψ : C(β, γ) | ψ '' L ⊆ U}
       use fun ⟨φ, ψ⟩ ⟨hφ, hψ⟩ => subset_trans hφ (interior_subset.trans <| image_subset_iff.mp hψ)
-      use (ContinuousMap.isOpen_gen hK isOpen_interior).Prod (ContinuousMap.isOpen_gen hL hU)
+      use(ContinuousMap.isOpen_gen hK isOpen_interior).Prod (ContinuousMap.isOpen_gen hL hU)
       exact mem_prod.mpr ⟨hKL, image_subset_iff.mpr hLU⟩)
 #align continuous_map.continuous_comp' ContinuousMap.continuous_comp'
 -/
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2018 Reid Barton. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Reid Barton
-
-! This file was ported from Lean 3 source module topology.compact_open
-! leanprover-community/mathlib commit 34ee86e6a59d911a8e4f89b68793ee7577ae79c7
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Tactic.Tidy
 import Mathbin.Topology.ContinuousFunction.Basic
@@ -14,6 +9,8 @@ import Mathbin.Topology.Homeomorph
 import Mathbin.Topology.SubsetProperties
 import Mathbin.Topology.Maps
 
+#align_import topology.compact_open from "leanprover-community/mathlib"@"34ee86e6a59d911a8e4f89b68793ee7577ae79c7"
+
 /-!
 # The compact-open topology
 
Diff
@@ -212,19 +212,18 @@ theorem continuous_eval' [LocallyCompactSpace α] : Continuous fun p : C(α, β)
 #align continuous_map.continuous_eval' ContinuousMap.continuous_eval'
 -/
 
-#print ContinuousMap.continuous_eval_const' /-
+#print ContinuousMap.continuous_eval_const /-
 /-- See also `continuous_map.continuous_eval_const` -/
-theorem continuous_eval_const' [LocallyCompactSpace α] (a : α) :
-    Continuous fun f : C(α, β) => f a :=
+theorem continuous_eval_const [LocallyCompactSpace α] (a : α) : Continuous fun f : C(α, β) => f a :=
   continuous_eval'.comp (continuous_id.prod_mk continuous_const)
-#align continuous_map.continuous_eval_const' ContinuousMap.continuous_eval_const'
+#align continuous_map.continuous_eval_const' ContinuousMap.continuous_eval_const
 -/
 
-#print ContinuousMap.continuous_coe' /-
+#print ContinuousMap.continuous_coe /-
 /-- See also `continuous_map.continuous_coe` -/
-theorem continuous_coe' [LocallyCompactSpace α] : @Continuous C(α, β) (α → β) _ _ coeFn :=
-  continuous_pi continuous_eval_const'
-#align continuous_map.continuous_coe' ContinuousMap.continuous_coe'
+theorem continuous_coe [LocallyCompactSpace α] : @Continuous C(α, β) (α → β) _ _ coeFn :=
+  continuous_pi continuous_eval_const
+#align continuous_map.continuous_coe' ContinuousMap.continuous_coe
 -/
 
 instance [T2Space β] : T2Space C(α, β) :=
Diff
@@ -68,26 +68,34 @@ theorem gen_empty (u : Set β) : CompactOpen.gen (∅ : Set α) u = Set.univ :=
 #align continuous_map.gen_empty ContinuousMap.gen_empty
 -/
 
+#print ContinuousMap.gen_univ /-
 @[simp]
 theorem gen_univ (s : Set α) : CompactOpen.gen s (Set.univ : Set β) = Set.univ :=
   Set.ext fun f => iff_true_intro (f '' s).subset_univ
 #align continuous_map.gen_univ ContinuousMap.gen_univ
+-/
 
+#print ContinuousMap.gen_inter /-
 @[simp]
 theorem gen_inter (s : Set α) (u v : Set β) :
     CompactOpen.gen s (u ∩ v) = CompactOpen.gen s u ∩ CompactOpen.gen s v :=
   Set.ext fun f => subset_inter_iff
 #align continuous_map.gen_inter ContinuousMap.gen_inter
+-/
 
+#print ContinuousMap.gen_union /-
 @[simp]
 theorem gen_union (s t : Set α) (u : Set β) :
     CompactOpen.gen (s ∪ t) u = CompactOpen.gen s u ∩ CompactOpen.gen t u :=
   Set.ext fun f => (iff_of_eq (congr_arg (· ⊆ u) (image_union f s t))).trans union_subset_iff
 #align continuous_map.gen_union ContinuousMap.gen_union
+-/
 
+#print ContinuousMap.gen_empty_right /-
 theorem gen_empty_right {s : Set α} (h : s.Nonempty) : CompactOpen.gen s (∅ : Set β) = ∅ :=
   eq_empty_of_forall_not_mem fun f => (h.image _).not_subset_empty
 #align continuous_map.gen_empty_right ContinuousMap.gen_empty_right
+-/
 
 #print ContinuousMap.compactOpen /-
 -- The compact-open topology on the space of continuous maps α → β.
@@ -97,10 +105,12 @@ instance compactOpen : TopologicalSpace C(α, β) :=
 #align continuous_map.compact_open ContinuousMap.compactOpen
 -/
 
+#print ContinuousMap.isOpen_gen /-
 protected theorem isOpen_gen {s : Set α} (hs : IsCompact s) {u : Set β} (hu : IsOpen u) :
     IsOpen (CompactOpen.gen s u) :=
   TopologicalSpace.GenerateOpen.basic _ (by dsimp [mem_set_of_eq] <;> tauto)
 #align continuous_map.is_open_gen ContinuousMap.isOpen_gen
+-/
 
 section Functorial
 
@@ -113,11 +123,13 @@ private theorem preimage_gen {s : Set α} (hs : IsCompact s) {u : Set γ} (hu :
   change g ∘ f '' s ⊆ u ↔ f '' s ⊆ g ⁻¹' u
   rw [image_comp, image_subset_iff]
 
+#print ContinuousMap.continuous_comp /-
 /-- C(α, -) is a functor. -/
 theorem continuous_comp : Continuous (ContinuousMap.comp g : C(α, β) → C(α, γ)) :=
   continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ => by
     rw [hm, preimage_gen g hs hu] <;> exact ContinuousMap.isOpen_gen hs (hu.preimage g.2)
 #align continuous_map.continuous_comp ContinuousMap.continuous_comp
+-/
 
 variable (f : C(α, β))
 
@@ -128,13 +140,16 @@ private theorem image_gen {s : Set α} (hs : IsCompact s) {u : Set γ} (hu : IsO
   change g ∘ f '' s ⊆ u ↔ g '' (f '' s) ⊆ u
   rw [Set.image_comp]
 
+#print ContinuousMap.continuous_comp_left /-
 /-- C(-, γ) is a functor. -/
 theorem continuous_comp_left : Continuous (fun g => g.comp f : C(β, γ) → C(α, γ)) :=
   continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ => by rw [hm, image_gen f hs hu];
     exact ContinuousMap.isOpen_gen (hs.image f.2) hu
 #align continuous_map.continuous_comp_left ContinuousMap.continuous_comp_left
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print ContinuousMap.continuous_comp' /-
 /-- Composition is a continuous map from `C(α, β) × C(β, γ)` to `C(α, γ)`, provided that `β` is
   locally compact. This is Prop. 9 of Chap. X, §3, №. 4 of Bourbaki's *Topologie Générale*. -/
 theorem continuous_comp' [LocallyCompactSpace β] :
@@ -156,12 +171,15 @@ theorem continuous_comp' [LocallyCompactSpace β] :
       use (ContinuousMap.isOpen_gen hK isOpen_interior).Prod (ContinuousMap.isOpen_gen hL hU)
       exact mem_prod.mpr ⟨hKL, image_subset_iff.mpr hLU⟩)
 #align continuous_map.continuous_comp' ContinuousMap.continuous_comp'
+-/
 
+#print ContinuousMap.continuous.comp' /-
 theorem continuous.comp' {X : Type _} [TopologicalSpace X] [LocallyCompactSpace β] {f : X → C(α, β)}
     {g : X → C(β, γ)} (hf : Continuous f) (hg : Continuous g) :
     Continuous fun x => (g x).comp (f x) :=
   continuous_comp'.comp (hf.prod_mk hg : Continuous fun x => (f x, g x))
 #align continuous_map.continuous.comp' ContinuousMap.continuous.comp'
+-/
 
 end Functorial
 
@@ -170,6 +188,7 @@ section Ev
 variable {α β}
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print ContinuousMap.continuous_eval' /-
 /-- The evaluation map `C(α, β) × α → β` is continuous if `α` is locally compact.
 
 See also `continuous_map.continuous_eval` -/
@@ -191,17 +210,22 @@ theorem continuous_eval' [LocallyCompactSpace α] : Continuous fun p : C(α, β)
       have : (f, x) ∈ w := ⟨image_subset_iff.mpr sv, xu⟩
       mem_nhds_iff.mpr ⟨w, by assumption, by assumption, by assumption⟩
 #align continuous_map.continuous_eval' ContinuousMap.continuous_eval'
+-/
 
+#print ContinuousMap.continuous_eval_const' /-
 /-- See also `continuous_map.continuous_eval_const` -/
 theorem continuous_eval_const' [LocallyCompactSpace α] (a : α) :
     Continuous fun f : C(α, β) => f a :=
   continuous_eval'.comp (continuous_id.prod_mk continuous_const)
 #align continuous_map.continuous_eval_const' ContinuousMap.continuous_eval_const'
+-/
 
+#print ContinuousMap.continuous_coe' /-
 /-- See also `continuous_map.continuous_coe` -/
 theorem continuous_coe' [LocallyCompactSpace α] : @Continuous C(α, β) (α → β) _ _ coeFn :=
   continuous_pi continuous_eval_const'
 #align continuous_map.continuous_coe' ContinuousMap.continuous_coe'
+-/
 
 instance [T2Space β] : T2Space C(α, β) :=
   ⟨by
@@ -222,6 +246,7 @@ end Ev
 
 section InfInduced
 
+#print ContinuousMap.compactOpen_le_induced /-
 theorem compactOpen_le_induced (s : Set α) :
     (ContinuousMap.compactOpen : TopologicalSpace C(α, β)) ≤
       TopologicalSpace.induced (ContinuousMap.restrict s) ContinuousMap.compactOpen :=
@@ -234,7 +259,9 @@ theorem compactOpen_le_induced (s : Set α) :
   simp only [compact_open.gen, mem_set_of_eq, mem_preimage, ContinuousMap.coe_restrict]
   rw [image_comp f (coe : s → α)]
 #align continuous_map.compact_open_le_induced ContinuousMap.compactOpen_le_induced
+-/
 
+#print ContinuousMap.compactOpen_eq_sInf_induced /-
 /-- The compact-open topology on `C(α, β)` is equal to the infimum of the compact-open topologies
 on `C(s, β)` for `s` a compact subset of `α`.  The key point of the proof is that the union of the
 compact subsets of `α` is equal to the union of compact subsets of the compact subsets of `α`. -/
@@ -256,30 +283,40 @@ theorem compactOpen_eq_sInf_induced :
   rw [image_comp f (coe : s → α)]
   simp
 #align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_sInf_induced
+-/
 
+#print ContinuousMap.continuous_restrict /-
 /-- For any subset `s` of `α`, the restriction of continuous functions to `s` is continuous as a
 function from `C(α, β)` to `C(s, β)` with their respective compact-open topologies. -/
 theorem continuous_restrict (s : Set α) : Continuous fun F : C(α, β) => F.restrict s := by
   rw [continuous_iff_le_induced]; exact compact_open_le_induced s
 #align continuous_map.continuous_restrict ContinuousMap.continuous_restrict
+-/
 
+#print ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced /-
 theorem nhds_compactOpen_eq_sInf_nhds_induced (f : C(α, β)) :
     𝓝 f = ⨅ (s) (hs : IsCompact s), (𝓝 (f.restrict s)).comap (ContinuousMap.restrict s) := by
   rw [compact_open_eq_Inf_induced]; simp [nhds_iInf, nhds_induced]
 #align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced
+-/
 
+#print ContinuousMap.tendsto_compactOpen_restrict /-
 theorem tendsto_compactOpen_restrict {ι : Type _} {l : Filter ι} {F : ι → C(α, β)} {f : C(α, β)}
     (hFf : Filter.Tendsto F l (𝓝 f)) (s : Set α) :
     Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) :=
   (continuous_restrict s).ContinuousAt.Tendsto.comp hFf
 #align continuous_map.tendsto_compact_open_restrict ContinuousMap.tendsto_compactOpen_restrict
+-/
 
+#print ContinuousMap.tendsto_compactOpen_iff_forall /-
 theorem tendsto_compactOpen_iff_forall {ι : Type _} {l : Filter ι} (F : ι → C(α, β)) (f : C(α, β)) :
     Filter.Tendsto F l (𝓝 f) ↔
       ∀ (s) (hs : IsCompact s), Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) :=
   by rw [compact_open_eq_Inf_induced]; simp [nhds_iInf, nhds_induced, Filter.tendsto_comap_iff]
 #align continuous_map.tendsto_compact_open_iff_forall ContinuousMap.tendsto_compactOpen_iff_forall
+-/
 
+#print ContinuousMap.exists_tendsto_compactOpen_iff_forall /-
 /-- A family `F` of functions in `C(α, β)` converges in the compact-open topology, if and only if
 it converges in the compact-open topology on each compact subset of `α`. -/
 theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space α] [T2Space β]
@@ -317,6 +354,7 @@ theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space
     rw [lift_cover_restrict']
     exact hf s hs
 #align continuous_map.exists_tendsto_compact_open_iff_forall ContinuousMap.exists_tendsto_compactOpen_iff_forall
+-/
 
 end InfInduced
 
@@ -324,18 +362,23 @@ section Coev
 
 variable (α β)
 
+#print ContinuousMap.coev /-
 /-- The coevaluation map `β → C(α, β × α)` sending a point `x : β` to the continuous function
 on `α` sending `y` to `(x, y)`. -/
 def coev (b : β) : C(α, β × α) :=
   ⟨Prod.mk b, continuous_const.prod_mk continuous_id⟩
 #align continuous_map.coev ContinuousMap.coev
+-/
 
 variable {α β}
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print ContinuousMap.image_coev /-
 theorem image_coev {y : β} (s : Set α) : coev α β y '' s = ({y} : Set β) ×ˢ s := by tidy
 #align continuous_map.image_coev ContinuousMap.image_coev
+-/
 
+#print ContinuousMap.continuous_coev /-
 -- The coevaluation map β → C(α, β × α) is continuous (always).
 theorem continuous_coev : Continuous (coev α β) :=
   continuous_generateFrom <| by
@@ -351,36 +394,46 @@ theorem continuous_coev : Continuous (coev α β) :=
     rw [image_coev s]
     exact subset.trans (prod_mono (singleton_subset_iff.mpr hy') sw) vwu
 #align continuous_map.continuous_coev ContinuousMap.continuous_coev
+-/
 
 end Coev
 
 section Curry
 
+#print ContinuousMap.curry' /-
 /-- Auxiliary definition, see `continuous_map.curry` and `homeomorph.curry`. -/
 def curry' (f : C(α × β, γ)) (a : α) : C(β, γ) :=
   ⟨Function.curry f a⟩
 #align continuous_map.curry' ContinuousMap.curry'
+-/
 
+#print ContinuousMap.continuous_curry' /-
 /-- If a map `α × β → γ` is continuous, then its curried form `α → C(β, γ)` is continuous. -/
 theorem continuous_curry' (f : C(α × β, γ)) : Continuous (curry' f) :=
   have hf : curry' f = ContinuousMap.comp f ∘ coev _ _ := by ext; rfl
   hf ▸ Continuous.comp (continuous_comp f) continuous_coev
 #align continuous_map.continuous_curry' ContinuousMap.continuous_curry'
+-/
 
+#print ContinuousMap.continuous_of_continuous_uncurry /-
 /-- To show continuity of a map `α → C(β, γ)`, it suffices to show that its uncurried form
     `α × β → γ` is continuous. -/
 theorem continuous_of_continuous_uncurry (f : α → C(β, γ))
     (h : Continuous (Function.uncurry fun x y => f x y)) : Continuous f := by
   convert continuous_curry' ⟨_, h⟩; ext; rfl
 #align continuous_map.continuous_of_continuous_uncurry ContinuousMap.continuous_of_continuous_uncurry
+-/
 
+#print ContinuousMap.curry /-
 /-- The curried form of a continuous map `α × β → γ` as a continuous map `α → C(β, γ)`.
     If `a × β` is locally compact, this is continuous. If `α` and `β` are both locally
     compact, then this is a homeomorphism, see `homeomorph.curry`. -/
 def curry (f : C(α × β, γ)) : C(α, C(β, γ)) :=
   ⟨_, continuous_curry' f⟩
 #align continuous_map.curry ContinuousMap.curry
+-/
 
+#print ContinuousMap.continuous_curry /-
 /-- The currying process is a continuous map between function spaces. -/
 theorem continuous_curry [LocallyCompactSpace (α × β)] :
     Continuous (curry : C(α × β, γ) → C(α, C(β, γ))) :=
@@ -390,18 +443,24 @@ theorem continuous_curry [LocallyCompactSpace (α × β)] :
   rw [← Homeomorph.comp_continuous_iff' (Homeomorph.prodAssoc _ _ _).symm]
   convert continuous_eval' <;> tidy
 #align continuous_map.continuous_curry ContinuousMap.continuous_curry
+-/
 
+#print ContinuousMap.curry_apply /-
 @[simp]
 theorem curry_apply (f : C(α × β, γ)) (a : α) (b : β) : f.curry a b = f (a, b) :=
   rfl
 #align continuous_map.curry_apply ContinuousMap.curry_apply
+-/
 
+#print ContinuousMap.continuous_uncurry_of_continuous /-
 /-- The uncurried form of a continuous map `α → C(β, γ)` is a continuous map `α × β → γ`. -/
 theorem continuous_uncurry_of_continuous [LocallyCompactSpace β] (f : C(α, C(β, γ))) :
     Continuous (Function.uncurry fun x y => f x y) :=
   continuous_eval'.comp <| f.Continuous.Prod_map continuous_id
 #align continuous_map.continuous_uncurry_of_continuous ContinuousMap.continuous_uncurry_of_continuous
+-/
 
+#print ContinuousMap.uncurry /-
 /-- The uncurried form of a continuous map `α → C(β, γ)` as a continuous map `α × β → γ` (if `β` is
     locally compact). If `α` is also locally compact, then this is a homeomorphism between the two
     function spaces, see `homeomorph.curry`. -/
@@ -409,7 +468,9 @@ theorem continuous_uncurry_of_continuous [LocallyCompactSpace β] (f : C(α, C(
 def uncurry [LocallyCompactSpace β] (f : C(α, C(β, γ))) : C(α × β, γ) :=
   ⟨_, continuous_uncurry_of_continuous f⟩
 #align continuous_map.uncurry ContinuousMap.uncurry
+-/
 
+#print ContinuousMap.continuous_uncurry /-
 /-- The uncurrying process is a continuous map between function spaces. -/
 theorem continuous_uncurry [LocallyCompactSpace α] [LocallyCompactSpace β] :
     Continuous (uncurry : C(α, C(β, γ)) → C(α × β, γ)) :=
@@ -419,6 +480,7 @@ theorem continuous_uncurry [LocallyCompactSpace α] [LocallyCompactSpace β] :
   apply Continuous.comp continuous_eval' (Continuous.prod_map continuous_eval' continuous_id) <;>
     infer_instance
 #align continuous_map.continuous_uncurry ContinuousMap.continuous_uncurry
+-/
 
 #print ContinuousMap.const' /-
 /-- The family of constant maps: `β → C(α, β)` as a continuous map. -/
@@ -427,10 +489,12 @@ def const' : C(β, C(α, β)) :=
 #align continuous_map.const' ContinuousMap.const'
 -/
 
+#print ContinuousMap.coe_const' /-
 @[simp]
 theorem coe_const' : (const' : β → C(α, β)) = const α :=
   rfl
 #align continuous_map.coe_const' ContinuousMap.coe_const'
+-/
 
 #print ContinuousMap.continuous_const' /-
 theorem continuous_const' : Continuous (const α : β → C(α, β)) :=
@@ -452,10 +516,12 @@ variable {α : Type _} {β : Type _} {γ : Type _}
 
 variable [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ]
 
+#print Homeomorph.curry /-
 /-- Currying as a homeomorphism between the function spaces `C(α × β, γ)` and `C(α, C(β, γ))`. -/
 def curry [LocallyCompactSpace α] [LocallyCompactSpace β] : C(α × β, γ) ≃ₜ C(α, C(β, γ)) :=
   ⟨⟨curry, uncurry, by tidy, by tidy⟩, continuous_curry, continuous_uncurry⟩
 #align homeomorph.curry Homeomorph.curry
+-/
 
 #print Homeomorph.continuousMapOfUnique /-
 /-- If `α` has a single element, then `β` is homeomorphic to `C(α, β)`. -/
@@ -470,16 +536,20 @@ def continuousMapOfUnique [Unique α] : β ≃ₜ C(α, β)
 #align homeomorph.continuous_map_of_unique Homeomorph.continuousMapOfUnique
 -/
 
+#print Homeomorph.continuousMapOfUnique_apply /-
 @[simp]
 theorem continuousMapOfUnique_apply [Unique α] (b : β) (a : α) : continuousMapOfUnique b a = b :=
   rfl
 #align homeomorph.continuous_map_of_unique_apply Homeomorph.continuousMapOfUnique_apply
+-/
 
+#print Homeomorph.continuousMapOfUnique_symm_apply /-
 @[simp]
 theorem continuousMapOfUnique_symm_apply [Unique α] (f : C(α, β)) :
     continuousMapOfUnique.symm f = f default :=
   rfl
 #align homeomorph.continuous_map_of_unique_symm_apply Homeomorph.continuousMapOfUnique_symm_apply
+-/
 
 end Homeomorph
 
@@ -488,6 +558,7 @@ section QuotientMap
 variable {X₀ X Y Z : Type _} [TopologicalSpace X₀] [TopologicalSpace X] [TopologicalSpace Y]
   [TopologicalSpace Z] [LocallyCompactSpace Y] {f : X₀ → X}
 
+#print QuotientMap.continuous_lift_prod_left /-
 theorem QuotientMap.continuous_lift_prod_left (hf : QuotientMap f) {g : X × Y → Z}
     (hg : Continuous fun p : X₀ × Y => g (f p.1, p.2)) : Continuous g :=
   by
@@ -506,7 +577,9 @@ theorem QuotientMap.continuous_lift_prod_left (hf : QuotientMap f) {g : X × Y 
   cases x
   rfl
 #align quotient_map.continuous_lift_prod_left QuotientMap.continuous_lift_prod_left
+-/
 
+#print QuotientMap.continuous_lift_prod_right /-
 theorem QuotientMap.continuous_lift_prod_right (hf : QuotientMap f) {g : Y × X → Z}
     (hg : Continuous fun p : Y × X₀ => g (p.1, f p.2)) : Continuous g :=
   by
@@ -517,6 +590,7 @@ theorem QuotientMap.continuous_lift_prod_right (hf : QuotientMap f) {g : Y × X
   ext x
   simp
 #align quotient_map.continuous_lift_prod_right QuotientMap.continuous_lift_prod_right
+-/
 
 end QuotientMap
 
Diff
@@ -187,7 +187,6 @@ theorem continuous_eval' [LocallyCompactSpace α] : Continuous fun p : C(α, β)
           f' x' ∈ f' '' s := mem_image_of_mem f' (us hx')
           _ ⊆ v := hf'
           _ ⊆ n := vn
-          
       have : IsOpen w := (ContinuousMap.isOpen_gen sc vo).Prod uo
       have : (f, x) ∈ w := ⟨image_subset_iff.mpr sv, xu⟩
       mem_nhds_iff.mpr ⟨w, by assumption, by assumption, by assumption⟩
Diff
@@ -57,7 +57,7 @@ variable [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ]
 #print ContinuousMap.CompactOpen.gen /-
 /-- A generating set for the compact-open topology (when `s` is compact and `u` is open). -/
 def CompactOpen.gen (s : Set α) (u : Set β) : Set C(α, β) :=
-  { f | f '' s ⊆ u }
+  {f | f '' s ⊆ u}
 #align continuous_map.compact_open.gen ContinuousMap.CompactOpen.gen
 -/
 
@@ -93,7 +93,7 @@ theorem gen_empty_right {s : Set α} (h : s.Nonempty) : CompactOpen.gen s (∅ :
 -- The compact-open topology on the space of continuous maps α → β.
 instance compactOpen : TopologicalSpace C(α, β) :=
   TopologicalSpace.generateFrom
-    { m | ∃ (s : Set α) (hs : IsCompact s) (u : Set β) (hu : IsOpen u), m = CompactOpen.gen s u }
+    {m | ∃ (s : Set α) (hs : IsCompact s) (u : Set β) (hu : IsOpen u), m = CompactOpen.gen s u}
 #align continuous_map.compact_open ContinuousMap.compactOpen
 -/
 
@@ -151,7 +151,7 @@ theorem continuous_comp' [LocallyCompactSpace β] :
       rw [isOpen_iff_forall_mem_open]
       rintro ⟨φ₀, ψ₀⟩ H
       obtain ⟨L, hL, hKL, hLU⟩ := exists_compact_between (hK.image φ₀.2) (hU.preimage ψ₀.2) H
-      use { φ : C(α, β) | φ '' K ⊆ interior L } ×ˢ { ψ : C(β, γ) | ψ '' L ⊆ U }
+      use {φ : C(α, β) | φ '' K ⊆ interior L} ×ˢ {ψ : C(β, γ) | ψ '' L ⊆ U}
       use fun ⟨φ, ψ⟩ ⟨hφ, hψ⟩ => subset_trans hφ (interior_subset.trans <| image_subset_iff.mp hψ)
       use (ContinuousMap.isOpen_gen hK isOpen_interior).Prod (ContinuousMap.isOpen_gen hL hU)
       exact mem_prod.mpr ⟨hKL, image_subset_iff.mpr hLU⟩)
@@ -514,7 +514,7 @@ theorem QuotientMap.continuous_lift_prod_right (hf : QuotientMap f) {g : Y × X
   have : Continuous fun p : X₀ × Y => g ((Prod.swap p).1, f (Prod.swap p).2) :=
     hg.comp continuous_swap
   have : Continuous fun p : X₀ × Y => (g ∘ Prod.swap) (f p.1, p.2) := this
-  convert(hf.continuous_lift_prod_left this).comp continuous_swap
+  convert (hf.continuous_lift_prod_left this).comp continuous_swap
   ext x
   simp
 #align quotient_map.continuous_lift_prod_right QuotientMap.continuous_lift_prod_right
Diff
@@ -93,7 +93,7 @@ theorem gen_empty_right {s : Set α} (h : s.Nonempty) : CompactOpen.gen s (∅ :
 -- The compact-open topology on the space of continuous maps α → β.
 instance compactOpen : TopologicalSpace C(α, β) :=
   TopologicalSpace.generateFrom
-    { m | ∃ (s : Set α)(hs : IsCompact s)(u : Set β)(hu : IsOpen u), m = CompactOpen.gen s u }
+    { m | ∃ (s : Set α) (hs : IsCompact s) (u : Set β) (hu : IsOpen u), m = CompactOpen.gen s u }
 #align continuous_map.compact_open ContinuousMap.compactOpen
 -/
 
@@ -307,7 +307,7 @@ theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space
       exact tendsto_nhds_unique h₁ h₂
     -- So glue the `f s hs` together and prove that this glued function `f₀` is a limit on each
     -- compact set `s`
-    have hs : ∀ x : α, ∃ (s : _)(hs : IsCompact s), s ∈ 𝓝 x :=
+    have hs : ∀ x : α, ∃ (s : _) (hs : IsCompact s), s ∈ 𝓝 x :=
       by
       intro x
       obtain ⟨s, hs, hs'⟩ := exists_compact_mem_nhds x
@@ -343,8 +343,8 @@ theorem continuous_coev : Continuous (coev α β) :=
     rintro _ ⟨s, sc, u, uo, rfl⟩
     rw [isOpen_iff_forall_mem_open]
     intro y hy
-    change coev α β y '' s ⊆ u at hy
-    rw [image_coev s] at hy
+    change coev α β y '' s ⊆ u at hy 
+    rw [image_coev s] at hy 
     rcases generalized_tube_lemma isCompact_singleton sc uo hy with ⟨v, w, vo, wo, yv, sw, vwu⟩
     refine' ⟨v, _, vo, singleton_subset_iff.mp yv⟩
     intro y' hy'
Diff
@@ -44,7 +44,7 @@ compact-open, curry, function space
 
 open Set
 
-open Topology
+open scoped Topology
 
 namespace ContinuousMap
 
Diff
@@ -68,47 +68,23 @@ theorem gen_empty (u : Set β) : CompactOpen.gen (∅ : Set α) u = Set.univ :=
 #align continuous_map.gen_empty ContinuousMap.gen_empty
 -/
 
-/- warning: continuous_map.gen_univ -> ContinuousMap.gen_univ is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (s : Set.{u1} α), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.CompactOpen.gen.{u1, u2} α β _inst_1 _inst_2 s (Set.univ.{u2} β)) (Set.univ.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (s : Set.{u2} α), Eq.{max (succ u2) (succ u1)} (Set.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ContinuousMap.CompactOpen.gen.{u2, u1} α β _inst_1 _inst_2 s (Set.univ.{u1} β)) (Set.univ.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2))
-Case conversion may be inaccurate. Consider using '#align continuous_map.gen_univ ContinuousMap.gen_univₓ'. -/
 @[simp]
 theorem gen_univ (s : Set α) : CompactOpen.gen s (Set.univ : Set β) = Set.univ :=
   Set.ext fun f => iff_true_intro (f '' s).subset_univ
 #align continuous_map.gen_univ ContinuousMap.gen_univ
 
-/- warning: continuous_map.gen_inter -> ContinuousMap.gen_inter is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (s : Set.{u1} α) (u : Set.{u2} β) (v : Set.{u2} β), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.CompactOpen.gen.{u1, u2} α β _inst_1 _inst_2 s (Inter.inter.{u2} (Set.{u2} β) (Set.hasInter.{u2} β) u v)) (Inter.inter.{max u1 u2} (Set.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Set.hasInter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.CompactOpen.gen.{u1, u2} α β _inst_1 _inst_2 s u) (ContinuousMap.CompactOpen.gen.{u1, u2} α β _inst_1 _inst_2 s v))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (s : Set.{u2} α) (u : Set.{u1} β) (v : Set.{u1} β), Eq.{max (succ u2) (succ u1)} (Set.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ContinuousMap.CompactOpen.gen.{u2, u1} α β _inst_1 _inst_2 s (Inter.inter.{u1} (Set.{u1} β) (Set.instInterSet.{u1} β) u v)) (Inter.inter.{max u1 u2} (Set.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Set.instInterSet.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ContinuousMap.CompactOpen.gen.{u2, u1} α β _inst_1 _inst_2 s u) (ContinuousMap.CompactOpen.gen.{u2, u1} α β _inst_1 _inst_2 s v))
-Case conversion may be inaccurate. Consider using '#align continuous_map.gen_inter ContinuousMap.gen_interₓ'. -/
 @[simp]
 theorem gen_inter (s : Set α) (u v : Set β) :
     CompactOpen.gen s (u ∩ v) = CompactOpen.gen s u ∩ CompactOpen.gen s v :=
   Set.ext fun f => subset_inter_iff
 #align continuous_map.gen_inter ContinuousMap.gen_inter
 
-/- warning: continuous_map.gen_union -> ContinuousMap.gen_union is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (s : Set.{u1} α) (t : Set.{u1} α) (u : Set.{u2} β), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.CompactOpen.gen.{u1, u2} α β _inst_1 _inst_2 (Union.union.{u1} (Set.{u1} α) (Set.hasUnion.{u1} α) s t) u) (Inter.inter.{max u1 u2} (Set.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Set.hasInter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.CompactOpen.gen.{u1, u2} α β _inst_1 _inst_2 s u) (ContinuousMap.CompactOpen.gen.{u1, u2} α β _inst_1 _inst_2 t u))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (s : Set.{u2} α) (t : Set.{u2} α) (u : Set.{u1} β), Eq.{max (succ u2) (succ u1)} (Set.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ContinuousMap.CompactOpen.gen.{u2, u1} α β _inst_1 _inst_2 (Union.union.{u2} (Set.{u2} α) (Set.instUnionSet.{u2} α) s t) u) (Inter.inter.{max u1 u2} (Set.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Set.instInterSet.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ContinuousMap.CompactOpen.gen.{u2, u1} α β _inst_1 _inst_2 s u) (ContinuousMap.CompactOpen.gen.{u2, u1} α β _inst_1 _inst_2 t u))
-Case conversion may be inaccurate. Consider using '#align continuous_map.gen_union ContinuousMap.gen_unionₓ'. -/
 @[simp]
 theorem gen_union (s t : Set α) (u : Set β) :
     CompactOpen.gen (s ∪ t) u = CompactOpen.gen s u ∩ CompactOpen.gen t u :=
   Set.ext fun f => (iff_of_eq (congr_arg (· ⊆ u) (image_union f s t))).trans union_subset_iff
 #align continuous_map.gen_union ContinuousMap.gen_union
 
-/- warning: continuous_map.gen_empty_right -> ContinuousMap.gen_empty_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {s : Set.{u1} α}, (Set.Nonempty.{u1} α s) -> (Eq.{succ (max u1 u2)} (Set.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.CompactOpen.gen.{u1, u2} α β _inst_1 _inst_2 s (EmptyCollection.emptyCollection.{u2} (Set.{u2} β) (Set.hasEmptyc.{u2} β))) (EmptyCollection.emptyCollection.{max u1 u2} (Set.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Set.hasEmptyc.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] {s : Set.{u2} α}, (Set.Nonempty.{u2} α s) -> (Eq.{max (succ u2) (succ u1)} (Set.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ContinuousMap.CompactOpen.gen.{u2, u1} α β _inst_1 _inst_2 s (EmptyCollection.emptyCollection.{u1} (Set.{u1} β) (Set.instEmptyCollectionSet.{u1} β))) (EmptyCollection.emptyCollection.{max u2 u1} (Set.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Set.instEmptyCollectionSet.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2))))
-Case conversion may be inaccurate. Consider using '#align continuous_map.gen_empty_right ContinuousMap.gen_empty_rightₓ'. -/
 theorem gen_empty_right {s : Set α} (h : s.Nonempty) : CompactOpen.gen s (∅ : Set β) = ∅ :=
   eq_empty_of_forall_not_mem fun f => (h.image _).not_subset_empty
 #align continuous_map.gen_empty_right ContinuousMap.gen_empty_right
@@ -121,12 +97,6 @@ instance compactOpen : TopologicalSpace C(α, β) :=
 #align continuous_map.compact_open ContinuousMap.compactOpen
 -/
 
-/- warning: continuous_map.is_open_gen -> ContinuousMap.isOpen_gen is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {s : Set.{u1} α}, (IsCompact.{u1} α _inst_1 s) -> (forall {u : Set.{u2} β}, (IsOpen.{u2} β _inst_2 u) -> (IsOpen.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.CompactOpen.gen.{u1, u2} α β _inst_1 _inst_2 s u)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] {s : Set.{u2} α}, (IsCompact.{u2} α _inst_1 s) -> (forall {u : Set.{u1} β}, (IsOpen.{u1} β _inst_2 u) -> (IsOpen.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.CompactOpen.gen.{u2, u1} α β _inst_1 _inst_2 s u)))
-Case conversion may be inaccurate. Consider using '#align continuous_map.is_open_gen ContinuousMap.isOpen_genₓ'. -/
 protected theorem isOpen_gen {s : Set α} (hs : IsCompact s) {u : Set β} (hu : IsOpen u) :
     IsOpen (CompactOpen.gen s u) :=
   TopologicalSpace.GenerateOpen.basic _ (by dsimp [mem_set_of_eq] <;> tauto)
@@ -143,12 +113,6 @@ private theorem preimage_gen {s : Set α} (hs : IsCompact s) {u : Set γ} (hu :
   change g ∘ f '' s ⊆ u ↔ f '' s ⊆ g ⁻¹' u
   rw [image_comp, image_subset_iff]
 
-/- warning: continuous_map.continuous_comp -> ContinuousMap.continuous_comp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] (g : ContinuousMap.{u2, u3} β γ _inst_2 _inst_3), Continuous.{max u1 u2, max u1 u3} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u1, u3} α γ _inst_1 _inst_3) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u1, u3} α γ _inst_1 _inst_3) (ContinuousMap.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g)
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u1} γ] (g : ContinuousMap.{u2, u1} β γ _inst_2 _inst_3), Continuous.{max u3 u2, max u3 u1} (ContinuousMap.{u3, u2} α β _inst_1 _inst_2) (ContinuousMap.{u3, u1} α γ _inst_1 _inst_3) (ContinuousMap.compactOpen.{u3, u2} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u3, u1} α γ _inst_1 _inst_3) (ContinuousMap.comp.{u3, u2, u1} α β γ _inst_1 _inst_2 _inst_3 g)
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_comp ContinuousMap.continuous_compₓ'. -/
 /-- C(α, -) is a functor. -/
 theorem continuous_comp : Continuous (ContinuousMap.comp g : C(α, β) → C(α, γ)) :=
   continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ => by
@@ -164,24 +128,12 @@ private theorem image_gen {s : Set α} (hs : IsCompact s) {u : Set γ} (hu : IsO
   change g ∘ f '' s ⊆ u ↔ g '' (f '' s) ⊆ u
   rw [Set.image_comp]
 
-/- warning: continuous_map.continuous_comp_left -> ContinuousMap.continuous_comp_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2), Continuous.{max u2 u3, max u1 u3} (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) (ContinuousMap.{u1, u3} α γ _inst_1 _inst_3) (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3) (ContinuousMap.compactOpen.{u1, u3} α γ _inst_1 _inst_3) (fun (g : ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) => ContinuousMap.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 g f)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u3} β] [_inst_3 : TopologicalSpace.{u2} γ] (f : ContinuousMap.{u1, u3} α β _inst_1 _inst_2), Continuous.{max u3 u2, max u1 u2} (ContinuousMap.{u3, u2} β γ _inst_2 _inst_3) (ContinuousMap.{u1, u2} α γ _inst_1 _inst_3) (ContinuousMap.compactOpen.{u3, u2} β γ _inst_2 _inst_3) (ContinuousMap.compactOpen.{u1, u2} α γ _inst_1 _inst_3) (fun (g : ContinuousMap.{u3, u2} β γ _inst_2 _inst_3) => ContinuousMap.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 g f)
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_comp_left ContinuousMap.continuous_comp_leftₓ'. -/
 /-- C(-, γ) is a functor. -/
 theorem continuous_comp_left : Continuous (fun g => g.comp f : C(β, γ) → C(α, γ)) :=
   continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ => by rw [hm, image_gen f hs hu];
     exact ContinuousMap.isOpen_gen (hs.image f.2) hu
 #align continuous_map.continuous_comp_left ContinuousMap.continuous_comp_left
 
-/- warning: continuous_map.continuous_comp' -> ContinuousMap.continuous_comp' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] [_inst_4 : LocallyCompactSpace.{u2} β _inst_2], Continuous.{max (max u1 u2) u2 u3, max u1 u3} (Prod.{max u1 u2, max u2 u3} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3)) (ContinuousMap.{u1, u3} α γ _inst_1 _inst_3) (Prod.topologicalSpace.{max u1 u2, max u2 u3} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) (ContinuousMap.compactOpen.{u1, u3} α γ _inst_1 _inst_3) (fun (x : Prod.{max u1 u2, max u2 u3} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3)) => ContinuousMap.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (Prod.snd.{max u1 u2, max u2 u3} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) x) (Prod.fst.{max u1 u2, max u2 u3} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) x))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u3} β] [_inst_3 : TopologicalSpace.{u1} γ] [_inst_4 : LocallyCompactSpace.{u3} β _inst_2], Continuous.{max (max u2 u3) u1, max u1 u2} (Prod.{max u3 u2, max u1 u3} (ContinuousMap.{u2, u3} α β _inst_1 _inst_2) (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3)) (ContinuousMap.{u2, u1} α γ _inst_1 _inst_3) (instTopologicalSpaceProd.{max u2 u3, max u3 u1} (ContinuousMap.{u2, u3} α β _inst_1 _inst_2) (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) (ContinuousMap.compactOpen.{u2, u3} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3)) (ContinuousMap.compactOpen.{u2, u1} α γ _inst_1 _inst_3) (fun (x : Prod.{max u3 u2, max u1 u3} (ContinuousMap.{u2, u3} α β _inst_1 _inst_2) (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3)) => ContinuousMap.comp.{u2, u3, u1} α β γ _inst_1 _inst_2 _inst_3 (Prod.snd.{max u2 u3, max u3 u1} (ContinuousMap.{u2, u3} α β _inst_1 _inst_2) (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) x) (Prod.fst.{max u2 u3, max u3 u1} (ContinuousMap.{u2, u3} α β _inst_1 _inst_2) (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) x))
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_comp' ContinuousMap.continuous_comp'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- Composition is a continuous map from `C(α, β) × C(β, γ)` to `C(α, γ)`, provided that `β` is
   locally compact. This is Prop. 9 of Chap. X, §3, №. 4 of Bourbaki's *Topologie Générale*. -/
@@ -205,12 +157,6 @@ theorem continuous_comp' [LocallyCompactSpace β] :
       exact mem_prod.mpr ⟨hKL, image_subset_iff.mpr hLU⟩)
 #align continuous_map.continuous_comp' ContinuousMap.continuous_comp'
 
-/- warning: continuous_map.continuous.comp' -> ContinuousMap.continuous.comp' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] {X : Type.{u4}} [_inst_4 : TopologicalSpace.{u4} X] [_inst_5 : LocallyCompactSpace.{u2} β _inst_2] {f : X -> (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)} {g : X -> (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3)}, (Continuous.{u4, max u1 u2} X (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_4 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) f) -> (Continuous.{u4, max u2 u3} X (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_4 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3) g) -> (Continuous.{u4, max u1 u3} X (ContinuousMap.{u1, u3} α γ _inst_1 _inst_3) _inst_4 (ContinuousMap.compactOpen.{u1, u3} α γ _inst_1 _inst_3) (fun (x : X) => ContinuousMap.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (g x) (f x)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u3} β] [_inst_3 : TopologicalSpace.{u1} γ] {X : Type.{u4}} [_inst_4 : TopologicalSpace.{u4} X] [_inst_5 : LocallyCompactSpace.{u3} β _inst_2] {f : X -> (ContinuousMap.{u2, u3} α β _inst_1 _inst_2)} {g : X -> (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3)}, (Continuous.{u4, max u2 u3} X (ContinuousMap.{u2, u3} α β _inst_1 _inst_2) _inst_4 (ContinuousMap.compactOpen.{u2, u3} α β _inst_1 _inst_2) f) -> (Continuous.{u4, max u3 u1} X (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_4 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3) g) -> (Continuous.{u4, max u1 u2} X (ContinuousMap.{u2, u1} α γ _inst_1 _inst_3) _inst_4 (ContinuousMap.compactOpen.{u2, u1} α γ _inst_1 _inst_3) (fun (x : X) => ContinuousMap.comp.{u2, u3, u1} α β γ _inst_1 _inst_2 _inst_3 (g x) (f x)))
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous.comp' ContinuousMap.continuous.comp'ₓ'. -/
 theorem continuous.comp' {X : Type _} [TopologicalSpace X] [LocallyCompactSpace β] {f : X → C(α, β)}
     {g : X → C(β, γ)} (hf : Continuous f) (hg : Continuous g) :
     Continuous fun x => (g x).comp (f x) :=
@@ -223,12 +169,6 @@ section Ev
 
 variable {α β}
 
-/- warning: continuous_map.continuous_eval' -> ContinuousMap.continuous_eval' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_4 : LocallyCompactSpace.{u1} α _inst_1], Continuous.{max u1 u2, u2} (Prod.{max u1 u2, u1} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) α) β (Prod.topologicalSpace.{max u1 u2, u1} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) α (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) _inst_1) _inst_2 (fun (p : Prod.{max u1 u2, u1} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) α) => coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => α -> β) (ContinuousMap.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (Prod.fst.{max u1 u2, u1} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) α p) (Prod.snd.{max u1 u2, u1} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) α p))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_4 : LocallyCompactSpace.{u2} α _inst_1], Continuous.{max u2 u1, u1} (Prod.{max u1 u2, u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α) β (instTopologicalSpaceProd.{max u2 u1, u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_1) _inst_2 (fun (p : Prod.{max u1 u2, u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Prod.fst.{max u2 u1, u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α p) (Prod.snd.{max u2 u1, u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α p))
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_eval' ContinuousMap.continuous_eval'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- The evaluation map `C(α, β) × α → β` is continuous if `α` is locally compact.
 
@@ -253,24 +193,12 @@ theorem continuous_eval' [LocallyCompactSpace α] : Continuous fun p : C(α, β)
       mem_nhds_iff.mpr ⟨w, by assumption, by assumption, by assumption⟩
 #align continuous_map.continuous_eval' ContinuousMap.continuous_eval'
 
-/- warning: continuous_map.continuous_eval_const' -> ContinuousMap.continuous_eval_const' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_4 : LocallyCompactSpace.{u1} α _inst_1] (a : α), Continuous.{max u1 u2, u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) _inst_2 (fun (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => α -> β) (ContinuousMap.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f a)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_4 : LocallyCompactSpace.{u2} α _inst_1] (a : α), Continuous.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) a) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2 (fun (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} α β _inst_1 _inst_2)) f a)
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_eval_const' ContinuousMap.continuous_eval_const'ₓ'. -/
 /-- See also `continuous_map.continuous_eval_const` -/
 theorem continuous_eval_const' [LocallyCompactSpace α] (a : α) :
     Continuous fun f : C(α, β) => f a :=
   continuous_eval'.comp (continuous_id.prod_mk continuous_const)
 #align continuous_map.continuous_eval_const' ContinuousMap.continuous_eval_const'
 
-/- warning: continuous_map.continuous_coe' -> ContinuousMap.continuous_coe' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_4 : LocallyCompactSpace.{u1} α _inst_1], Continuous.{max u1 u2, max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (α -> β) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (Pi.topologicalSpace.{u1, u2} α (fun (ᾰ : α) => β) (fun (a : α) => _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (ᾰ : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => α -> β) (ContinuousMap.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_4 : LocallyCompactSpace.{u2} α _inst_1], Continuous.{max u1 u2, max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (α -> β) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) (Pi.topologicalSpace.{u2, u1} α (fun (ᾰ : α) => β) (fun (a : α) => _inst_2)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α (fun (ᾰ : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) ᾰ) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} α β _inst_1 _inst_2)))
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_coe' ContinuousMap.continuous_coe'ₓ'. -/
 /-- See also `continuous_map.continuous_coe` -/
 theorem continuous_coe' [LocallyCompactSpace α] : @Continuous C(α, β) (α → β) _ _ coeFn :=
   continuous_pi continuous_eval_const'
@@ -295,12 +223,6 @@ end Ev
 
 section InfInduced
 
-/- warning: continuous_map.compact_open_le_induced -> ContinuousMap.compactOpen_le_induced is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (s : Set.{u1} α), LE.le.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Preorder.toHasLe.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (PartialOrder.toPreorder.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (TopologicalSpace.partialOrder.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (TopologicalSpace.induced.{max u1 u2, max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (s : Set.{u2} α), LE.le.{max u2 u1} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Preorder.toLE.{max u2 u1} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (PartialOrder.toPreorder.{max u2 u1} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (TopologicalSpace.instPartialOrderTopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) (TopologicalSpace.induced.{max u2 u1, max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s) (ContinuousMap.compactOpen.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2))
-Case conversion may be inaccurate. Consider using '#align continuous_map.compact_open_le_induced ContinuousMap.compactOpen_le_inducedₓ'. -/
 theorem compactOpen_le_induced (s : Set α) :
     (ContinuousMap.compactOpen : TopologicalSpace C(α, β)) ≤
       TopologicalSpace.induced (ContinuousMap.restrict s) ContinuousMap.compactOpen :=
@@ -314,12 +236,6 @@ theorem compactOpen_le_induced (s : Set α) :
   rw [image_comp f (coe : s → α)]
 #align continuous_map.compact_open_le_induced ContinuousMap.compactOpen_le_induced
 
-/- warning: continuous_map.compact_open_eq_Inf_induced -> ContinuousMap.compactOpen_eq_sInf_induced is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], Eq.{succ (max u1 u2)} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (iInf.{max u1 u2, succ u1} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toHasInf.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (TopologicalSpace.completeLattice.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (Set.{u1} α) (fun (s : Set.{u1} α) => iInf.{max u1 u2, 0} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toHasInf.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (TopologicalSpace.completeLattice.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (IsCompact.{u1} α _inst_1 s) (fun (hs : IsCompact.{u1} α _inst_1 s) => TopologicalSpace.induced.{max u1 u2, max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β], Eq.{max (succ u2) (succ u1)} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) (iInf.{max u2 u1, succ u2} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (Set.{u2} α) (fun (s : Set.{u2} α) => iInf.{max u2 u1, 0} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (IsCompact.{u2} α _inst_1 s) (fun (hs : IsCompact.{u2} α _inst_1 s) => TopologicalSpace.induced.{max u2 u1, max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s) (ContinuousMap.compactOpen.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2))))
-Case conversion may be inaccurate. Consider using '#align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_sInf_inducedₓ'. -/
 /-- The compact-open topology on `C(α, β)` is equal to the infimum of the compact-open topologies
 on `C(s, β)` for `s` a compact subset of `α`.  The key point of the proof is that the union of the
 compact subsets of `α` is equal to the union of compact subsets of the compact subsets of `α`. -/
@@ -342,59 +258,29 @@ theorem compactOpen_eq_sInf_induced :
   simp
 #align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_sInf_induced
 
-/- warning: continuous_map.continuous_restrict -> ContinuousMap.continuous_restrict is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (s : Set.{u1} α), Continuous.{max u1 u2, max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (fun (F : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s F)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (s : Set.{u2} α), Continuous.{max u2 u1, max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (fun (F : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) => ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s F)
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_restrict ContinuousMap.continuous_restrictₓ'. -/
 /-- For any subset `s` of `α`, the restriction of continuous functions to `s` is continuous as a
 function from `C(α, β)` to `C(s, β)` with their respective compact-open topologies. -/
 theorem continuous_restrict (s : Set α) : Continuous fun F : C(α, β) => F.restrict s := by
   rw [continuous_iff_le_induced]; exact compact_open_le_induced s
 #align continuous_map.continuous_restrict ContinuousMap.continuous_restrict
 
-/- warning: continuous_map.nhds_compact_open_eq_Inf_nhds_induced -> ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2), Eq.{succ (max u1 u2)} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (nhds.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) f) (iInf.{max u1 u2, succ u1} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toHasInf.{max u1 u2} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Filter.completeLattice.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (Set.{u1} α) (fun (s : Set.{u1} α) => iInf.{max u1 u2, 0} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toHasInf.{max u1 u2} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Filter.completeLattice.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (IsCompact.{u1} α _inst_1 s) (fun (hs : IsCompact.{u1} α _inst_1 s) => Filter.comap.{max u1 u2, max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s) (nhds.{max u1 u2} (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s f)))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (nhds.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) f) (iInf.{max u2 u1, succ u2} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Filter.instCompleteLatticeFilter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (Set.{u2} α) (fun (s : Set.{u2} α) => iInf.{max u2 u1, 0} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Filter.instCompleteLatticeFilter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (IsCompact.{u2} α _inst_1 s) (fun (hs : IsCompact.{u2} α _inst_1 s) => Filter.comap.{max u2 u1, max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s) (nhds.{max u2 u1} (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s f)))))
-Case conversion may be inaccurate. Consider using '#align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_sInf_nhds_inducedₓ'. -/
 theorem nhds_compactOpen_eq_sInf_nhds_induced (f : C(α, β)) :
     𝓝 f = ⨅ (s) (hs : IsCompact s), (𝓝 (f.restrict s)).comap (ContinuousMap.restrict s) := by
   rw [compact_open_eq_Inf_induced]; simp [nhds_iInf, nhds_induced]
 #align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced
 
-/- warning: continuous_map.tendsto_compact_open_restrict -> ContinuousMap.tendsto_compactOpen_restrict is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {ι : Type.{u3}} {l : Filter.{u3} ι} {F : ι -> (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)} {f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2}, (Filter.Tendsto.{u3, max u1 u2} ι (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) F l (nhds.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) f)) -> (forall (s : Set.{u1} α), Filter.Tendsto.{u3, max u1 u2} ι (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (fun (i : ι) => ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s (F i)) l (nhds.{max u1 u2} (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s f)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] {ι : Type.{u3}} {l : Filter.{u3} ι} {F : ι -> (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)} {f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2}, (Filter.Tendsto.{u3, max u2 u1} ι (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) F l (nhds.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) f)) -> (forall (s : Set.{u2} α), Filter.Tendsto.{u3, max u2 u1} ι (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (fun (i : ι) => ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s (F i)) l (nhds.{max u2 u1} (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s f)))
-Case conversion may be inaccurate. Consider using '#align continuous_map.tendsto_compact_open_restrict ContinuousMap.tendsto_compactOpen_restrictₓ'. -/
 theorem tendsto_compactOpen_restrict {ι : Type _} {l : Filter ι} {F : ι → C(α, β)} {f : C(α, β)}
     (hFf : Filter.Tendsto F l (𝓝 f)) (s : Set α) :
     Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) :=
   (continuous_restrict s).ContinuousAt.Tendsto.comp hFf
 #align continuous_map.tendsto_compact_open_restrict ContinuousMap.tendsto_compactOpen_restrict
 
-/- warning: continuous_map.tendsto_compact_open_iff_forall -> ContinuousMap.tendsto_compactOpen_iff_forall is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {ι : Type.{u3}} {l : Filter.{u3} ι} (F : ι -> (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2), Iff (Filter.Tendsto.{u3, max u1 u2} ι (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) F l (nhds.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) f)) (forall (s : Set.{u1} α), (IsCompact.{u1} α _inst_1 s) -> (Filter.Tendsto.{u3, max u1 u2} ι (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (fun (i : ι) => ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s (F i)) l (nhds.{max u1 u2} (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s f))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] {ι : Type.{u3}} {l : Filter.{u3} ι} (F : ι -> (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2), Iff (Filter.Tendsto.{u3, max u2 u1} ι (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) F l (nhds.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) f)) (forall (s : Set.{u2} α), (IsCompact.{u2} α _inst_1 s) -> (Filter.Tendsto.{u3, max u2 u1} ι (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (fun (i : ι) => ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s (F i)) l (nhds.{max u2 u1} (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s f))))
-Case conversion may be inaccurate. Consider using '#align continuous_map.tendsto_compact_open_iff_forall ContinuousMap.tendsto_compactOpen_iff_forallₓ'. -/
 theorem tendsto_compactOpen_iff_forall {ι : Type _} {l : Filter ι} (F : ι → C(α, β)) (f : C(α, β)) :
     Filter.Tendsto F l (𝓝 f) ↔
       ∀ (s) (hs : IsCompact s), Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) :=
   by rw [compact_open_eq_Inf_induced]; simp [nhds_iInf, nhds_induced, Filter.tendsto_comap_iff]
 #align continuous_map.tendsto_compact_open_iff_forall ContinuousMap.tendsto_compactOpen_iff_forall
 
-/- warning: continuous_map.exists_tendsto_compact_open_iff_forall -> ContinuousMap.exists_tendsto_compactOpen_iff_forall is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_4 : LocallyCompactSpace.{u1} α _inst_1] [_inst_5 : T2Space.{u1} α _inst_1] [_inst_6 : T2Space.{u2} β _inst_2] {ι : Type.{u3}} {l : Filter.{u3} ι} [_inst_7 : Filter.NeBot.{u3} ι l] (F : ι -> (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)), Iff (Exists.{max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => Filter.Tendsto.{u3, max u1 u2} ι (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) F l (nhds.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) f))) (forall (s : Set.{u1} α), (IsCompact.{u1} α _inst_1 s) -> (Exists.{max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (fun (f : ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) => Filter.Tendsto.{u3, max u1 u2} ι (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (fun (i : ι) => ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s (F i)) l (nhds.{max u1 u2} (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) f))))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_4 : LocallyCompactSpace.{u3} α _inst_1] [_inst_5 : T2Space.{u3} α _inst_1] [_inst_6 : T2Space.{u2} β _inst_2] {ι : Type.{u1}} {l : Filter.{u1} ι} [_inst_7 : Filter.NeBot.{u1} ι l] (F : ι -> (ContinuousMap.{u3, u2} α β _inst_1 _inst_2)), Iff (Exists.{max (succ u3) (succ u2)} (ContinuousMap.{u3, u2} α β _inst_1 _inst_2) (fun (f : ContinuousMap.{u3, u2} α β _inst_1 _inst_2) => Filter.Tendsto.{u1, max u3 u2} ι (ContinuousMap.{u3, u2} α β _inst_1 _inst_2) F l (nhds.{max u3 u2} (ContinuousMap.{u3, u2} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u3, u2} α β _inst_1 _inst_2) f))) (forall (s : Set.{u3} α), (IsCompact.{u3} α _inst_1 s) -> (Exists.{max (succ u3) (succ u2)} (ContinuousMap.{u3, u2} (Set.Elem.{u3} α s) β (instTopologicalSpaceSubtype.{u3} α (fun (x : α) => Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s) _inst_1) _inst_2) (fun (f : ContinuousMap.{u3, u2} (Set.Elem.{u3} α s) β (instTopologicalSpaceSubtype.{u3} α (fun (x : α) => Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s) _inst_1) _inst_2) => Filter.Tendsto.{u1, max u3 u2} ι (ContinuousMap.{u3, u2} (Set.Elem.{u3} α s) β (instTopologicalSpaceSubtype.{u3} α (fun (x : α) => Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s) _inst_1) _inst_2) (fun (i : ι) => ContinuousMap.restrict.{u3, u2} α β _inst_1 _inst_2 s (F i)) l (nhds.{max u3 u2} (ContinuousMap.{u3, u2} (Set.Elem.{u3} α s) β (instTopologicalSpaceSubtype.{u3} α (fun (x : α) => Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u3, u2} (Set.Elem.{u3} α s) β (instTopologicalSpaceSubtype.{u3} α (fun (x : α) => Membership.mem.{u3, u3} α (Set.{u3} α) (Set.instMembershipSet.{u3} α) x s) _inst_1) _inst_2) f))))
-Case conversion may be inaccurate. Consider using '#align continuous_map.exists_tendsto_compact_open_iff_forall ContinuousMap.exists_tendsto_compactOpen_iff_forallₓ'. -/
 /-- A family `F` of functions in `C(α, β)` converges in the compact-open topology, if and only if
 it converges in the compact-open topology on each compact subset of `α`. -/
 theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space α] [T2Space β]
@@ -439,12 +325,6 @@ section Coev
 
 variable (α β)
 
-/- warning: continuous_map.coev -> ContinuousMap.coev is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) (β : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], β -> (ContinuousMap.{u1, max u2 u1} α (Prod.{u2, u1} β α) _inst_1 (Prod.topologicalSpace.{u2, u1} β α _inst_2 _inst_1))
-but is expected to have type
-  forall (α : Type.{u1}) (β : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], β -> (ContinuousMap.{u1, max u1 u2} α (Prod.{u2, u1} β α) _inst_1 (instTopologicalSpaceProd.{u2, u1} β α _inst_2 _inst_1))
-Case conversion may be inaccurate. Consider using '#align continuous_map.coev ContinuousMap.coevₓ'. -/
 /-- The coevaluation map `β → C(α, β × α)` sending a point `x : β` to the continuous function
 on `α` sending `y` to `(x, y)`. -/
 def coev (b : β) : C(α, β × α) :=
@@ -453,22 +333,10 @@ def coev (b : β) : C(α, β × α) :=
 
 variable {α β}
 
-/- warning: continuous_map.image_coev -> ContinuousMap.image_coev is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] {y : β} (s : Set.{u1} α), Eq.{succ (max u2 u1)} (Set.{max u2 u1} (Prod.{u2, u1} β α)) (Set.image.{u1, max u2 u1} α (Prod.{u2, u1} β α) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (ContinuousMap.{u1, max u2 u1} α (Prod.{u2, u1} β α) _inst_1 (Prod.topologicalSpace.{u2, u1} β α _inst_2 _inst_1)) (fun (_x : ContinuousMap.{u1, max u2 u1} α (Prod.{u2, u1} β α) _inst_1 (Prod.topologicalSpace.{u2, u1} β α _inst_2 _inst_1)) => α -> (Prod.{u2, u1} β α)) (ContinuousMap.hasCoeToFun.{u1, max u2 u1} α (Prod.{u2, u1} β α) _inst_1 (Prod.topologicalSpace.{u2, u1} β α _inst_2 _inst_1)) (ContinuousMap.coev.{u1, u2} α β _inst_1 _inst_2 y)) s) (Set.prod.{u2, u1} β α (Singleton.singleton.{u2, u2} β (Set.{u2} β) (Set.hasSingleton.{u2} β) y) s)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] {y : β} (s : Set.{u2} α), Eq.{max (succ u2) (succ u1)} (Set.{max u2 u1} (Prod.{u1, u2} β α)) (Set.image.{u2, max u2 u1} α (Prod.{u1, u2} β α) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (ContinuousMap.{u2, max u2 u1} α (Prod.{u1, u2} β α) _inst_1 (instTopologicalSpaceProd.{u1, u2} β α _inst_2 _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => Prod.{u1, u2} β α) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, max u2 u1} (ContinuousMap.{u2, max u2 u1} α (Prod.{u1, u2} β α) _inst_1 (instTopologicalSpaceProd.{u1, u2} β α _inst_2 _inst_1)) α (Prod.{u1, u2} β α) _inst_1 (instTopologicalSpaceProd.{u1, u2} β α _inst_2 _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, max u2 u1} α (Prod.{u1, u2} β α) _inst_1 (instTopologicalSpaceProd.{u1, u2} β α _inst_2 _inst_1))) (ContinuousMap.coev.{u2, u1} α β _inst_1 _inst_2 y)) s) (Set.prod.{u1, u2} β α (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y) s)
-Case conversion may be inaccurate. Consider using '#align continuous_map.image_coev ContinuousMap.image_coevₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem image_coev {y : β} (s : Set α) : coev α β y '' s = ({y} : Set β) ×ˢ s := by tidy
 #align continuous_map.image_coev ContinuousMap.image_coev
 
-/- warning: continuous_map.continuous_coev -> ContinuousMap.continuous_coev is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], Continuous.{u2, max u2 u1} β (ContinuousMap.{u1, max u2 u1} α (Prod.{u2, u1} β α) _inst_1 (Prod.topologicalSpace.{u2, u1} β α _inst_2 _inst_1)) _inst_2 (ContinuousMap.compactOpen.{u1, max u2 u1} α (Prod.{u2, u1} β α) _inst_1 (Prod.topologicalSpace.{u2, u1} β α _inst_2 _inst_1)) (ContinuousMap.coev.{u1, u2} α β _inst_1 _inst_2)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], Continuous.{u2, max u1 u2} β (ContinuousMap.{u1, max u1 u2} α (Prod.{u2, u1} β α) _inst_1 (instTopologicalSpaceProd.{u2, u1} β α _inst_2 _inst_1)) _inst_2 (ContinuousMap.compactOpen.{u1, max u1 u2} α (Prod.{u2, u1} β α) _inst_1 (instTopologicalSpaceProd.{u2, u1} β α _inst_2 _inst_1)) (ContinuousMap.coev.{u1, u2} α β _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_coev ContinuousMap.continuous_coevₓ'. -/
 -- The coevaluation map β → C(α, β × α) is continuous (always).
 theorem continuous_coev : Continuous (coev α β) :=
   continuous_generateFrom <| by
@@ -489,35 +357,17 @@ end Coev
 
 section Curry
 
-/- warning: continuous_map.curry' -> ContinuousMap.curry' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ], (ContinuousMap.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3) -> α -> (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ], (ContinuousMap.{max u2 u1, u3} (Prod.{u1, u2} α β) γ (instTopologicalSpaceProd.{u1, u2} α β _inst_1 _inst_2) _inst_3) -> α -> (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align continuous_map.curry' ContinuousMap.curry'ₓ'. -/
 /-- Auxiliary definition, see `continuous_map.curry` and `homeomorph.curry`. -/
 def curry' (f : C(α × β, γ)) (a : α) : C(β, γ) :=
   ⟨Function.curry f a⟩
 #align continuous_map.curry' ContinuousMap.curry'
 
-/- warning: continuous_map.continuous_curry' -> ContinuousMap.continuous_curry' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] (f : ContinuousMap.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3), Continuous.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3) (ContinuousMap.curry'.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u3} β] [_inst_3 : TopologicalSpace.{u1} γ] (f : ContinuousMap.{max u3 u2, u1} (Prod.{u2, u3} α β) γ (instTopologicalSpaceProd.{u2, u3} α β _inst_1 _inst_2) _inst_3), Continuous.{u2, max u1 u3} α (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3) (ContinuousMap.curry'.{u2, u3, u1} α β γ _inst_1 _inst_2 _inst_3 f)
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_curry' ContinuousMap.continuous_curry'ₓ'. -/
 /-- If a map `α × β → γ` is continuous, then its curried form `α → C(β, γ)` is continuous. -/
 theorem continuous_curry' (f : C(α × β, γ)) : Continuous (curry' f) :=
   have hf : curry' f = ContinuousMap.comp f ∘ coev _ _ := by ext; rfl
   hf ▸ Continuous.comp (continuous_comp f) continuous_coev
 #align continuous_map.continuous_curry' ContinuousMap.continuous_curry'
 
-/- warning: continuous_map.continuous_of_continuous_uncurry -> ContinuousMap.continuous_of_continuous_uncurry is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] (f : α -> (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3)), (Continuous.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3 (Function.uncurry.{u1, u2, u3} α β γ (fun (x : α) (y : β) => coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (ContinuousMap.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) (f x) y))) -> (Continuous.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3) f)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u3} β] [_inst_3 : TopologicalSpace.{u2} γ] (f : α -> (ContinuousMap.{u3, u2} β γ _inst_2 _inst_3)), (Continuous.{max u3 u1, u2} (Prod.{u1, u3} α β) γ (instTopologicalSpaceProd.{u1, u3} α β _inst_1 _inst_2) _inst_3 (Function.uncurry.{u1, u3, u2} α β γ (fun (x : α) (y : β) => FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (ContinuousMap.{u3, u2} β γ _inst_2 _inst_3) β (fun (_x : β) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : β) => γ) _x) (ContinuousMapClass.toFunLike.{max u3 u2, u3, u2} (ContinuousMap.{u3, u2} β γ _inst_2 _inst_3) β γ _inst_2 _inst_3 (ContinuousMap.instContinuousMapClassContinuousMap.{u3, u2} β γ _inst_2 _inst_3)) (f x) y))) -> (Continuous.{u1, max u3 u2} α (ContinuousMap.{u3, u2} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u2} β γ _inst_2 _inst_3) f)
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_of_continuous_uncurry ContinuousMap.continuous_of_continuous_uncurryₓ'. -/
 /-- To show continuity of a map `α → C(β, γ)`, it suffices to show that its uncurried form
     `α × β → γ` is continuous. -/
 theorem continuous_of_continuous_uncurry (f : α → C(β, γ))
@@ -525,12 +375,6 @@ theorem continuous_of_continuous_uncurry (f : α → C(β, γ))
   convert continuous_curry' ⟨_, h⟩; ext; rfl
 #align continuous_map.continuous_of_continuous_uncurry ContinuousMap.continuous_of_continuous_uncurry
 
-/- warning: continuous_map.curry -> ContinuousMap.curry is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ], (ContinuousMap.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3) -> (ContinuousMap.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ], (ContinuousMap.{max u2 u1, u3} (Prod.{u1, u2} α β) γ (instTopologicalSpaceProd.{u1, u2} α β _inst_1 _inst_2) _inst_3) -> (ContinuousMap.{u1, max u3 u2} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align continuous_map.curry ContinuousMap.curryₓ'. -/
 /-- The curried form of a continuous map `α × β → γ` as a continuous map `α → C(β, γ)`.
     If `a × β` is locally compact, this is continuous. If `α` and `β` are both locally
     compact, then this is a homeomorphism, see `homeomorph.curry`. -/
@@ -538,12 +382,6 @@ def curry (f : C(α × β, γ)) : C(α, C(β, γ)) :=
   ⟨_, continuous_curry' f⟩
 #align continuous_map.curry ContinuousMap.curry
 
-/- warning: continuous_map.continuous_curry -> ContinuousMap.continuous_curry is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] [_inst_4 : LocallyCompactSpace.{max u1 u2} (Prod.{u1, u2} α β) (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2)], Continuous.{max (max u1 u2) u3, max u1 u2 u3} (ContinuousMap.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3) (ContinuousMap.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) (ContinuousMap.compactOpen.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3) (ContinuousMap.compactOpen.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) (ContinuousMap.curry.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u3} β] [_inst_3 : TopologicalSpace.{u1} γ] [_inst_4 : LocallyCompactSpace.{max u3 u2} (Prod.{u2, u3} α β) (instTopologicalSpaceProd.{u2, u3} α β _inst_1 _inst_2)], Continuous.{max (max u2 u3) u1, max (max u2 u3) u1} (ContinuousMap.{max u3 u2, u1} (Prod.{u2, u3} α β) γ (instTopologicalSpaceProd.{u2, u3} α β _inst_1 _inst_2) _inst_3) (ContinuousMap.{u2, max u1 u3} α (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3)) (ContinuousMap.compactOpen.{max u2 u3, u1} (Prod.{u2, u3} α β) γ (instTopologicalSpaceProd.{u2, u3} α β _inst_1 _inst_2) _inst_3) (ContinuousMap.compactOpen.{u2, max u3 u1} α (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3)) (ContinuousMap.curry.{u2, u3, u1} α β γ _inst_1 _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_curry ContinuousMap.continuous_curryₓ'. -/
 /-- The currying process is a continuous map between function spaces. -/
 theorem continuous_curry [LocallyCompactSpace (α × β)] :
     Continuous (curry : C(α × β, γ) → C(α, C(β, γ))) :=
@@ -554,35 +392,17 @@ theorem continuous_curry [LocallyCompactSpace (α × β)] :
   convert continuous_eval' <;> tidy
 #align continuous_map.continuous_curry ContinuousMap.continuous_curry
 
-/- warning: continuous_map.curry_apply -> ContinuousMap.curry_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] (f : ContinuousMap.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3) (a : α) (b : β), Eq.{succ u3} γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (ContinuousMap.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (ContinuousMap.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : ContinuousMap.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) => α -> (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3)) (ContinuousMap.hasCoeToFun.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) (ContinuousMap.curry.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 f) a) b) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (ContinuousMap.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3) (fun (_x : ContinuousMap.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} α β) -> γ) (ContinuousMap.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3) f (Prod.mk.{u1, u2} α β a b))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u3} β] [_inst_3 : TopologicalSpace.{u1} γ] (f : ContinuousMap.{max u3 u2, u1} (Prod.{u2, u3} α β) γ (instTopologicalSpaceProd.{u2, u3} α β _inst_1 _inst_2) _inst_3) (a : α) (b : β), Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : β) => γ) b) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) a) β (fun (_x : β) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : β) => γ) _x) (ContinuousMapClass.toFunLike.{max u3 u1, u3, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) a) β γ _inst_2 _inst_3 (ContinuousMap.instContinuousMapClassContinuousMap.{u3, u1} β γ _inst_2 _inst_3)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u2, max (succ u3) (succ u1)} (ContinuousMap.{u2, max u1 u3} α (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3)) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _x) (ContinuousMapClass.toFunLike.{max (max u2 u3) u1, u2, max u3 u1} (ContinuousMap.{u2, max u1 u3} α (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3)) α (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, max u3 u1} α (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3))) (ContinuousMap.curry.{u2, u3, u1} α β γ _inst_1 _inst_2 _inst_3 f) a) b) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u3), succ u1} (ContinuousMap.{max u3 u2, u1} (Prod.{u2, u3} α β) γ (instTopologicalSpaceProd.{u2, u3} α β _inst_1 _inst_2) _inst_3) (Prod.{u2, u3} α β) (fun (_x : Prod.{u2, u3} α β) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : Prod.{u2, u3} α β) => γ) _x) (ContinuousMapClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (ContinuousMap.{max u3 u2, u1} (Prod.{u2, u3} α β) γ (instTopologicalSpaceProd.{u2, u3} α β _inst_1 _inst_2) _inst_3) (Prod.{u2, u3} α β) γ (instTopologicalSpaceProd.{u2, u3} α β _inst_1 _inst_2) _inst_3 (ContinuousMap.instContinuousMapClassContinuousMap.{max u2 u3, u1} (Prod.{u2, u3} α β) γ (instTopologicalSpaceProd.{u2, u3} α β _inst_1 _inst_2) _inst_3)) f (Prod.mk.{u2, u3} α β a b))
-Case conversion may be inaccurate. Consider using '#align continuous_map.curry_apply ContinuousMap.curry_applyₓ'. -/
 @[simp]
 theorem curry_apply (f : C(α × β, γ)) (a : α) (b : β) : f.curry a b = f (a, b) :=
   rfl
 #align continuous_map.curry_apply ContinuousMap.curry_apply
 
-/- warning: continuous_map.continuous_uncurry_of_continuous -> ContinuousMap.continuous_uncurry_of_continuous is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] [_inst_4 : LocallyCompactSpace.{u2} β _inst_2] (f : ContinuousMap.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)), Continuous.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3 (Function.uncurry.{u1, u2, u3} α β γ (fun (x : α) (y : β) => coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) (fun (_x : ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) => β -> γ) (ContinuousMap.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3) (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (ContinuousMap.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) (fun (_x : ContinuousMap.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) => α -> (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3)) (ContinuousMap.hasCoeToFun.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) f x) y))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u3} β] [_inst_3 : TopologicalSpace.{u1} γ] [_inst_4 : LocallyCompactSpace.{u3} β _inst_2] (f : ContinuousMap.{u2, max u1 u3} α (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3)), Continuous.{max u3 u2, u1} (Prod.{u2, u3} α β) γ (instTopologicalSpaceProd.{u2, u3} α β _inst_1 _inst_2) _inst_3 (Function.uncurry.{u2, u3, u1} α β γ (fun (x : α) (y : β) => FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) x) β (fun (_x : β) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : β) => γ) _x) (ContinuousMapClass.toFunLike.{max u3 u1, u3, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) x) β γ _inst_2 _inst_3 (ContinuousMap.instContinuousMapClassContinuousMap.{u3, u1} β γ _inst_2 _inst_3)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u2, max (succ u3) (succ u1)} (ContinuousMap.{u2, max u1 u3} α (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3)) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _x) (ContinuousMapClass.toFunLike.{max (max u2 u3) u1, u2, max u3 u1} (ContinuousMap.{u2, max u1 u3} α (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3)) α (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, max u3 u1} α (ContinuousMap.{u3, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u3, u1} β γ _inst_2 _inst_3))) f x) y))
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_uncurry_of_continuous ContinuousMap.continuous_uncurry_of_continuousₓ'. -/
 /-- The uncurried form of a continuous map `α → C(β, γ)` is a continuous map `α × β → γ`. -/
 theorem continuous_uncurry_of_continuous [LocallyCompactSpace β] (f : C(α, C(β, γ))) :
     Continuous (Function.uncurry fun x y => f x y) :=
   continuous_eval'.comp <| f.Continuous.Prod_map continuous_id
 #align continuous_map.continuous_uncurry_of_continuous ContinuousMap.continuous_uncurry_of_continuous
 
-/- warning: continuous_map.uncurry -> ContinuousMap.uncurry is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] [_inst_4 : LocallyCompactSpace.{u2} β _inst_2], (ContinuousMap.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) -> (ContinuousMap.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] [_inst_4 : LocallyCompactSpace.{u2} β _inst_2], (ContinuousMap.{u1, max u3 u2} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) -> (ContinuousMap.{max u2 u1, u3} (Prod.{u1, u2} α β) γ (instTopologicalSpaceProd.{u1, u2} α β _inst_1 _inst_2) _inst_3)
-Case conversion may be inaccurate. Consider using '#align continuous_map.uncurry ContinuousMap.uncurryₓ'. -/
 /-- The uncurried form of a continuous map `α → C(β, γ)` as a continuous map `α × β → γ` (if `β` is
     locally compact). If `α` is also locally compact, then this is a homeomorphism between the two
     function spaces, see `homeomorph.curry`. -/
@@ -591,12 +411,6 @@ def uncurry [LocallyCompactSpace β] (f : C(α, C(β, γ))) : C(α × β, γ) :=
   ⟨_, continuous_uncurry_of_continuous f⟩
 #align continuous_map.uncurry ContinuousMap.uncurry
 
-/- warning: continuous_map.continuous_uncurry -> ContinuousMap.continuous_uncurry is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] [_inst_4 : LocallyCompactSpace.{u1} α _inst_1] [_inst_5 : LocallyCompactSpace.{u2} β _inst_2], Continuous.{max u1 u2 u3, max (max u1 u2) u3} (ContinuousMap.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) (ContinuousMap.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3) (ContinuousMap.compactOpen.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) (ContinuousMap.compactOpen.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3) (ContinuousMap.uncurry.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5)
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u1} γ] [_inst_4 : LocallyCompactSpace.{u3} α _inst_1] [_inst_5 : LocallyCompactSpace.{u2} β _inst_2], Continuous.{max (max u3 u2) u1, max (max u3 u2) u1} (ContinuousMap.{u3, max u1 u2} α (ContinuousMap.{u2, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u1} β γ _inst_2 _inst_3)) (ContinuousMap.{max u2 u3, u1} (Prod.{u3, u2} α β) γ (instTopologicalSpaceProd.{u3, u2} α β _inst_1 _inst_2) _inst_3) (ContinuousMap.compactOpen.{u3, max u2 u1} α (ContinuousMap.{u2, u1} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u1} β γ _inst_2 _inst_3)) (ContinuousMap.compactOpen.{max u3 u2, u1} (Prod.{u3, u2} α β) γ (instTopologicalSpaceProd.{u3, u2} α β _inst_1 _inst_2) _inst_3) (ContinuousMap.uncurry.{u3, u2, u1} α β γ _inst_1 _inst_2 _inst_3 _inst_5)
-Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_uncurry ContinuousMap.continuous_uncurryₓ'. -/
 /-- The uncurrying process is a continuous map between function spaces. -/
 theorem continuous_uncurry [LocallyCompactSpace α] [LocallyCompactSpace β] :
     Continuous (uncurry : C(α, C(β, γ)) → C(α × β, γ)) :=
@@ -614,12 +428,6 @@ def const' : C(β, C(α, β)) :=
 #align continuous_map.const' ContinuousMap.const'
 -/
 
-/- warning: continuous_map.coe_const' -> ContinuousMap.coe_const' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], Eq.{max (succ u1) (succ u2)} ((fun (_x : ContinuousMap.{u2, max u1 u2} β (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2)) => β -> (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.const'.{u1, u2} α β _inst_1 _inst_2)) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (ContinuousMap.{u2, max u1 u2} β (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : ContinuousMap.{u2, max u1 u2} β (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2)) => β -> (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.hasCoeToFun.{u2, max u1 u2} β (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.const'.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.const.{u1, u2} α β _inst_1 _inst_2)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β], Eq.{max (succ u2) (succ u1)} (forall (a : β), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : β) => ContinuousMap.{u2, u1} α β _inst_1 _inst_2) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (ContinuousMap.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)) β (fun (_x : β) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : β) => ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u1, max u1 u2} (ContinuousMap.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)) β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.instContinuousMapClassContinuousMap.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2))) (ContinuousMap.const'.{u2, u1} α β _inst_1 _inst_2)) (ContinuousMap.const.{u2, u1} α β _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align continuous_map.coe_const' ContinuousMap.coe_const'ₓ'. -/
 @[simp]
 theorem coe_const' : (const' : β → C(α, β)) = const α :=
   rfl
@@ -645,12 +453,6 @@ variable {α : Type _} {β : Type _} {γ : Type _}
 
 variable [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ]
 
-/- warning: homeomorph.curry -> Homeomorph.curry is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] [_inst_4 : LocallyCompactSpace.{u1} α _inst_1] [_inst_5 : LocallyCompactSpace.{u2} β _inst_2], Homeomorph.{max (max u1 u2) u3, max u1 u2 u3} (ContinuousMap.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3) (ContinuousMap.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) (ContinuousMap.compactOpen.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (Prod.topologicalSpace.{u1, u2} α β _inst_1 _inst_2) _inst_3) (ContinuousMap.compactOpen.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_3 : TopologicalSpace.{u3} γ] [_inst_4 : LocallyCompactSpace.{u1} α _inst_1] [_inst_5 : LocallyCompactSpace.{u2} β _inst_2], Homeomorph.{max u3 u2 u1, max (max u3 u2) u1} (ContinuousMap.{max u2 u1, u3} (Prod.{u1, u2} α β) γ (instTopologicalSpaceProd.{u1, u2} α β _inst_1 _inst_2) _inst_3) (ContinuousMap.{u1, max u3 u2} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3)) (ContinuousMap.compactOpen.{max u1 u2, u3} (Prod.{u1, u2} α β) γ (instTopologicalSpaceProd.{u1, u2} α β _inst_1 _inst_2) _inst_3) (ContinuousMap.compactOpen.{u1, max u2 u3} α (ContinuousMap.{u2, u3} β γ _inst_2 _inst_3) _inst_1 (ContinuousMap.compactOpen.{u2, u3} β γ _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align homeomorph.curry Homeomorph.curryₓ'. -/
 /-- Currying as a homeomorphism between the function spaces `C(α × β, γ)` and `C(α, C(β, γ))`. -/
 def curry [LocallyCompactSpace α] [LocallyCompactSpace β] : C(α × β, γ) ≃ₜ C(α, C(β, γ)) :=
   ⟨⟨curry, uncurry, by tidy, by tidy⟩, continuous_curry, continuous_uncurry⟩
@@ -669,23 +471,11 @@ def continuousMapOfUnique [Unique α] : β ≃ₜ C(α, β)
 #align homeomorph.continuous_map_of_unique Homeomorph.continuousMapOfUnique
 -/
 
-/- warning: homeomorph.continuous_map_of_unique_apply -> Homeomorph.continuousMapOfUnique_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_4 : Unique.{succ u1} α] (b : β) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => α -> β) (ContinuousMap.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (Homeomorph.{u2, max u1 u2} β (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Homeomorph.{u2, max u1 u2} β (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2)) => β -> (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Homeomorph.hasCoeToFun.{u2, max u1 u2} β (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2)) (Homeomorph.continuousMapOfUnique.{u1, u2} α β _inst_1 _inst_2 _inst_4) b) a) b
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_4 : Unique.{succ u2} α] (b : β) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ u1, succ (max u1 u2)} (Homeomorph.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)) β (fun (_x : β) => ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (EmbeddingLike.toFunLike.{max (succ u1) (succ (max u1 u2)), succ u1, succ (max u1 u2)} (Homeomorph.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)) β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (EquivLike.toEmbeddingLike.{max (succ u1) (succ (max u1 u2)), succ u1, succ (max u1 u2)} (Homeomorph.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)) β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (Homeomorph.instEquivLikeHomeomorph.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)))) (Homeomorph.continuousMapOfUnique.{u2, u1} α β _inst_1 _inst_2 _inst_4) b) a) b
-Case conversion may be inaccurate. Consider using '#align homeomorph.continuous_map_of_unique_apply Homeomorph.continuousMapOfUnique_applyₓ'. -/
 @[simp]
 theorem continuousMapOfUnique_apply [Unique α] (b : β) (a : α) : continuousMapOfUnique b a = b :=
   rfl
 #align homeomorph.continuous_map_of_unique_apply Homeomorph.continuousMapOfUnique_apply
 
-/- warning: homeomorph.continuous_map_of_unique_symm_apply -> Homeomorph.continuousMapOfUnique_symm_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_4 : Unique.{succ u1} α] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2), Eq.{succ u2} β (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ (max u1 u2)) (succ u2)} (Homeomorph.{max u1 u2, u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) _inst_2) (fun (_x : Homeomorph.{max u1 u2, u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) _inst_2) => (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) -> β) (Homeomorph.hasCoeToFun.{max u1 u2, u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) _inst_2) (Homeomorph.symm.{u2, max u1 u2} β (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (Homeomorph.continuousMapOfUnique.{u1, u2} α β _inst_1 _inst_2 _inst_4)) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => α -> β) (ContinuousMap.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_4)))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_4 : Unique.{succ u2} α] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2), Eq.{succ u1} β (FunLike.coe.{max (succ (max u2 u1)) (succ u1), succ (max u2 u1), succ u1} (Homeomorph.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2) (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) => β) (EmbeddingLike.toFunLike.{max (succ (max u2 u1)) (succ u1), succ (max u2 u1), succ u1} (Homeomorph.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2) (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (EquivLike.toEmbeddingLike.{max (succ (max u2 u1)) (succ u1), succ (max u2 u1), succ u1} (Homeomorph.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2) (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (Homeomorph.instEquivLikeHomeomorph.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2))) (Homeomorph.symm.{u1, max u2 u1} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) (Homeomorph.continuousMapOfUnique.{u2, u1} α β _inst_1 _inst_2 _inst_4)) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} α β _inst_1 _inst_2)) f (Inhabited.default.{succ u2} α (Unique.instInhabited.{succ u2} α _inst_4)))
-Case conversion may be inaccurate. Consider using '#align homeomorph.continuous_map_of_unique_symm_apply Homeomorph.continuousMapOfUnique_symm_applyₓ'. -/
 @[simp]
 theorem continuousMapOfUnique_symm_apply [Unique α] (f : C(α, β)) :
     continuousMapOfUnique.symm f = f default :=
@@ -699,12 +489,6 @@ section QuotientMap
 variable {X₀ X Y Z : Type _} [TopologicalSpace X₀] [TopologicalSpace X] [TopologicalSpace Y]
   [TopologicalSpace Z] [LocallyCompactSpace Y] {f : X₀ → X}
 
-/- warning: quotient_map.continuous_lift_prod_left -> QuotientMap.continuous_lift_prod_left is a dubious translation:
-lean 3 declaration is
-  forall {X₀ : Type.{u1}} {X : Type.{u2}} {Y : Type.{u3}} {Z : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} X₀] [_inst_2 : TopologicalSpace.{u2} X] [_inst_3 : TopologicalSpace.{u3} Y] [_inst_4 : TopologicalSpace.{u4} Z] [_inst_5 : LocallyCompactSpace.{u3} Y _inst_3] {f : X₀ -> X}, (QuotientMap.{u1, u2} X₀ X _inst_1 _inst_2 f) -> (forall {g : (Prod.{u2, u3} X Y) -> Z}, (Continuous.{max u1 u3, u4} (Prod.{u1, u3} X₀ Y) Z (Prod.topologicalSpace.{u1, u3} X₀ Y _inst_1 _inst_3) _inst_4 (fun (p : Prod.{u1, u3} X₀ Y) => g (Prod.mk.{u2, u3} X Y (f (Prod.fst.{u1, u3} X₀ Y p)) (Prod.snd.{u1, u3} X₀ Y p)))) -> (Continuous.{max u2 u3, u4} (Prod.{u2, u3} X Y) Z (Prod.topologicalSpace.{u2, u3} X Y _inst_2 _inst_3) _inst_4 g))
-but is expected to have type
-  forall {X₀ : Type.{u4}} {X : Type.{u3}} {Y : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} X₀] [_inst_2 : TopologicalSpace.{u3} X] [_inst_3 : TopologicalSpace.{u2} Y] [_inst_4 : TopologicalSpace.{u1} Z] [_inst_5 : LocallyCompactSpace.{u2} Y _inst_3] {f : X₀ -> X}, (QuotientMap.{u4, u3} X₀ X _inst_1 _inst_2 f) -> (forall {g : (Prod.{u3, u2} X Y) -> Z}, (Continuous.{max u4 u2, u1} (Prod.{u4, u2} X₀ Y) Z (instTopologicalSpaceProd.{u4, u2} X₀ Y _inst_1 _inst_3) _inst_4 (fun (p : Prod.{u4, u2} X₀ Y) => g (Prod.mk.{u3, u2} X Y (f (Prod.fst.{u4, u2} X₀ Y p)) (Prod.snd.{u4, u2} X₀ Y p)))) -> (Continuous.{max u3 u2, u1} (Prod.{u3, u2} X Y) Z (instTopologicalSpaceProd.{u3, u2} X Y _inst_2 _inst_3) _inst_4 g))
-Case conversion may be inaccurate. Consider using '#align quotient_map.continuous_lift_prod_left QuotientMap.continuous_lift_prod_leftₓ'. -/
 theorem QuotientMap.continuous_lift_prod_left (hf : QuotientMap f) {g : X × Y → Z}
     (hg : Continuous fun p : X₀ × Y => g (f p.1, p.2)) : Continuous g :=
   by
@@ -724,12 +508,6 @@ theorem QuotientMap.continuous_lift_prod_left (hf : QuotientMap f) {g : X × Y 
   rfl
 #align quotient_map.continuous_lift_prod_left QuotientMap.continuous_lift_prod_left
 
-/- warning: quotient_map.continuous_lift_prod_right -> QuotientMap.continuous_lift_prod_right is a dubious translation:
-lean 3 declaration is
-  forall {X₀ : Type.{u1}} {X : Type.{u2}} {Y : Type.{u3}} {Z : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} X₀] [_inst_2 : TopologicalSpace.{u2} X] [_inst_3 : TopologicalSpace.{u3} Y] [_inst_4 : TopologicalSpace.{u4} Z] [_inst_5 : LocallyCompactSpace.{u3} Y _inst_3] {f : X₀ -> X}, (QuotientMap.{u1, u2} X₀ X _inst_1 _inst_2 f) -> (forall {g : (Prod.{u3, u2} Y X) -> Z}, (Continuous.{max u3 u1, u4} (Prod.{u3, u1} Y X₀) Z (Prod.topologicalSpace.{u3, u1} Y X₀ _inst_3 _inst_1) _inst_4 (fun (p : Prod.{u3, u1} Y X₀) => g (Prod.mk.{u3, u2} Y X (Prod.fst.{u3, u1} Y X₀ p) (f (Prod.snd.{u3, u1} Y X₀ p))))) -> (Continuous.{max u3 u2, u4} (Prod.{u3, u2} Y X) Z (Prod.topologicalSpace.{u3, u2} Y X _inst_3 _inst_2) _inst_4 g))
-but is expected to have type
-  forall {X₀ : Type.{u4}} {X : Type.{u3}} {Y : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u4} X₀] [_inst_2 : TopologicalSpace.{u3} X] [_inst_3 : TopologicalSpace.{u2} Y] [_inst_4 : TopologicalSpace.{u1} Z] [_inst_5 : LocallyCompactSpace.{u2} Y _inst_3] {f : X₀ -> X}, (QuotientMap.{u4, u3} X₀ X _inst_1 _inst_2 f) -> (forall {g : (Prod.{u2, u3} Y X) -> Z}, (Continuous.{max u4 u2, u1} (Prod.{u2, u4} Y X₀) Z (instTopologicalSpaceProd.{u2, u4} Y X₀ _inst_3 _inst_1) _inst_4 (fun (p : Prod.{u2, u4} Y X₀) => g (Prod.mk.{u2, u3} Y X (Prod.fst.{u2, u4} Y X₀ p) (f (Prod.snd.{u2, u4} Y X₀ p))))) -> (Continuous.{max u3 u2, u1} (Prod.{u2, u3} Y X) Z (instTopologicalSpaceProd.{u2, u3} Y X _inst_3 _inst_2) _inst_4 g))
-Case conversion may be inaccurate. Consider using '#align quotient_map.continuous_lift_prod_right QuotientMap.continuous_lift_prod_rightₓ'. -/
 theorem QuotientMap.continuous_lift_prod_right (hf : QuotientMap f) {g : Y × X → Z}
     (hg : Continuous fun p : Y × X₀ => g (p.1, f p.2)) : Continuous g :=
   by
Diff
@@ -172,9 +172,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_comp_left ContinuousMap.continuous_comp_leftₓ'. -/
 /-- C(-, γ) is a functor. -/
 theorem continuous_comp_left : Continuous (fun g => g.comp f : C(β, γ) → C(α, γ)) :=
-  continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ =>
-    by
-    rw [hm, image_gen f hs hu]
+  continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ => by rw [hm, image_gen f hs hu];
     exact ContinuousMap.isOpen_gen (hs.image f.2) hu
 #align continuous_map.continuous_comp_left ContinuousMap.continuous_comp_left
 
@@ -352,10 +350,8 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_restrict ContinuousMap.continuous_restrictₓ'. -/
 /-- For any subset `s` of `α`, the restriction of continuous functions to `s` is continuous as a
 function from `C(α, β)` to `C(s, β)` with their respective compact-open topologies. -/
-theorem continuous_restrict (s : Set α) : Continuous fun F : C(α, β) => F.restrict s :=
-  by
-  rw [continuous_iff_le_induced]
-  exact compact_open_le_induced s
+theorem continuous_restrict (s : Set α) : Continuous fun F : C(α, β) => F.restrict s := by
+  rw [continuous_iff_le_induced]; exact compact_open_le_induced s
 #align continuous_map.continuous_restrict ContinuousMap.continuous_restrict
 
 /- warning: continuous_map.nhds_compact_open_eq_Inf_nhds_induced -> ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced is a dubious translation:
@@ -365,10 +361,8 @@ but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (nhds.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) f) (iInf.{max u2 u1, succ u2} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Filter.instCompleteLatticeFilter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (Set.{u2} α) (fun (s : Set.{u2} α) => iInf.{max u2 u1, 0} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Filter.instCompleteLatticeFilter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (IsCompact.{u2} α _inst_1 s) (fun (hs : IsCompact.{u2} α _inst_1 s) => Filter.comap.{max u2 u1, max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s) (nhds.{max u2 u1} (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s f)))))
 Case conversion may be inaccurate. Consider using '#align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_sInf_nhds_inducedₓ'. -/
 theorem nhds_compactOpen_eq_sInf_nhds_induced (f : C(α, β)) :
-    𝓝 f = ⨅ (s) (hs : IsCompact s), (𝓝 (f.restrict s)).comap (ContinuousMap.restrict s) :=
-  by
-  rw [compact_open_eq_Inf_induced]
-  simp [nhds_iInf, nhds_induced]
+    𝓝 f = ⨅ (s) (hs : IsCompact s), (𝓝 (f.restrict s)).comap (ContinuousMap.restrict s) := by
+  rw [compact_open_eq_Inf_induced]; simp [nhds_iInf, nhds_induced]
 #align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced
 
 /- warning: continuous_map.tendsto_compact_open_restrict -> ContinuousMap.tendsto_compactOpen_restrict is a dubious translation:
@@ -392,9 +386,7 @@ Case conversion may be inaccurate. Consider using '#align continuous_map.tendsto
 theorem tendsto_compactOpen_iff_forall {ι : Type _} {l : Filter ι} (F : ι → C(α, β)) (f : C(α, β)) :
     Filter.Tendsto F l (𝓝 f) ↔
       ∀ (s) (hs : IsCompact s), Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) :=
-  by
-  rw [compact_open_eq_Inf_induced]
-  simp [nhds_iInf, nhds_induced, Filter.tendsto_comap_iff]
+  by rw [compact_open_eq_Inf_induced]; simp [nhds_iInf, nhds_induced, Filter.tendsto_comap_iff]
 #align continuous_map.tendsto_compact_open_iff_forall ContinuousMap.tendsto_compactOpen_iff_forall
 
 /- warning: continuous_map.exists_tendsto_compact_open_iff_forall -> ContinuousMap.exists_tendsto_compactOpen_iff_forall is a dubious translation:
@@ -516,10 +508,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align continuous_map.continuous_curry' ContinuousMap.continuous_curry'ₓ'. -/
 /-- If a map `α × β → γ` is continuous, then its curried form `α → C(β, γ)` is continuous. -/
 theorem continuous_curry' (f : C(α × β, γ)) : Continuous (curry' f) :=
-  have hf : curry' f = ContinuousMap.comp f ∘ coev _ _ :=
-    by
-    ext
-    rfl
+  have hf : curry' f = ContinuousMap.comp f ∘ coev _ _ := by ext; rfl
   hf ▸ Continuous.comp (continuous_comp f) continuous_coev
 #align continuous_map.continuous_curry' ContinuousMap.continuous_curry'
 
@@ -532,11 +521,8 @@ Case conversion may be inaccurate. Consider using '#align continuous_map.continu
 /-- To show continuity of a map `α → C(β, γ)`, it suffices to show that its uncurried form
     `α × β → γ` is continuous. -/
 theorem continuous_of_continuous_uncurry (f : α → C(β, γ))
-    (h : Continuous (Function.uncurry fun x y => f x y)) : Continuous f :=
-  by
-  convert continuous_curry' ⟨_, h⟩
-  ext
-  rfl
+    (h : Continuous (Function.uncurry fun x y => f x y)) : Continuous f := by
+  convert continuous_curry' ⟨_, h⟩; ext; rfl
 #align continuous_map.continuous_of_continuous_uncurry ContinuousMap.continuous_of_continuous_uncurry
 
 /- warning: continuous_map.curry -> ContinuousMap.curry is a dubious translation:
@@ -677,10 +663,7 @@ def continuousMapOfUnique [Unique α] : β ≃ₜ C(α, β)
   toFun := const α
   invFun f := f default
   left_inv a := rfl
-  right_inv f := by
-    ext
-    rw [Unique.eq_default a]
-    rfl
+  right_inv f := by ext; rw [Unique.eq_default a]; rfl
   continuous_toFun := continuous_const'
   continuous_invFun := continuous_eval'.comp (continuous_id.prod_mk continuous_const)
 #align homeomorph.continuous_map_of_unique Homeomorph.continuousMapOfUnique
Diff
@@ -142,7 +142,6 @@ private theorem preimage_gen {s : Set α} (hs : IsCompact s) {u : Set γ} (hu :
   ext ⟨f, _⟩
   change g ∘ f '' s ⊆ u ↔ f '' s ⊆ g ⁻¹' u
   rw [image_comp, image_subset_iff]
-#align continuous_map.preimage_gen continuous_map.preimage_gen
 
 /- warning: continuous_map.continuous_comp -> ContinuousMap.continuous_comp is a dubious translation:
 lean 3 declaration is
@@ -164,7 +163,6 @@ private theorem image_gen {s : Set α} (hs : IsCompact s) {u : Set γ} (hu : IsO
   ext ⟨g, _⟩
   change g ∘ f '' s ⊆ u ↔ g '' (f '' s) ⊆ u
   rw [Set.image_comp]
-#align continuous_map.image_gen continuous_map.image_gen
 
 /- warning: continuous_map.continuous_comp_left -> ContinuousMap.continuous_comp_left is a dubious translation:
 lean 3 declaration is
Diff
@@ -301,7 +301,7 @@ section InfInduced
 
 /- warning: continuous_map.compact_open_le_induced -> ContinuousMap.compactOpen_le_induced is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (s : Set.{u1} α), LE.le.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Preorder.toLE.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (PartialOrder.toPreorder.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (TopologicalSpace.partialOrder.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (TopologicalSpace.induced.{max u1 u2, max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (s : Set.{u1} α), LE.le.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Preorder.toHasLe.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (PartialOrder.toPreorder.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (TopologicalSpace.partialOrder.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (TopologicalSpace.induced.{max u1 u2, max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2))
 but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (s : Set.{u2} α), LE.le.{max u2 u1} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Preorder.toLE.{max u2 u1} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (PartialOrder.toPreorder.{max u2 u1} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (TopologicalSpace.instPartialOrderTopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) (TopologicalSpace.induced.{max u2 u1, max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s) (ContinuousMap.compactOpen.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2))
 Case conversion may be inaccurate. Consider using '#align continuous_map.compact_open_le_induced ContinuousMap.compactOpen_le_inducedₓ'. -/
Diff
@@ -318,24 +318,24 @@ theorem compactOpen_le_induced (s : Set α) :
   rw [image_comp f (coe : s → α)]
 #align continuous_map.compact_open_le_induced ContinuousMap.compactOpen_le_induced
 
-/- warning: continuous_map.compact_open_eq_Inf_induced -> ContinuousMap.compactOpen_eq_infₛ_induced is a dubious translation:
+/- warning: continuous_map.compact_open_eq_Inf_induced -> ContinuousMap.compactOpen_eq_sInf_induced is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], Eq.{succ (max u1 u2)} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (infᵢ.{max u1 u2, succ u1} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toHasInf.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (TopologicalSpace.completeLattice.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (Set.{u1} α) (fun (s : Set.{u1} α) => infᵢ.{max u1 u2, 0} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toHasInf.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (TopologicalSpace.completeLattice.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (IsCompact.{u1} α _inst_1 s) (fun (hs : IsCompact.{u1} α _inst_1 s) => TopologicalSpace.induced.{max u1 u2, max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2))))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β], Eq.{succ (max u1 u2)} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (iInf.{max u1 u2, succ u1} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toHasInf.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (TopologicalSpace.completeLattice.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (Set.{u1} α) (fun (s : Set.{u1} α) => iInf.{max u1 u2, 0} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toHasInf.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (TopologicalSpace.completeLattice.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (IsCompact.{u1} α _inst_1 s) (fun (hs : IsCompact.{u1} α _inst_1 s) => TopologicalSpace.induced.{max u1 u2, max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2))))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β], Eq.{max (succ u2) (succ u1)} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) (infᵢ.{max u2 u1, succ u2} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (Set.{u2} α) (fun (s : Set.{u2} α) => infᵢ.{max u2 u1, 0} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (IsCompact.{u2} α _inst_1 s) (fun (hs : IsCompact.{u2} α _inst_1 s) => TopologicalSpace.induced.{max u2 u1, max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s) (ContinuousMap.compactOpen.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2))))
-Case conversion may be inaccurate. Consider using '#align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_infₛ_inducedₓ'. -/
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β], Eq.{max (succ u2) (succ u1)} (TopologicalSpace.{max u1 u2} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) (iInf.{max u2 u1, succ u2} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (Set.{u2} α) (fun (s : Set.{u2} α) => iInf.{max u2 u1, 0} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (TopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (TopologicalSpace.instCompleteLatticeTopologicalSpace.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (IsCompact.{u2} α _inst_1 s) (fun (hs : IsCompact.{u2} α _inst_1 s) => TopologicalSpace.induced.{max u2 u1, max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s) (ContinuousMap.compactOpen.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2))))
+Case conversion may be inaccurate. Consider using '#align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_sInf_inducedₓ'. -/
 /-- The compact-open topology on `C(α, β)` is equal to the infimum of the compact-open topologies
 on `C(s, β)` for `s` a compact subset of `α`.  The key point of the proof is that the union of the
 compact subsets of `α` is equal to the union of compact subsets of the compact subsets of `α`. -/
-theorem compactOpen_eq_infₛ_induced :
+theorem compactOpen_eq_sInf_induced :
     (ContinuousMap.compactOpen : TopologicalSpace C(α, β)) =
       ⨅ (s : Set α) (hs : IsCompact s),
         TopologicalSpace.induced (ContinuousMap.restrict s) ContinuousMap.compactOpen :=
   by
   refine' le_antisymm _ _
-  · refine' le_infᵢ₂ _
+  · refine' le_iInf₂ _
     exact fun s hs => compact_open_le_induced s
-  simp only [← generateFrom_unionᵢ, induced_generateFrom_eq, ContinuousMap.compactOpen]
+  simp only [← generateFrom_iUnion, induced_generateFrom_eq, ContinuousMap.compactOpen]
   apply TopologicalSpace.generateFrom_anti
   rintro _ ⟨s, hs, u, hu, rfl⟩
   rw [mem_Union₂]
@@ -344,7 +344,7 @@ theorem compactOpen_eq_infₛ_induced :
   simp only [compact_open.gen, mem_set_of_eq, mem_preimage, ContinuousMap.coe_restrict]
   rw [image_comp f (coe : s → α)]
   simp
-#align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_infₛ_induced
+#align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_sInf_induced
 
 /- warning: continuous_map.continuous_restrict -> ContinuousMap.continuous_restrict is a dubious translation:
 lean 3 declaration is
@@ -360,18 +360,18 @@ theorem continuous_restrict (s : Set α) : Continuous fun F : C(α, β) => F.res
   exact compact_open_le_induced s
 #align continuous_map.continuous_restrict ContinuousMap.continuous_restrict
 
-/- warning: continuous_map.nhds_compact_open_eq_Inf_nhds_induced -> ContinuousMap.nhds_compactOpen_eq_infₛ_nhds_induced is a dubious translation:
+/- warning: continuous_map.nhds_compact_open_eq_Inf_nhds_induced -> ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2), Eq.{succ (max u1 u2)} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (nhds.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) f) (infᵢ.{max u1 u2, succ u1} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toHasInf.{max u1 u2} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Filter.completeLattice.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (Set.{u1} α) (fun (s : Set.{u1} α) => infᵢ.{max u1 u2, 0} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toHasInf.{max u1 u2} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Filter.completeLattice.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (IsCompact.{u1} α _inst_1 s) (fun (hs : IsCompact.{u1} α _inst_1 s) => Filter.comap.{max u1 u2, max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s) (nhds.{max u1 u2} (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s f)))))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2), Eq.{succ (max u1 u2)} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (nhds.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) f) (iInf.{max u1 u2, succ u1} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toHasInf.{max u1 u2} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Filter.completeLattice.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (Set.{u1} α) (fun (s : Set.{u1} α) => iInf.{max u1 u2, 0} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toHasInf.{max u1 u2} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u1 u2} (Filter.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Filter.completeLattice.{max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)))) (IsCompact.{u1} α _inst_1 s) (fun (hs : IsCompact.{u1} α _inst_1 s) => Filter.comap.{max u1 u2, max u1 u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s) (nhds.{max u1 u2} (ContinuousMap.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} α) Type.{u1} (Set.hasCoeToSort.{u1} α) s) β (Subtype.topologicalSpace.{u1} α (fun (x : α) => Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u1, u2} α β _inst_1 _inst_2 s f)))))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (nhds.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) f) (infᵢ.{max u2 u1, succ u2} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Filter.instCompleteLatticeFilter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (Set.{u2} α) (fun (s : Set.{u2} α) => infᵢ.{max u2 u1, 0} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Filter.instCompleteLatticeFilter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (IsCompact.{u2} α _inst_1 s) (fun (hs : IsCompact.{u2} α _inst_1 s) => Filter.comap.{max u2 u1, max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s) (nhds.{max u2 u1} (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s f)))))
-Case conversion may be inaccurate. Consider using '#align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_infₛ_nhds_inducedₓ'. -/
-theorem nhds_compactOpen_eq_infₛ_nhds_induced (f : C(α, β)) :
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2), Eq.{max (succ u2) (succ u1)} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (nhds.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) f) (iInf.{max u2 u1, succ u2} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Filter.instCompleteLatticeFilter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (Set.{u2} α) (fun (s : Set.{u2} α) => iInf.{max u2 u1, 0} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (ConditionallyCompleteLattice.toInfSet.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{max u2 u1} (Filter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (Filter.instCompleteLatticeFilter.{max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2)))) (IsCompact.{u2} α _inst_1 s) (fun (hs : IsCompact.{u2} α _inst_1 s) => Filter.comap.{max u2 u1, max u2 u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s) (nhds.{max u2 u1} (ContinuousMap.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.compactOpen.{u2, u1} (Set.Elem.{u2} α s) β (instTopologicalSpaceSubtype.{u2} α (fun (x : α) => Membership.mem.{u2, u2} α (Set.{u2} α) (Set.instMembershipSet.{u2} α) x s) _inst_1) _inst_2) (ContinuousMap.restrict.{u2, u1} α β _inst_1 _inst_2 s f)))))
+Case conversion may be inaccurate. Consider using '#align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_sInf_nhds_inducedₓ'. -/
+theorem nhds_compactOpen_eq_sInf_nhds_induced (f : C(α, β)) :
     𝓝 f = ⨅ (s) (hs : IsCompact s), (𝓝 (f.restrict s)).comap (ContinuousMap.restrict s) :=
   by
   rw [compact_open_eq_Inf_induced]
-  simp [nhds_infᵢ, nhds_induced]
-#align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_infₛ_nhds_induced
+  simp [nhds_iInf, nhds_induced]
+#align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced
 
 /- warning: continuous_map.tendsto_compact_open_restrict -> ContinuousMap.tendsto_compactOpen_restrict is a dubious translation:
 lean 3 declaration is
@@ -396,7 +396,7 @@ theorem tendsto_compactOpen_iff_forall {ι : Type _} {l : Filter ι} (F : ι →
       ∀ (s) (hs : IsCompact s), Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) :=
   by
   rw [compact_open_eq_Inf_induced]
-  simp [nhds_infᵢ, nhds_induced, Filter.tendsto_comap_iff]
+  simp [nhds_iInf, nhds_induced, Filter.tendsto_comap_iff]
 #align continuous_map.tendsto_compact_open_iff_forall ContinuousMap.tendsto_compactOpen_iff_forall
 
 /- warning: continuous_map.exists_tendsto_compact_open_iff_forall -> ContinuousMap.exists_tendsto_compactOpen_iff_forall is a dubious translation:
Diff
@@ -755,7 +755,7 @@ theorem QuotientMap.continuous_lift_prod_right (hf : QuotientMap f) {g : Y × X
   have : Continuous fun p : X₀ × Y => g ((Prod.swap p).1, f (Prod.swap p).2) :=
     hg.comp continuous_swap
   have : Continuous fun p : X₀ × Y => (g ∘ Prod.swap) (f p.1, p.2) := this
-  convert (hf.continuous_lift_prod_left this).comp continuous_swap
+  convert(hf.continuous_lift_prod_left this).comp continuous_swap
   ext x
   simp
 #align quotient_map.continuous_lift_prod_right QuotientMap.continuous_lift_prod_right
Diff
@@ -692,7 +692,7 @@ def continuousMapOfUnique [Unique α] : β ≃ₜ C(α, β)
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_4 : Unique.{succ u1} α] (b : β) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => α -> β) (ContinuousMap.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (Homeomorph.{u2, max u1 u2} β (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2)) (fun (_x : Homeomorph.{u2, max u1 u2} β (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2)) => β -> (ContinuousMap.{u1, u2} α β _inst_1 _inst_2)) (Homeomorph.hasCoeToFun.{u2, max u1 u2} β (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2)) (Homeomorph.continuousMapOfUnique.{u1, u2} α β _inst_1 _inst_2 _inst_4) b) a) b
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_4 : Unique.{succ u2} α] (b : β) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : β) => ContinuousMap.{u2, u1} α β _inst_1 _inst_2) b) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : β) => ContinuousMap.{u2, u1} α β _inst_1 _inst_2) b) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (Homeomorph.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)) β (fun (_x : β) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : β) => ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _x) (EmbeddingLike.toFunLike.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (Homeomorph.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)) β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (EquivLike.toEmbeddingLike.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (Homeomorph.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)) β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (Homeomorph.instEquivLikeHomeomorph.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)))) (Homeomorph.continuousMapOfUnique.{u2, u1} α β _inst_1 _inst_2 _inst_4) b) a) b
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_4 : Unique.{succ u2} α] (b : β) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} α β _inst_1 _inst_2)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ u1, succ (max u1 u2)} (Homeomorph.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)) β (fun (_x : β) => ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (EmbeddingLike.toFunLike.{max (succ u1) (succ (max u1 u2)), succ u1, succ (max u1 u2)} (Homeomorph.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)) β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (EquivLike.toEmbeddingLike.{max (succ u1) (succ (max u1 u2)), succ u1, succ (max u1 u2)} (Homeomorph.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)) β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (Homeomorph.instEquivLikeHomeomorph.{u1, max u1 u2} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2)))) (Homeomorph.continuousMapOfUnique.{u2, u1} α β _inst_1 _inst_2 _inst_4) b) a) b
 Case conversion may be inaccurate. Consider using '#align homeomorph.continuous_map_of_unique_apply Homeomorph.continuousMapOfUnique_applyₓ'. -/
 @[simp]
 theorem continuousMapOfUnique_apply [Unique α] (b : β) (a : α) : continuousMapOfUnique b a = b :=
@@ -703,7 +703,7 @@ theorem continuousMapOfUnique_apply [Unique α] (b : β) (a : α) : continuousMa
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : TopologicalSpace.{u2} β] [_inst_4 : Unique.{succ u1} α] (f : ContinuousMap.{u1, u2} α β _inst_1 _inst_2), Eq.{succ u2} β (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ (max u1 u2)) (succ u2)} (Homeomorph.{max u1 u2, u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) _inst_2) (fun (_x : Homeomorph.{max u1 u2, u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) _inst_2) => (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) -> β) (Homeomorph.hasCoeToFun.{max u1 u2, u2} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) _inst_2) (Homeomorph.symm.{u2, max u1 u2} β (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u1, u2} α β _inst_1 _inst_2) (Homeomorph.continuousMapOfUnique.{u1, u2} α β _inst_1 _inst_2 _inst_4)) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u1, u2} α β _inst_1 _inst_2) => α -> β) (ContinuousMap.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) f (Inhabited.default.{succ u1} α (Unique.inhabited.{succ u1} α _inst_4)))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_4 : Unique.{succ u2} α] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) => β) f) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u1} (Homeomorph.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2) (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) => β) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u1} (Homeomorph.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2) (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u1} (Homeomorph.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2) (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (Homeomorph.instEquivLikeHomeomorph.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2))) (Homeomorph.symm.{u1, max u2 u1} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) (Homeomorph.continuousMapOfUnique.{u2, u1} α β _inst_1 _inst_2 _inst_4)) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} α β _inst_1 _inst_2)) f (Inhabited.default.{succ u2} α (Unique.instInhabited.{succ u2} α _inst_4)))
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : TopologicalSpace.{u1} β] [_inst_4 : Unique.{succ u2} α] (f : ContinuousMap.{u2, u1} α β _inst_1 _inst_2), Eq.{succ u1} β (FunLike.coe.{max (succ (max u2 u1)) (succ u1), succ (max u2 u1), succ u1} (Homeomorph.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2) (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) (fun (_x : ContinuousMap.{u2, u1} α β _inst_1 _inst_2) => β) (EmbeddingLike.toFunLike.{max (succ (max u2 u1)) (succ u1), succ (max u2 u1), succ u1} (Homeomorph.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2) (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (EquivLike.toEmbeddingLike.{max (succ (max u2 u1)) (succ u1), succ (max u2 u1), succ u1} (Homeomorph.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2) (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (Homeomorph.instEquivLikeHomeomorph.{max u2 u1, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) β (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) _inst_2))) (Homeomorph.symm.{u1, max u2 u1} β (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) _inst_2 (ContinuousMap.compactOpen.{u2, u1} α β _inst_1 _inst_2) (Homeomorph.continuousMapOfUnique.{u2, u1} α β _inst_1 _inst_2 _inst_4)) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousMap.{u2, u1} α β _inst_1 _inst_2) α β _inst_1 _inst_2 (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} α β _inst_1 _inst_2)) f (Inhabited.default.{succ u2} α (Unique.instInhabited.{succ u2} α _inst_4)))
 Case conversion may be inaccurate. Consider using '#align homeomorph.continuous_map_of_unique_symm_apply Homeomorph.continuousMapOfUnique_symm_applyₓ'. -/
 @[simp]
 theorem continuousMapOfUnique_symm_apply [Unique α] (f : C(α, β)) :

Changes in mathlib4

mathlib3
mathlib4
chore: unify date formatting in lemma deprecations (#12334)
  • consistently use the YYYY-MM-DD format
  • when easily possible, put the date on the same line as the deprecated attribute
  • when easily possible, format the entire declaration on the same line

Why these changes?

  • consistency makes it easier for tools to parse this information
  • compactness: I don't see a good reason for these declarations taking up more space than needed; as I understand it, deprecated lemmas are not supposed to be used in mathlib anyway
  • putting the date on the same line as the attribute makes it easier to discover un-dated deprecations; they also ease writing a tool to replace these by a machine-readable version using leanprover/lean4#3968
Diff
@@ -150,7 +150,7 @@ lemma _root_.Continuous.compCM (hg : Continuous g) (hf : Continuous f) :
     Continuous fun x => (g x).comp (f x) :=
   continuous_comp'.comp (hf.prod_mk hg)
 
-@[deprecated _root_.Continuous.compCM] -- deprecated on 2024/01/30
+@[deprecated _root_.Continuous.compCM] -- deprecated on 2024-01-30
 lemma continuous.comp' (hf : Continuous f) (hg : Continuous g) :
     Continuous fun x => (g x).comp (f x) :=
   hg.compCM hf
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -413,7 +413,6 @@ open ContinuousMap
 namespace Homeomorph
 
 variable {X : Type*} {Y : Type*} {Z : Type*}
-
 variable [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z]
 
 /-- Currying as a homeomorphism between the function spaces `C(X × Y, Z)` and `C(X, C(Y, Z))`. -/
refactor(CompactOpen): redefine in terms of Set.image2 and Set.MapsTo (#11053)
Diff
@@ -43,61 +43,27 @@ section CompactOpen
 variable {α X Y Z : Type*}
 variable [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {K : Set X} {U : Set Y}
 
-/-- A generating set for the compact-open topology (when `s` is compact and `u` is open). -/
-def CompactOpen.gen (s : Set X) (u : Set Y) : Set C(X, Y) :=
-  { f | f '' s ⊆ u }
-#align continuous_map.compact_open.gen ContinuousMap.CompactOpen.gen
-
-@[simp]
-theorem gen_empty (u : Set Y) : CompactOpen.gen (∅ : Set X) u = Set.univ :=
-  Set.ext fun f => iff_true_intro ((congr_arg (· ⊆ u) (image_empty f)).mpr u.empty_subset)
-#align continuous_map.gen_empty ContinuousMap.gen_empty
-
-@[simp]
-theorem gen_univ (s : Set X) : CompactOpen.gen s (Set.univ : Set Y) = Set.univ :=
-  Set.ext fun f => iff_true_intro (f '' s).subset_univ
-#align continuous_map.gen_univ ContinuousMap.gen_univ
-
-@[simp]
-theorem gen_inter (s : Set X) (u v : Set Y) :
-    CompactOpen.gen s (u ∩ v) = CompactOpen.gen s u ∩ CompactOpen.gen s v :=
-  Set.ext fun _ => subset_inter_iff
-#align continuous_map.gen_inter ContinuousMap.gen_inter
-
-@[simp]
-theorem gen_union (s t : Set X) (u : Set Y) :
-    CompactOpen.gen (s ∪ t) u = CompactOpen.gen s u ∩ CompactOpen.gen t u :=
-  Set.ext fun f => (iff_of_eq (congr_arg (· ⊆ u) (image_union f s t))).trans union_subset_iff
-#align continuous_map.gen_union ContinuousMap.gen_union
-
-theorem gen_empty_right {s : Set X} (h : s.Nonempty) : CompactOpen.gen s (∅ : Set Y) = ∅ :=
-  eq_empty_of_forall_not_mem fun _ => (h.image _).not_subset_empty
-#align continuous_map.gen_empty_right ContinuousMap.gen_empty_right
-
--- The compact-open topology on the space of continuous maps X → Y.
+#noalign continuous_map.compact_open.gen
+#noalign continuous_map.gen_empty
+#noalign continuous_map.gen_univ
+#noalign continuous_map.gen_inter
+#noalign continuous_map.gen_union
+#noalign continuous_map.gen_empty_right
+
+/-- The compact-open topology on the space of continuous maps `C(X, Y)`. -/
 instance compactOpen : TopologicalSpace C(X, Y) :=
-  TopologicalSpace.generateFrom
-    { m | ∃ (s : Set X) (_ : IsCompact s) (u : Set Y) (_ : IsOpen u), m = CompactOpen.gen s u }
+ .generateFrom <| image2 (fun K U ↦ {f | MapsTo f K U}) {K | IsCompact K} {U | IsOpen U}
 #align continuous_map.compact_open ContinuousMap.compactOpen
 
-/-- Definition of `ContinuousMap.compactOpen` in terms of `Set.image2`. -/
+/-- Definition of `ContinuousMap.compactOpen`. -/
 theorem compactOpen_eq : @compactOpen X Y _ _ =
-    .generateFrom (Set.image2 CompactOpen.gen {s | IsCompact s} {t | IsOpen t}) :=
-  congr_arg TopologicalSpace.generateFrom <| Set.ext fun _ ↦ by simp [eq_comm]
-
-/-- Definition of `ContinuousMap.compactOpen` in terms of `Set.image2` and `Set.MapsTo`. -/
-theorem compactOpen_eq_mapsTo : @compactOpen X Y _ _ =
-    .generateFrom (Set.image2 (fun K U ↦ {f | MapsTo f K U}) {K | IsCompact K} {U | IsOpen U}) := by
-  simp only [mapsTo', compactOpen_eq]; rfl
-
-protected theorem isOpen_gen {s : Set X} (hs : IsCompact s) {u : Set Y} (hu : IsOpen u) :
-    IsOpen (CompactOpen.gen s u) :=
-  TopologicalSpace.GenerateOpen.basic _ (by dsimp [mem_setOf_eq]; tauto)
-#align continuous_map.is_open_gen ContinuousMap.isOpen_gen
+    .generateFrom (image2 (fun K U ↦ {f | MapsTo f K U}) {K | IsCompact K} {t | IsOpen t}) :=
+   rfl
 
-lemma isOpen_setOf_mapsTo (hK : IsCompact K) (hU : IsOpen U) :
-    IsOpen {f : C(X, Y) | MapsTo f K U} := by
-  rw [compactOpen_eq_mapsTo]; exact .basic _ (mem_image2_of_mem hK hU)
+theorem isOpen_setOf_mapsTo (hK : IsCompact K) (hU : IsOpen U) :
+    IsOpen {f : C(X, Y) | MapsTo f K U} :=
+  isOpen_generateFrom_of_mem <| mem_image2_of_mem hK hU
+#align continuous_map.is_open_gen ContinuousMap.isOpen_setOf_mapsTo
 
 lemma eventually_mapsTo {f : C(X, Y)} (hK : IsCompact K) (hU : IsOpen U) (h : MapsTo f K U) :
     ∀ᶠ g : C(X, Y) in 𝓝 f, MapsTo g K U :=
@@ -106,7 +72,7 @@ lemma eventually_mapsTo {f : C(X, Y)} (hK : IsCompact K) (hU : IsOpen U) (h : Ma
 lemma nhds_compactOpen (f : C(X, Y)) :
     𝓝 f = ⨅ (K : Set X) (_ : IsCompact K) (U : Set Y) (_ : IsOpen U) (_ : MapsTo f K U),
       𝓟 {g : C(X, Y) | MapsTo g K U} := by
-  simp_rw [compactOpen_eq_mapsTo, nhds_generateFrom, mem_setOf_eq, @and_comm (f ∈ _), iInf_and,
+  simp_rw [compactOpen_eq, nhds_generateFrom, mem_setOf_eq, @and_comm (f ∈ _), iInf_and,
     ← image_prod, iInf_image, biInf_prod, mem_setOf_eq]
 
 lemma tendsto_nhds_compactOpen {l : Filter α} {f : α → C(Y, Z)} {g : C(Y, Z)} :
@@ -115,9 +81,8 @@ lemma tendsto_nhds_compactOpen {l : Filter α} {f : α → C(Y, Z)} {g : C(Y, Z)
   simp [nhds_compactOpen]
 
 lemma continuous_compactOpen {f : X → C(Y, Z)} :
-    Continuous f ↔ ∀ K, IsCompact K → ∀ U, IsOpen U → IsOpen {x | MapsTo (f x) K U} := by
-  simp_rw [compactOpen_eq, continuous_generateFrom_iff, forall_image2_iff, mapsTo',
-    CompactOpen.gen, image_subset_iff, preimage_setOf_eq, mem_setOf]
+    Continuous f ↔ ∀ K, IsCompact K → ∀ U, IsOpen U → IsOpen {x | MapsTo (f x) K U} :=
+  continuous_generateFrom_iff.trans forall_image2_iff
 
 section Functorial
 
@@ -130,7 +95,7 @@ theorem continuous_comp (g : C(Y, Z)) : Continuous (ContinuousMap.comp g : C(X,
 then the composition `ContinuousMap.comp g : C(X, Y) → C(X, Z)` is a topology inducing map too. -/
 theorem inducing_comp (g : C(Y, Z)) (hg : Inducing g) : Inducing (g.comp : C(X, Y) → C(X, Z)) where
   induced := by
-    simp only [compactOpen_eq_mapsTo, induced_generateFrom_eq, image_image2, hg.setOf_isOpen,
+    simp only [compactOpen_eq, induced_generateFrom_eq, image_image2, hg.setOf_isOpen,
       image2_image_right, MapsTo, mem_preimage, preimage_setOf_eq, comp_apply]
 
 /-- If `g : C(Y, Z)` is a topological embedding,
@@ -260,44 +225,42 @@ theorem compactOpen_le_induced (s : Set X) :
   (continuous_restrict s).le_induced
 #align continuous_map.compact_open_le_induced ContinuousMap.compactOpen_le_induced
 
-/-- The compact-open topology on `C(X, Y)` is equal to the infimum of the compact-open topologies
-on `C(s, Y)` for `s` a compact subset of `X`.  The key point of the proof is that the union of the
-compact subsets of `X` is equal to the union of compact subsets of the compact subsets of `X`. -/
-theorem compactOpen_eq_sInf_induced :
+/-- The compact-open topology on `C(X, Y)`
+is equal to the infimum of the compact-open topologies on `C(s, Y)` for `s` a compact subset of `X`.
+The key point of the proof is that for every compact set `K`,
+the universal set `Set.univ : Set K` is a compact set as well. -/
+theorem compactOpen_eq_iInf_induced :
     (ContinuousMap.compactOpen : TopologicalSpace C(X, Y)) =
-      ⨅ (s : Set X) (_ : IsCompact s),
-        TopologicalSpace.induced (ContinuousMap.restrict s) ContinuousMap.compactOpen := by
-  refine' le_antisymm _ _
-  · refine' le_iInf₂ _
-    exact fun s _ => compactOpen_le_induced s
-  simp only [← generateFrom_iUnion, induced_generateFrom_eq, ContinuousMap.compactOpen]
-  apply TopologicalSpace.generateFrom_anti
-  rintro _ ⟨s, hs, u, hu, rfl⟩
-  rw [mem_iUnion₂]
-  refine' ⟨s, hs, _, ⟨univ, isCompact_iff_isCompact_univ.mp hs, u, hu, rfl⟩, _⟩
-  ext f
-  simp only [CompactOpen.gen, mem_setOf_eq, mem_preimage, ContinuousMap.coe_restrict]
-  rw [image_comp f ((↑) : s → X)]
-  simp
-#align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_sInf_induced
-
-theorem nhds_compactOpen_eq_sInf_nhds_induced (f : C(X, Y)) :
+      ⨅ (K : Set X) (_ : IsCompact K), .induced (.restrict K) ContinuousMap.compactOpen := by
+  refine le_antisymm (le_iInf₂ fun s _ ↦ compactOpen_le_induced s) ?_
+  refine le_generateFrom <| forall_image2_iff.2 fun K (hK : IsCompact K) U hU ↦ ?_
+  refine TopologicalSpace.le_def.1 (iInf₂_le K hK) _ ?_
+  convert isOpen_induced (isOpen_setOf_mapsTo (isCompact_iff_isCompact_univ.1 hK) hU)
+  simp only [mapsTo_univ_iff, Subtype.forall]
+  rfl
+#align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_iInf_induced
+
+@[deprecated] alias compactOpen_eq_sInf_induced := compactOpen_eq_iInf_induced
+
+theorem nhds_compactOpen_eq_iInf_nhds_induced (f : C(X, Y)) :
     𝓝 f = ⨅ (s) (hs : IsCompact s), (𝓝 (f.restrict s)).comap (ContinuousMap.restrict s) := by
-  rw [compactOpen_eq_sInf_induced]
-  simp [nhds_iInf, nhds_induced]
-#align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced
+  rw [compactOpen_eq_iInf_induced]
+  simp only [nhds_iInf, nhds_induced]
+#align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_iInf_nhds_induced
+
+@[deprecated] alias nhds_compactOpen_eq_sInf_nhds_induced := nhds_compactOpen_eq_iInf_nhds_induced
 
 theorem tendsto_compactOpen_restrict {ι : Type*} {l : Filter ι} {F : ι → C(X, Y)} {f : C(X, Y)}
     (hFf : Filter.Tendsto F l (𝓝 f)) (s : Set X) :
-    Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) :=
+    Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) :=
   (continuous_restrict s).continuousAt.tendsto.comp hFf
 #align continuous_map.tendsto_compact_open_restrict ContinuousMap.tendsto_compactOpen_restrict
 
 theorem tendsto_compactOpen_iff_forall {ι : Type*} {l : Filter ι} (F : ι → C(X, Y)) (f : C(X, Y)) :
-    Filter.Tendsto F l (𝓝 f) ↔
-    ∀ (s) (hs : IsCompact s), Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) := by
-    rw [compactOpen_eq_sInf_induced]
-    simp [nhds_iInf, nhds_induced, Filter.tendsto_comap_iff, Function.comp]
+    Tendsto F l (𝓝 f) ↔
+      ∀ K, IsCompact K → Tendsto (fun i => (F i).restrict K) l (𝓝 (f.restrict K)) := by
+  rw [compactOpen_eq_iInf_induced]
+  simp [nhds_iInf, nhds_induced, Filter.tendsto_comap_iff, Function.comp]
 #align continuous_map.tendsto_compact_open_iff_forall ContinuousMap.tendsto_compactOpen_iff_forall
 
 /-- A family `F` of functions in `C(X, Y)` converges in the compact-open topology, if and only if
@@ -305,7 +268,7 @@ it converges in the compact-open topology on each compact subset of `X`. -/
 theorem exists_tendsto_compactOpen_iff_forall [WeaklyLocallyCompactSpace X] [T2Space Y]
     {ι : Type*} {l : Filter ι} [Filter.NeBot l] (F : ι → C(X, Y)) :
     (∃ f, Filter.Tendsto F l (𝓝 f)) ↔
-    ∀ (s : Set X) (hs : IsCompact s), ∃ f, Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 f) := by
+      ∀ s : Set X, IsCompact s → ∃ f, Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 f) := by
   constructor
   · rintro ⟨f, hf⟩ s _
     exact ⟨f.restrict s, tendsto_compactOpen_restrict hf s⟩
@@ -339,68 +302,61 @@ variable (X Y)
 
 /-- The coevaluation map `Y → C(X, Y × X)` sending a point `x : Y` to the continuous function
 on `X` sending `y` to `(x, y)`. -/
-def coev (y : Y) : C(X, Y × X) :=
-  { toFun := Prod.mk y }
+@[simps (config := .asFn)]
+def coev (b : Y) : C(X, Y × X) :=
+  { toFun := Prod.mk b }
 #align continuous_map.coev ContinuousMap.coev
 
 variable {X Y}
 
-theorem image_coev {y : Y} (s : Set X) : coev X Y y '' s = ({y} : Set Y) ×ˢ s := by
-  aesop
+theorem image_coev {y : Y} (s : Set X) : coev X Y y '' s = {y} ×ˢ s := by simp
 #align continuous_map.image_coev ContinuousMap.image_coev
 
--- The coevaluation map Y → C(X, Y × X) is continuous (always).
-theorem continuous_coev : Continuous (coev X Y) :=
-  continuous_generateFrom_iff.2 <| by
-    rintro _ ⟨s, sc, u, uo, rfl⟩
-    rw [isOpen_iff_forall_mem_open]
-    intro y hy
-    have hy' : (↑(coev X Y y) '' s ⊆ u) := hy
-    -- Porting note: was below
-    --change coev X Y y '' s ⊆ u at hy
-    rw [image_coev s] at hy'
-    rcases generalized_tube_lemma isCompact_singleton sc uo hy' with ⟨v, w, vo, _, yv, sw, vwu⟩
-    refine' ⟨v, _, vo, singleton_subset_iff.mp yv⟩
-    intro y' hy'
-    change coev X Y y' '' s ⊆ u
-    rw [image_coev s]
-    exact (prod_mono (singleton_subset_iff.mpr hy') sw).trans vwu
+/-- The coevaluation map `Y → C(X, Y × X)` is continuous (always). -/
+theorem continuous_coev : Continuous (coev X Y) := by
+  have : ∀ {a K U}, MapsTo (coev X Y a) K U ↔ {a} ×ˢ K ⊆ U := by simp [mapsTo']
+  simp only [continuous_iff_continuousAt, ContinuousAt, tendsto_nhds_compactOpen, this]
+  intro x K hK U hU hKU
+  rcases generalized_tube_lemma isCompact_singleton hK hU hKU with ⟨V, W, hV, -, hxV, hKW, hVWU⟩
+  filter_upwards [hV.mem_nhds (hxV rfl)] with a ha
+  exact (prod_mono (singleton_subset_iff.mpr ha) hKW).trans hVWU
 #align continuous_map.continuous_coev ContinuousMap.continuous_coev
 
 end Coev
 
 section Curry
 
+/-- The curried form of a continuous map `α × β → γ` as a continuous map `α → C(β, γ)`.
+    If `a × β` is locally compact, this is continuous. If `α` and `β` are both locally
+    compact, then this is a homeomorphism, see `Homeomorph.curry`. -/
+def curry (f : C(X × Y, Z)) : C(X, C(Y, Z)) where
+  toFun a := ⟨Function.curry f a, f.continuous.comp <| by continuity⟩
+  continuous_toFun := (continuous_comp f).comp continuous_coev
+#align continuous_map.curry ContinuousMap.curry
+
+@[simp]
+theorem curry_apply (f : C(X × Y, Z)) (a : X) (b : Y) : f.curry a b = f (a, b) :=
+  rfl
+#align continuous_map.curry_apply ContinuousMap.curry_apply
+
 /-- Auxiliary definition, see `ContinuousMap.curry` and `Homeomorph.curry`. -/
-def curry' (f : C(X × Y, Z)) (x : X) : C(Y, Z) :=
-  ⟨Function.curry f x, Continuous.comp f.2 (continuous_const.prod_mk continuous_id)⟩
-  -- Porting note: proof was `by continuity`
+@[deprecated ContinuousMap.curry]
+def curry' (f : C(X × Y, Z)) (a : X) : C(Y, Z) := curry f a
 #align continuous_map.curry' ContinuousMap.curry'
 
-/-- If a map `X × Y → Z` is continuous, then its curried form `X → C(Y, Z)` is continuous. -/
-theorem continuous_curry' (f : C(X × Y, Z)) : Continuous (curry' f) :=
-  Continuous.comp (continuous_comp f) continuous_coev
+set_option linter.deprecated false in
+/-- If a map `α × β → γ` is continuous, then its curried form `α → C(β, γ)` is continuous. -/
+@[deprecated ContinuousMap.curry]
+theorem continuous_curry' (f : C(X × Y, Z)) : Continuous (curry' f) := (curry f).continuous
 #align continuous_map.continuous_curry' ContinuousMap.continuous_curry'
 
-/-- To show continuity of a map `X → C(Y, Z)`, it suffices to show that its uncurried form
-    `X × Y → Z` is continuous. -/
+/-- To show continuity of a map `α → C(β, γ)`, it suffices to show that its uncurried form
+    `α × β → γ` is continuous. -/
 theorem continuous_of_continuous_uncurry (f : X → C(Y, Z))
     (h : Continuous (Function.uncurry fun x y => f x y)) : Continuous f :=
-  continuous_curry' ⟨_, h⟩
+  (curry ⟨_, h⟩).2
 #align continuous_map.continuous_of_continuous_uncurry ContinuousMap.continuous_of_continuous_uncurry
 
-/-- The curried form of a continuous map `X × Y → Z` as a continuous map `X → C(Y, Z)`.
-    If `X × Y` is locally compact, this is continuous. If `X` and `Y` are both locally
-    compact, then this is a homeomorphism, see `Homeomorph.curry`. -/
-def curry (f : C(X × Y, Z)) : C(X, C(Y, Z)) :=
-  ⟨_, continuous_curry' f⟩
-#align continuous_map.curry ContinuousMap.curry
-
-@[simp]
-theorem curry_apply (f : C(X × Y, Z)) (x : X) (y : Y) : f.curry x y = f (x, y) :=
-  rfl
-#align continuous_map.curry_apply ContinuousMap.curry_apply
-
 /-- The currying process is a continuous map between function spaces. -/
 theorem continuous_curry [LocallyCompactSpace (X × Y)] :
     Continuous (curry : C(X × Y, Z) → C(X, C(Y, Z))) := by
refactor(UniformConvergenceTopology): redefine using UniformOnFun (#10873)
Diff
@@ -103,11 +103,16 @@ lemma eventually_mapsTo {f : C(X, Y)} (hK : IsCompact K) (hU : IsOpen U) (h : Ma
     ∀ᶠ g : C(X, Y) in 𝓝 f, MapsTo g K U :=
   (isOpen_setOf_mapsTo hK hU).mem_nhds h
 
+lemma nhds_compactOpen (f : C(X, Y)) :
+    𝓝 f = ⨅ (K : Set X) (_ : IsCompact K) (U : Set Y) (_ : IsOpen U) (_ : MapsTo f K U),
+      𝓟 {g : C(X, Y) | MapsTo g K U} := by
+  simp_rw [compactOpen_eq_mapsTo, nhds_generateFrom, mem_setOf_eq, @and_comm (f ∈ _), iInf_and,
+    ← image_prod, iInf_image, biInf_prod, mem_setOf_eq]
+
 lemma tendsto_nhds_compactOpen {l : Filter α} {f : α → C(Y, Z)} {g : C(Y, Z)} :
     Tendsto f l (𝓝 g) ↔
       ∀ K, IsCompact K → ∀ U, IsOpen U → MapsTo g K U → ∀ᶠ a in l, MapsTo (f a) K U := by
-  simp_rw [compactOpen_eq_mapsTo, tendsto_nhds_generateFrom_iff, forall_image2_iff,
-    mem_setOf, preimage_setOf_eq, eventually_iff]
+  simp [nhds_compactOpen]
 
 lemma continuous_compactOpen {f : X → C(Y, Z)} :
     Continuous f ↔ ∀ K, IsCompact K → ∀ U, IsOpen U → IsOpen {x | MapsTo (f x) K U} := by
chore: change from plural to singular in porting notes (#10761)
Diff
@@ -351,7 +351,7 @@ theorem continuous_coev : Continuous (coev X Y) :=
     rw [isOpen_iff_forall_mem_open]
     intro y hy
     have hy' : (↑(coev X Y y) '' s ⊆ u) := hy
-    -- porting notes: was below
+    -- Porting note: was below
     --change coev X Y y '' s ⊆ u at hy
     rw [image_coev s] at hy'
     rcases generalized_tube_lemma isCompact_singleton sc uo hy' with ⟨v, w, vo, _, yv, sw, vwu⟩
chore: tidy various files (#10007)
Diff
@@ -106,11 +106,13 @@ lemma eventually_mapsTo {f : C(X, Y)} (hK : IsCompact K) (hU : IsOpen U) (h : Ma
 lemma tendsto_nhds_compactOpen {l : Filter α} {f : α → C(Y, Z)} {g : C(Y, Z)} :
     Tendsto f l (𝓝 g) ↔
       ∀ K, IsCompact K → ∀ U, IsOpen U → MapsTo g K U → ∀ᶠ a in l, MapsTo (f a) K U := by
-  simp_rw [compactOpen_eq_mapsTo, tendsto_nhds_generateFrom_iff, forall_image2_iff]; rfl
+  simp_rw [compactOpen_eq_mapsTo, tendsto_nhds_generateFrom_iff, forall_image2_iff,
+    mem_setOf, preimage_setOf_eq, eventually_iff]
 
 lemma continuous_compactOpen {f : X → C(Y, Z)} :
     Continuous f ↔ ∀ K, IsCompact K → ∀ U, IsOpen U → IsOpen {x | MapsTo (f x) K U} := by
-  simp_rw [compactOpen_eq, continuous_generateFrom_iff, forall_image2_iff, mapsTo']; rfl
+  simp_rw [compactOpen_eq, continuous_generateFrom_iff, forall_image2_iff, mapsTo',
+    CompactOpen.gen, image_subset_iff, preimage_setOf_eq, mem_setOf]
 
 section Functorial
 
@@ -122,8 +124,9 @@ theorem continuous_comp (g : C(Y, Z)) : Continuous (ContinuousMap.comp g : C(X,
 /-- If `g : C(Y, Z)` is a topology inducing map,
 then the composition `ContinuousMap.comp g : C(X, Y) → C(X, Z)` is a topology inducing map too. -/
 theorem inducing_comp (g : C(Y, Z)) (hg : Inducing g) : Inducing (g.comp : C(X, Y) → C(X, Z)) where
-  induced := by simp only [compactOpen_eq_mapsTo, induced_generateFrom_eq, image_image2,
-    hg.setOf_isOpen, image2_image_right]; rfl
+  induced := by
+    simp only [compactOpen_eq_mapsTo, induced_generateFrom_eq, image_image2, hg.setOf_isOpen,
+      image2_image_right, MapsTo, mem_preimage, preimage_setOf_eq, comp_apply]
 
 /-- If `g : C(Y, Z)` is a topological embedding,
 then the composition `ContinuousMap.comp g : C(X, Y) → C(X, Z)` is an embedding too. -/
feat(Topology/CompactOpen): add Tendsto.compCM etc (#9882)
  • Use explicit (g : C(Y, Z)) argument instead of variable. This way only implicit arguments are not visible right there in the source.
  • Add dot-notation lemmas about composition of bundled continuous functions.
Diff
@@ -114,22 +114,20 @@ lemma continuous_compactOpen {f : X → C(Y, Z)} :
 
 section Functorial
 
-variable (g : C(Y, Z))
-
 /-- `C(X, ·)` is a functor. -/
-theorem continuous_comp : Continuous (g.comp : C(X, Y) → C(X, Z)) :=
+theorem continuous_comp (g : C(Y, Z)) : Continuous (ContinuousMap.comp g : C(X, Y) → C(X, Z)) :=
   continuous_compactOpen.2 fun _K hK _U hU ↦ isOpen_setOf_mapsTo hK (hU.preimage g.2)
 #align continuous_map.continuous_comp ContinuousMap.continuous_comp
 
 /-- If `g : C(Y, Z)` is a topology inducing map,
 then the composition `ContinuousMap.comp g : C(X, Y) → C(X, Z)` is a topology inducing map too. -/
-theorem inducing_comp (hg : Inducing g) : Inducing (g.comp : C(X, Y) → C(X, Z)) where
+theorem inducing_comp (g : C(Y, Z)) (hg : Inducing g) : Inducing (g.comp : C(X, Y) → C(X, Z)) where
   induced := by simp only [compactOpen_eq_mapsTo, induced_generateFrom_eq, image_image2,
     hg.setOf_isOpen, image2_image_right]; rfl
 
-/-- If `g : C(Y, Z)` is a topological embedding, then the composition
-`ContinuousMap.comp g : C(X, Y) → C(X, Z)` is an embedding too. -/
-theorem embedding_comp (hg : Embedding g) : Embedding (g.comp : C(X, Y) → C(X, Z)) :=
+/-- If `g : C(Y, Z)` is a topological embedding,
+then the composition `ContinuousMap.comp g : C(X, Y) → C(X, Z)` is an embedding too. -/
+theorem embedding_comp (g : C(Y, Z)) (hg : Embedding g) : Embedding (g.comp : C(X, Y) → C(X, Z)) :=
   ⟨inducing_comp g hg.1, fun _ _ ↦ (cancel_left hg.2).1⟩
 
 /-- `C(·, Z)` is a functor. -/
@@ -138,10 +136,12 @@ theorem continuous_comp_left (f : C(X, Y)) : Continuous (fun g => g.comp f : C(Y
     simpa only [mapsTo_image_iff] using isOpen_setOf_mapsTo (hK.image f.2) hU
 #align continuous_map.continuous_comp_left ContinuousMap.continuous_comp_left
 
-/-- Composition is a continuous map from `C(X, Y) × C(Y, Z)` to `C(X, Z)`, provided that `Y` is
-  locally compact. This is Prop. 9 of Chap. X, §3, №. 4 of Bourbaki's *Topologie Générale*. -/
-theorem continuous_comp' [LocallyCompactPair Y Z] :
-    Continuous fun x : C(X, Y) × C(Y, Z) => x.2.comp x.1 := by
+variable [LocallyCompactPair Y Z]
+
+/-- Composition is a continuous map from `C(X, Y) × C(Y, Z)` to `C(X, Z)`,
+provided that `Y` is locally compact.
+This is Prop. 9 of Chap. X, §3, №. 4 of Bourbaki's *Topologie Générale*. -/
+theorem continuous_comp' : Continuous fun x : C(X, Y) × C(Y, Z) => x.2.comp x.1 := by
   simp_rw [continuous_iff_continuousAt, ContinuousAt, tendsto_nhds_compactOpen]
   intro ⟨f, g⟩ K hK U hU (hKU : MapsTo (g ∘ f) K U)
   obtain ⟨L, hKL, hLc, hLU⟩ : ∃ L ∈ 𝓝ˢ (f '' K), IsCompact L ∧ MapsTo g L U :=
@@ -153,10 +153,34 @@ theorem continuous_comp' [LocallyCompactPair Y Z] :
       hg'.comp <| hf'.mono_right interior_subset
 #align continuous_map.continuous_comp' ContinuousMap.continuous_comp'
 
-theorem continuous.comp' {X : Type*} [TopologicalSpace X] [LocallyCompactPair Y Z] {f : X → C(X, Y)}
-    {g : X → C(Y, Z)} (hf : Continuous f) (hg : Continuous g) :
+lemma _root_.Filter.Tendsto.compCM {α : Type*} {l : Filter α} {g : α → C(Y, Z)} {g₀ : C(Y, Z)}
+    {f : α → C(X, Y)} {f₀ : C(X, Y)} (hg : Tendsto g l (𝓝 g₀)) (hf : Tendsto f l (𝓝 f₀)) :
+    Tendsto (fun a ↦ (g a).comp (f a)) l (𝓝 (g₀.comp f₀)) :=
+  (continuous_comp'.tendsto (f₀, g₀)).comp (hf.prod_mk_nhds hg)
+
+variable {X' : Type*} [TopologicalSpace X'] {a : X'} {g : X' → C(Y, Z)} {f : X' → C(X, Y)}
+  {s : Set X'}
+
+nonrec lemma _root_.ContinuousAt.compCM (hg : ContinuousAt g a) (hf : ContinuousAt f a) :
+    ContinuousAt (fun x ↦ (g x).comp (f x)) a :=
+  hg.compCM hf
+
+nonrec lemma _root_.ContinuousWithinAt.compCM (hg : ContinuousWithinAt g s a)
+    (hf : ContinuousWithinAt f s a) : ContinuousWithinAt (fun x ↦ (g x).comp (f x)) s a :=
+  hg.compCM hf
+
+lemma _root_.ContinuousOn.compCM (hg : ContinuousOn g s) (hf : ContinuousOn f s) :
+    ContinuousOn (fun x ↦ (g x).comp (f x)) s := fun a ha ↦
+  (hg a ha).compCM (hf a ha)
+
+lemma _root_.Continuous.compCM (hg : Continuous g) (hf : Continuous f) :
+    Continuous fun x => (g x).comp (f x) :=
+  continuous_comp'.comp (hf.prod_mk hg)
+
+@[deprecated _root_.Continuous.compCM] -- deprecated on 2024/01/30
+lemma continuous.comp' (hf : Continuous f) (hg : Continuous g) :
     Continuous fun x => (g x).comp (f x) :=
-  continuous_comp'.comp (hf.prod_mk hg : Continuous fun x => (f x, g x))
+  hg.compCM hf
 #align continuous_map.continuous.comp' ContinuousMap.continuous.comp'
 
 end Functorial
refactor(Topology/Clopen): order of open and closed (#9957)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -201,7 +201,7 @@ lemma isClosed_setOf_mapsTo {t : Set Y} (ht : IsClosed t) (s : Set X) :
 
 lemma isClopen_setOf_mapsTo (hK : IsCompact K) (hU : IsClopen U) :
     IsClopen {f : C(X, Y) | MapsTo f K U} :=
-  ⟨isOpen_setOf_mapsTo hK hU.isOpen, isClosed_setOf_mapsTo hU.isClosed K⟩
+  ⟨isClosed_setOf_mapsTo hU.isClosed K, isOpen_setOf_mapsTo hK hU.isOpen⟩
 
 instance [T0Space Y] : T0Space C(X, Y) :=
   t0Space_of_injective_of_continuous DFunLike.coe_injective continuous_coe
chore(CompactOpen): golf (#9829)
  • Add ContinuousMap.compactOpen_eq_mapsTo. I'm going to redefine compactOpen this way in a subsequent PR.
  • Golf/migrate some proofs.
Diff
@@ -85,6 +85,11 @@ theorem compactOpen_eq : @compactOpen X Y _ _ =
     .generateFrom (Set.image2 CompactOpen.gen {s | IsCompact s} {t | IsOpen t}) :=
   congr_arg TopologicalSpace.generateFrom <| Set.ext fun _ ↦ by simp [eq_comm]
 
+/-- Definition of `ContinuousMap.compactOpen` in terms of `Set.image2` and `Set.MapsTo`. -/
+theorem compactOpen_eq_mapsTo : @compactOpen X Y _ _ =
+    .generateFrom (Set.image2 (fun K U ↦ {f | MapsTo f K U}) {K | IsCompact K} {U | IsOpen U}) := by
+  simp only [mapsTo', compactOpen_eq]; rfl
+
 protected theorem isOpen_gen {s : Set X} (hs : IsCompact s) {u : Set Y} (hu : IsOpen u) :
     IsOpen (CompactOpen.gen s u) :=
   TopologicalSpace.GenerateOpen.basic _ (by dsimp [mem_setOf_eq]; tauto)
@@ -92,7 +97,7 @@ protected theorem isOpen_gen {s : Set X} (hs : IsCompact s) {u : Set Y} (hu : Is
 
 lemma isOpen_setOf_mapsTo (hK : IsCompact K) (hU : IsOpen U) :
     IsOpen {f : C(X, Y) | MapsTo f K U} := by
-  simpa only [mapsTo'] using ContinuousMap.isOpen_gen hK hU
+  rw [compactOpen_eq_mapsTo]; exact .basic _ (mem_image2_of_mem hK hU)
 
 lemma eventually_mapsTo {f : C(X, Y)} (hK : IsCompact K) (hU : IsOpen U) (h : MapsTo f K U) :
     ∀ᶠ g : C(X, Y) in 𝓝 f, MapsTo g K U :=
@@ -101,7 +106,7 @@ lemma eventually_mapsTo {f : C(X, Y)} (hK : IsCompact K) (hU : IsOpen U) (h : Ma
 lemma tendsto_nhds_compactOpen {l : Filter α} {f : α → C(Y, Z)} {g : C(Y, Z)} :
     Tendsto f l (𝓝 g) ↔
       ∀ K, IsCompact K → ∀ U, IsOpen U → MapsTo g K U → ∀ᶠ a in l, MapsTo (f a) K U := by
-  simp_rw [compactOpen_eq, tendsto_nhds_generateFrom_iff, forall_image2_iff, mapsTo']; rfl
+  simp_rw [compactOpen_eq_mapsTo, tendsto_nhds_generateFrom_iff, forall_image2_iff]; rfl
 
 lemma continuous_compactOpen {f : X → C(Y, Z)} :
     Continuous f ↔ ∀ K, IsCompact K → ∀ U, IsOpen U → IsOpen {x | MapsTo (f x) K U} := by
@@ -111,43 +116,26 @@ section Functorial
 
 variable (g : C(Y, Z))
 
-private theorem preimage_gen {s : Set X} {u : Set Z} :
-    ContinuousMap.comp g ⁻¹' CompactOpen.gen s u = CompactOpen.gen s (g ⁻¹' u) := by
-  ext ⟨f, _⟩
-  change g ∘ f '' s ⊆ u ↔ f '' s ⊆ g ⁻¹' u
-  rw [image_comp, image_subset_iff]
-
-/-- C(X, -) is a functor. -/
-theorem continuous_comp : Continuous (ContinuousMap.comp g : C(X, Y) → C(X, Z)) :=
-  continuous_generateFrom_iff.2 fun m ⟨s, hs, u, hu, hm⟩ => by
-    rw [hm, preimage_gen g]; exact ContinuousMap.isOpen_gen hs (hu.preimage g.2)
+/-- `C(X, ·)` is a functor. -/
+theorem continuous_comp : Continuous (g.comp : C(X, Y) → C(X, Z)) :=
+  continuous_compactOpen.2 fun _K hK _U hU ↦ isOpen_setOf_mapsTo hK (hU.preimage g.2)
 #align continuous_map.continuous_comp ContinuousMap.continuous_comp
 
-/-- If `g : C(Y, Z)` is a topology inducing map, then the composition
-`ContinuousMap.comp g : C(X, Y) → C(X, Z)` is a topology inducing map too. -/
+/-- If `g : C(Y, Z)` is a topology inducing map,
+then the composition `ContinuousMap.comp g : C(X, Y) → C(X, Z)` is a topology inducing map too. -/
 theorem inducing_comp (hg : Inducing g) : Inducing (g.comp : C(X, Y) → C(X, Z)) where
-  induced := by
-    simp only [compactOpen_eq, induced_generateFrom_eq, image_image2, preimage_gen,
-      hg.setOf_isOpen, image2_image_right]
+  induced := by simp only [compactOpen_eq_mapsTo, induced_generateFrom_eq, image_image2,
+    hg.setOf_isOpen, image2_image_right]; rfl
 
 /-- If `g : C(Y, Z)` is a topological embedding, then the composition
 `ContinuousMap.comp g : C(X, Y) → C(X, Z)` is an embedding too. -/
 theorem embedding_comp (hg : Embedding g) : Embedding (g.comp : C(X, Y) → C(X, Z)) :=
   ⟨inducing_comp g hg.1, fun _ _ ↦ (cancel_left hg.2).1⟩
 
-variable (f : C(X, Y))
-
-private theorem image_gen {s : Set X} (_ : IsCompact s) {u : Set Z} (_ : IsOpen u) :
-    (fun g : C(Y, Z) => g.comp f) ⁻¹' CompactOpen.gen s u = CompactOpen.gen (f '' s) u := by
-  ext ⟨g, _⟩
-  change g ∘ f '' s ⊆ u ↔ g '' (f '' s) ⊆ u
-  rw [Set.image_comp]
-
-/-- C(-, Z) is a functor. -/
-theorem continuous_comp_left : Continuous (fun g => g.comp f : C(Y, Z) → C(X, Z)) :=
-  continuous_generateFrom_iff.2 fun m ⟨s, hs, u, hu, hm⟩ => by
-    rw [hm, image_gen f hs hu]
-    exact ContinuousMap.isOpen_gen (hs.image f.2) hu
+/-- `C(·, Z)` is a functor. -/
+theorem continuous_comp_left (f : C(X, Y)) : Continuous (fun g => g.comp f : C(Y, Z) → C(X, Z)) :=
+  continuous_compactOpen.2 fun K hK U hU ↦ by
+    simpa only [mapsTo_image_iff] using isOpen_setOf_mapsTo (hK.image f.2) hU
 #align continuous_map.continuous_comp_left ContinuousMap.continuous_comp_left
 
 /-- Composition is a continuous map from `C(X, Y) × C(Y, Z)` to `C(X, Z)`, provided that `Y` is
@@ -193,11 +181,8 @@ theorem continuous_eval [LocallyCompactPair X Y] : Continuous fun p : C(X, Y) ×
 Porting note: merged `continuous_eval_const` with `continuous_eval_const'` removing unneeded
 assumptions. -/
 @[continuity]
-theorem continuous_eval_const (x : X) :
-    Continuous fun f : C(X, Y) => f x := by
-  refine continuous_def.2 fun U hU ↦ ?_
-  convert ContinuousMap.isOpen_gen (isCompact_singleton (x := x)) hU using 1
-  ext; simp [CompactOpen.gen]
+theorem continuous_eval_const (a : X) : Continuous fun f : C(X, Y) => f a :=
+  continuous_def.2 fun U hU ↦ by simpa using isOpen_setOf_mapsTo (isCompact_singleton (x := a)) hU
 #align continuous_map.continuous_eval_const' ContinuousMap.continuous_eval_const
 #align continuous_map.continuous_eval_const ContinuousMap.continuous_eval_const
 
@@ -231,16 +216,16 @@ end Ev
 
 section InfInduced
 
+/-- For any subset `s` of `X`, the restriction of continuous functions to `s` is continuous
+as a function from `C(X, Y)` to `C(s, Y)` with their respective compact-open topologies. -/
+theorem continuous_restrict (s : Set X) : Continuous fun F : C(X, Y) => F.restrict s :=
+  continuous_comp_left <| restrict s <| .id X
+#align continuous_map.continuous_restrict ContinuousMap.continuous_restrict
+
 theorem compactOpen_le_induced (s : Set X) :
     (ContinuousMap.compactOpen : TopologicalSpace C(X, Y)) ≤
-      TopologicalSpace.induced (ContinuousMap.restrict s) ContinuousMap.compactOpen := by
-  simp only [induced_generateFrom_eq, ContinuousMap.compactOpen]
-  apply TopologicalSpace.generateFrom_anti
-  rintro b ⟨a, ⟨c, hc, u, hu, rfl⟩, rfl⟩
-  refine' ⟨(↑) '' c, hc.image continuous_subtype_val, u, hu, _⟩
-  ext f
-  simp only [CompactOpen.gen, mem_setOf_eq, mem_preimage, ContinuousMap.coe_restrict]
-  rw [image_comp f ((↑) : s → X)]
+      .induced (restrict s) ContinuousMap.compactOpen :=
+  (continuous_restrict s).le_induced
 #align continuous_map.compact_open_le_induced ContinuousMap.compactOpen_le_induced
 
 /-- The compact-open topology on `C(X, Y)` is equal to the infimum of the compact-open topologies
@@ -264,13 +249,6 @@ theorem compactOpen_eq_sInf_induced :
   simp
 #align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_sInf_induced
 
-/-- For any subset `s` of `X`, the restriction of continuous functions to `s` is continuous as a
-function from `C(X, Y)` to `C(s, Y)` with their respective compact-open topologies. -/
-theorem continuous_restrict (s : Set X) : Continuous fun F : C(X, Y) => F.restrict s := by
-  rw [continuous_iff_le_induced]
-  exact compactOpen_le_induced s
-#align continuous_map.continuous_restrict ContinuousMap.continuous_restrict
-
 theorem nhds_compactOpen_eq_sInf_nhds_induced (f : C(X, Y)) :
     𝓝 f = ⨅ (s) (hs : IsCompact s), (𝓝 (f.restrict s)).comap (ContinuousMap.restrict s) := by
   rw [compactOpen_eq_sInf_induced]
chore(*): rename FunLike to DFunLike (#9785)

This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.

This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:

sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean     
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean

Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>

Diff
@@ -219,13 +219,13 @@ lemma isClopen_setOf_mapsTo (hK : IsCompact K) (hU : IsClopen U) :
   ⟨isOpen_setOf_mapsTo hK hU.isOpen, isClosed_setOf_mapsTo hU.isClosed K⟩
 
 instance [T0Space Y] : T0Space C(X, Y) :=
-  t0Space_of_injective_of_continuous FunLike.coe_injective continuous_coe
+  t0Space_of_injective_of_continuous DFunLike.coe_injective continuous_coe
 
 instance [T1Space Y] : T1Space C(X, Y) :=
-  t1Space_of_injective_of_continuous FunLike.coe_injective continuous_coe
+  t1Space_of_injective_of_continuous DFunLike.coe_injective continuous_coe
 
 instance [T2Space Y] : T2Space C(X, Y) :=
-  .of_injective_continuous FunLike.coe_injective continuous_coe
+  .of_injective_continuous DFunLike.coe_injective continuous_coe
 
 end Ev
 
chore(CompactOpen): move 2 sets to variables (#9678)

Also fix name in the module docs.

Diff
@@ -15,7 +15,8 @@ topological spaces.
 
 ## Main definitions
 
-* `CompactOpen` is the compact-open topology on `C(X, Y)`. It is declared as an instance.
+* `ContinuousMap.compactOpen` is the compact-open topology on `C(X, Y)`.
+  It is declared as an instance.
 * `ContinuousMap.coev` is the coevaluation map `Y → C(X, Y × X)`. It is always continuous.
 * `ContinuousMap.curry` is the currying map `C(X × Y, Z) → C(X, C(Y, Z))`. This map always exists
   and it is continuous as long as `X × Y` is locally compact.
@@ -39,9 +40,8 @@ namespace ContinuousMap
 
 section CompactOpen
 
-variable {X : Type*} {Y : Type*} {Z : Type*}
-
-variable [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z]
+variable {α X Y Z : Type*}
+variable [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {K : Set X} {U : Set Y}
 
 /-- A generating set for the compact-open topology (when `s` is compact and `u` is open). -/
 def CompactOpen.gen (s : Set X) (u : Set Y) : Set C(X, Y) :=
@@ -90,15 +90,15 @@ protected theorem isOpen_gen {s : Set X} (hs : IsCompact s) {u : Set Y} (hu : Is
   TopologicalSpace.GenerateOpen.basic _ (by dsimp [mem_setOf_eq]; tauto)
 #align continuous_map.is_open_gen ContinuousMap.isOpen_gen
 
-lemma isOpen_setOf_mapsTo {K : Set X} (hK : IsCompact K) {U : Set Y} (hU : IsOpen U) :
+lemma isOpen_setOf_mapsTo (hK : IsCompact K) (hU : IsOpen U) :
     IsOpen {f : C(X, Y) | MapsTo f K U} := by
   simpa only [mapsTo'] using ContinuousMap.isOpen_gen hK hU
 
-lemma eventually_mapsTo {f : C(X, Y)} {K U} (hK : IsCompact K) (hU : IsOpen U) (h : MapsTo f K U) :
+lemma eventually_mapsTo {f : C(X, Y)} (hK : IsCompact K) (hU : IsOpen U) (h : MapsTo f K U) :
     ∀ᶠ g : C(X, Y) in 𝓝 f, MapsTo g K U :=
   (isOpen_setOf_mapsTo hK hU).mem_nhds h
 
-lemma tendsto_nhds_compactOpen {α : Type*} {l : Filter α} {f : α → C(Y, Z)} {g : C(Y, Z)} :
+lemma tendsto_nhds_compactOpen {l : Filter α} {f : α → C(Y, Z)} {g : C(Y, Z)} :
     Tendsto f l (𝓝 g) ↔
       ∀ K, IsCompact K → ∀ U, IsOpen U → MapsTo g K U → ∀ᶠ a in l, MapsTo (f a) K U := by
   simp_rw [compactOpen_eq, tendsto_nhds_generateFrom_iff, forall_image2_iff, mapsTo']; rfl
@@ -214,7 +214,7 @@ lemma isClosed_setOf_mapsTo {t : Set Y} (ht : IsClosed t) (s : Set X) :
     IsClosed {f : C(X, Y) | MapsTo f s t} :=
   ht.setOf_mapsTo fun _ _ ↦ continuous_eval_const _
 
-lemma isClopen_setOf_mapsTo {K : Set X} (hK : IsCompact K) {U : Set Y} (hU : IsClopen U) :
+lemma isClopen_setOf_mapsTo (hK : IsCompact K) (hU : IsClopen U) :
     IsClopen {f : C(X, Y) | MapsTo f K U} :=
   ⟨isOpen_setOf_mapsTo hK hU.isOpen, isClosed_setOf_mapsTo hU.isClosed K⟩
 
chore(Topology/CompactOpen): rename type variables (#9328)

Use X, Y, Z instead of α, β, γ for topological spaces.

Diff
@@ -15,15 +15,15 @@ topological spaces.
 
 ## Main definitions
 
-* `CompactOpen` is the compact-open topology on `C(α, β)`. It is declared as an instance.
-* `ContinuousMap.coev` is the coevaluation map `β → C(α, β × α)`. It is always continuous.
-* `ContinuousMap.curry` is the currying map `C(α × β, γ) → C(α, C(β, γ))`. This map always exists
-  and it is continuous as long as `α × β` is locally compact.
-* `ContinuousMap.uncurry` is the uncurrying map `C(α, C(β, γ)) → C(α × β, γ)`. For this map to
-  exist, we need `β` to be locally compact. If `α` is also locally compact, then this map is
+* `CompactOpen` is the compact-open topology on `C(X, Y)`. It is declared as an instance.
+* `ContinuousMap.coev` is the coevaluation map `Y → C(X, Y × X)`. It is always continuous.
+* `ContinuousMap.curry` is the currying map `C(X × Y, Z) → C(X, C(Y, Z))`. This map always exists
+  and it is continuous as long as `X × Y` is locally compact.
+* `ContinuousMap.uncurry` is the uncurrying map `C(X, C(Y, Z)) → C(X × Y, Z)`. For this map to
+  exist, we need `Y` to be locally compact. If `X` is also locally compact, then this map is
   continuous.
 * `Homeomorph.curry` combines the currying and uncurrying operations into a homeomorphism
-  `C(α × β, γ) ≃ₜ C(α, C(β, γ))`. This homeomorphism exists if `α` and `β` are locally compact.
+  `C(X × Y, Z) ≃ₜ C(X, C(Y, Z))`. This homeomorphism exists if `X` and `Y` are locally compact.
 
 
 ## Tags
@@ -39,121 +39,121 @@ namespace ContinuousMap
 
 section CompactOpen
 
-variable {α : Type*} {β : Type*} {γ : Type*}
+variable {X : Type*} {Y : Type*} {Z : Type*}
 
-variable [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ]
+variable [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z]
 
 /-- A generating set for the compact-open topology (when `s` is compact and `u` is open). -/
-def CompactOpen.gen (s : Set α) (u : Set β) : Set C(α, β) :=
+def CompactOpen.gen (s : Set X) (u : Set Y) : Set C(X, Y) :=
   { f | f '' s ⊆ u }
 #align continuous_map.compact_open.gen ContinuousMap.CompactOpen.gen
 
 @[simp]
-theorem gen_empty (u : Set β) : CompactOpen.gen (∅ : Set α) u = Set.univ :=
+theorem gen_empty (u : Set Y) : CompactOpen.gen (∅ : Set X) u = Set.univ :=
   Set.ext fun f => iff_true_intro ((congr_arg (· ⊆ u) (image_empty f)).mpr u.empty_subset)
 #align continuous_map.gen_empty ContinuousMap.gen_empty
 
 @[simp]
-theorem gen_univ (s : Set α) : CompactOpen.gen s (Set.univ : Set β) = Set.univ :=
+theorem gen_univ (s : Set X) : CompactOpen.gen s (Set.univ : Set Y) = Set.univ :=
   Set.ext fun f => iff_true_intro (f '' s).subset_univ
 #align continuous_map.gen_univ ContinuousMap.gen_univ
 
 @[simp]
-theorem gen_inter (s : Set α) (u v : Set β) :
+theorem gen_inter (s : Set X) (u v : Set Y) :
     CompactOpen.gen s (u ∩ v) = CompactOpen.gen s u ∩ CompactOpen.gen s v :=
   Set.ext fun _ => subset_inter_iff
 #align continuous_map.gen_inter ContinuousMap.gen_inter
 
 @[simp]
-theorem gen_union (s t : Set α) (u : Set β) :
+theorem gen_union (s t : Set X) (u : Set Y) :
     CompactOpen.gen (s ∪ t) u = CompactOpen.gen s u ∩ CompactOpen.gen t u :=
   Set.ext fun f => (iff_of_eq (congr_arg (· ⊆ u) (image_union f s t))).trans union_subset_iff
 #align continuous_map.gen_union ContinuousMap.gen_union
 
-theorem gen_empty_right {s : Set α} (h : s.Nonempty) : CompactOpen.gen s (∅ : Set β) = ∅ :=
+theorem gen_empty_right {s : Set X} (h : s.Nonempty) : CompactOpen.gen s (∅ : Set Y) = ∅ :=
   eq_empty_of_forall_not_mem fun _ => (h.image _).not_subset_empty
 #align continuous_map.gen_empty_right ContinuousMap.gen_empty_right
 
--- The compact-open topology on the space of continuous maps α → β.
-instance compactOpen : TopologicalSpace C(α, β) :=
+-- The compact-open topology on the space of continuous maps X → Y.
+instance compactOpen : TopologicalSpace C(X, Y) :=
   TopologicalSpace.generateFrom
-    { m | ∃ (s : Set α) (_ : IsCompact s) (u : Set β) (_ : IsOpen u), m = CompactOpen.gen s u }
+    { m | ∃ (s : Set X) (_ : IsCompact s) (u : Set Y) (_ : IsOpen u), m = CompactOpen.gen s u }
 #align continuous_map.compact_open ContinuousMap.compactOpen
 
 /-- Definition of `ContinuousMap.compactOpen` in terms of `Set.image2`. -/
-theorem compactOpen_eq : @compactOpen α β _ _ =
+theorem compactOpen_eq : @compactOpen X Y _ _ =
     .generateFrom (Set.image2 CompactOpen.gen {s | IsCompact s} {t | IsOpen t}) :=
   congr_arg TopologicalSpace.generateFrom <| Set.ext fun _ ↦ by simp [eq_comm]
 
-protected theorem isOpen_gen {s : Set α} (hs : IsCompact s) {u : Set β} (hu : IsOpen u) :
+protected theorem isOpen_gen {s : Set X} (hs : IsCompact s) {u : Set Y} (hu : IsOpen u) :
     IsOpen (CompactOpen.gen s u) :=
   TopologicalSpace.GenerateOpen.basic _ (by dsimp [mem_setOf_eq]; tauto)
 #align continuous_map.is_open_gen ContinuousMap.isOpen_gen
 
-lemma isOpen_setOf_mapsTo {K : Set α} (hK : IsCompact K) {U : Set β} (hU : IsOpen U) :
-    IsOpen {f : C(α, β) | MapsTo f K U} := by
+lemma isOpen_setOf_mapsTo {K : Set X} (hK : IsCompact K) {U : Set Y} (hU : IsOpen U) :
+    IsOpen {f : C(X, Y) | MapsTo f K U} := by
   simpa only [mapsTo'] using ContinuousMap.isOpen_gen hK hU
 
-lemma eventually_mapsTo {f : C(α, β)} {K U} (hK : IsCompact K) (hU : IsOpen U) (h : MapsTo f K U) :
-    ∀ᶠ g : C(α, β) in 𝓝 f, MapsTo g K U :=
+lemma eventually_mapsTo {f : C(X, Y)} {K U} (hK : IsCompact K) (hU : IsOpen U) (h : MapsTo f K U) :
+    ∀ᶠ g : C(X, Y) in 𝓝 f, MapsTo g K U :=
   (isOpen_setOf_mapsTo hK hU).mem_nhds h
 
-lemma tendsto_nhds_compactOpen {α : Type*} {l : Filter α} {f : α → C(β, γ)} {g : C(β, γ)} :
+lemma tendsto_nhds_compactOpen {α : Type*} {l : Filter α} {f : α → C(Y, Z)} {g : C(Y, Z)} :
     Tendsto f l (𝓝 g) ↔
       ∀ K, IsCompact K → ∀ U, IsOpen U → MapsTo g K U → ∀ᶠ a in l, MapsTo (f a) K U := by
   simp_rw [compactOpen_eq, tendsto_nhds_generateFrom_iff, forall_image2_iff, mapsTo']; rfl
 
-lemma continuous_compactOpen {f : α → C(β, γ)} :
+lemma continuous_compactOpen {f : X → C(Y, Z)} :
     Continuous f ↔ ∀ K, IsCompact K → ∀ U, IsOpen U → IsOpen {x | MapsTo (f x) K U} := by
   simp_rw [compactOpen_eq, continuous_generateFrom_iff, forall_image2_iff, mapsTo']; rfl
 
 section Functorial
 
-variable (g : C(β, γ))
+variable (g : C(Y, Z))
 
-private theorem preimage_gen {s : Set α} {u : Set γ} :
+private theorem preimage_gen {s : Set X} {u : Set Z} :
     ContinuousMap.comp g ⁻¹' CompactOpen.gen s u = CompactOpen.gen s (g ⁻¹' u) := by
   ext ⟨f, _⟩
   change g ∘ f '' s ⊆ u ↔ f '' s ⊆ g ⁻¹' u
   rw [image_comp, image_subset_iff]
 
-/-- C(α, -) is a functor. -/
-theorem continuous_comp : Continuous (ContinuousMap.comp g : C(α, β) → C(α, γ)) :=
+/-- C(X, -) is a functor. -/
+theorem continuous_comp : Continuous (ContinuousMap.comp g : C(X, Y) → C(X, Z)) :=
   continuous_generateFrom_iff.2 fun m ⟨s, hs, u, hu, hm⟩ => by
     rw [hm, preimage_gen g]; exact ContinuousMap.isOpen_gen hs (hu.preimage g.2)
 #align continuous_map.continuous_comp ContinuousMap.continuous_comp
 
-/-- If `g : C(β, γ)` is a topology inducing map, then the composition
-`ContinuousMap.comp g : C(α, β) → C(α, γ)` is a topology inducing map too. -/
-theorem inducing_comp (hg : Inducing g) : Inducing (g.comp : C(α, β) → C(α, γ)) where
+/-- If `g : C(Y, Z)` is a topology inducing map, then the composition
+`ContinuousMap.comp g : C(X, Y) → C(X, Z)` is a topology inducing map too. -/
+theorem inducing_comp (hg : Inducing g) : Inducing (g.comp : C(X, Y) → C(X, Z)) where
   induced := by
     simp only [compactOpen_eq, induced_generateFrom_eq, image_image2, preimage_gen,
       hg.setOf_isOpen, image2_image_right]
 
-/-- If `g : C(β, γ)` is a topological embedding, then the composition
-`ContinuousMap.comp g : C(α, β) → C(α, γ)` is an embedding too. -/
-theorem embedding_comp (hg : Embedding g) : Embedding (g.comp : C(α, β) → C(α, γ)) :=
+/-- If `g : C(Y, Z)` is a topological embedding, then the composition
+`ContinuousMap.comp g : C(X, Y) → C(X, Z)` is an embedding too. -/
+theorem embedding_comp (hg : Embedding g) : Embedding (g.comp : C(X, Y) → C(X, Z)) :=
   ⟨inducing_comp g hg.1, fun _ _ ↦ (cancel_left hg.2).1⟩
 
-variable (f : C(α, β))
+variable (f : C(X, Y))
 
-private theorem image_gen {s : Set α} (_ : IsCompact s) {u : Set γ} (_ : IsOpen u) :
-    (fun g : C(β, γ) => g.comp f) ⁻¹' CompactOpen.gen s u = CompactOpen.gen (f '' s) u := by
+private theorem image_gen {s : Set X} (_ : IsCompact s) {u : Set Z} (_ : IsOpen u) :
+    (fun g : C(Y, Z) => g.comp f) ⁻¹' CompactOpen.gen s u = CompactOpen.gen (f '' s) u := by
   ext ⟨g, _⟩
   change g ∘ f '' s ⊆ u ↔ g '' (f '' s) ⊆ u
   rw [Set.image_comp]
 
-/-- C(-, γ) is a functor. -/
-theorem continuous_comp_left : Continuous (fun g => g.comp f : C(β, γ) → C(α, γ)) :=
+/-- C(-, Z) is a functor. -/
+theorem continuous_comp_left : Continuous (fun g => g.comp f : C(Y, Z) → C(X, Z)) :=
   continuous_generateFrom_iff.2 fun m ⟨s, hs, u, hu, hm⟩ => by
     rw [hm, image_gen f hs hu]
     exact ContinuousMap.isOpen_gen (hs.image f.2) hu
 #align continuous_map.continuous_comp_left ContinuousMap.continuous_comp_left
 
-/-- Composition is a continuous map from `C(α, β) × C(β, γ)` to `C(α, γ)`, provided that `β` is
+/-- Composition is a continuous map from `C(X, Y) × C(Y, Z)` to `C(X, Z)`, provided that `Y` is
   locally compact. This is Prop. 9 of Chap. X, §3, №. 4 of Bourbaki's *Topologie Générale*. -/
-theorem continuous_comp' [LocallyCompactPair β γ] :
-    Continuous fun x : C(α, β) × C(β, γ) => x.2.comp x.1 := by
+theorem continuous_comp' [LocallyCompactPair Y Z] :
+    Continuous fun x : C(X, Y) × C(Y, Z) => x.2.comp x.1 := by
   simp_rw [continuous_iff_continuousAt, ContinuousAt, tendsto_nhds_compactOpen]
   intro ⟨f, g⟩ K hK U hU (hKU : MapsTo (g ∘ f) K U)
   obtain ⟨L, hKL, hLc, hLU⟩ : ∃ L ∈ 𝓝ˢ (f '' K), IsCompact L ∧ MapsTo g L U :=
@@ -165,8 +165,8 @@ theorem continuous_comp' [LocallyCompactPair β γ] :
       hg'.comp <| hf'.mono_right interior_subset
 #align continuous_map.continuous_comp' ContinuousMap.continuous_comp'
 
-theorem continuous.comp' {X : Type*} [TopologicalSpace X] [LocallyCompactPair β γ] {f : X → C(α, β)}
-    {g : X → C(β, γ)} (hf : Continuous f) (hg : Continuous g) :
+theorem continuous.comp' {X : Type*} [TopologicalSpace X] [LocallyCompactPair Y Z] {f : X → C(X, Y)}
+    {g : X → C(Y, Z)} (hf : Continuous f) (hg : Continuous g) :
     Continuous fun x => (g x).comp (f x) :=
   continuous_comp'.comp (hf.prod_mk hg : Continuous fun x => (f x, g x))
 #align continuous_map.continuous.comp' ContinuousMap.continuous.comp'
@@ -175,10 +175,10 @@ end Functorial
 
 section Ev
 
-/-- The evaluation map `C(α, β) × α → β` is continuous
-if `α, β` is a locally compact pair of spaces. -/
+/-- The evaluation map `C(X, Y) × X → Y` is continuous
+if `X, Y` is a locally compact pair of spaces. -/
 @[continuity]
-theorem continuous_eval [LocallyCompactPair α β] : Continuous fun p : C(α, β) × α => p.1 p.2 := by
+theorem continuous_eval [LocallyCompactPair X Y] : Continuous fun p : C(X, Y) × X => p.1 p.2 := by
   simp_rw [continuous_iff_continuousAt, ContinuousAt, (nhds_basis_opens _).tendsto_right_iff]
   rintro ⟨f, x⟩ U ⟨hx : f x ∈ U, hU : IsOpen U⟩
   rcases exists_mem_nhds_isCompact_mapsTo f.continuous (hU.mem_nhds hx) with ⟨K, hxK, hK, hKU⟩
@@ -188,51 +188,51 @@ theorem continuous_eval [LocallyCompactPair α β] : Continuous fun p : C(α, β
 
 @[deprecated] alias continuous_eval' := continuous_eval
 
-/-- Evaluation of a continuous map `f` at a point `a` is continuous in `f`.
+/-- Evaluation of a continuous map `f` at a point `x` is continuous in `f`.
 
 Porting note: merged `continuous_eval_const` with `continuous_eval_const'` removing unneeded
 assumptions. -/
 @[continuity]
-theorem continuous_eval_const (a : α) :
-    Continuous fun f : C(α, β) => f a := by
+theorem continuous_eval_const (x : X) :
+    Continuous fun f : C(X, Y) => f x := by
   refine continuous_def.2 fun U hU ↦ ?_
-  convert ContinuousMap.isOpen_gen (isCompact_singleton (x := a)) hU using 1
+  convert ContinuousMap.isOpen_gen (isCompact_singleton (x := x)) hU using 1
   ext; simp [CompactOpen.gen]
 #align continuous_map.continuous_eval_const' ContinuousMap.continuous_eval_const
 #align continuous_map.continuous_eval_const ContinuousMap.continuous_eval_const
 
-/-- Coercion from `C(α, β)` with compact-open topology to `α → β` with pointwise convergence
+/-- Coercion from `C(X, Y)` with compact-open topology to `X → Y` with pointwise convergence
 topology is a continuous map.
 
 Porting note: merged `continuous_coe` with `continuous_coe'` removing unneeded assumptions. -/
-theorem continuous_coe : Continuous ((⇑) : C(α, β) → (α → β)) :=
+theorem continuous_coe : Continuous ((⇑) : C(X, Y) → (X → Y)) :=
   continuous_pi continuous_eval_const
 #align continuous_map.continuous_coe' ContinuousMap.continuous_coe
 #align continuous_map.continuous_coe ContinuousMap.continuous_coe
 
-lemma isClosed_setOf_mapsTo {t : Set β} (ht : IsClosed t) (s : Set α) :
-    IsClosed {f : C(α, β) | MapsTo f s t} :=
+lemma isClosed_setOf_mapsTo {t : Set Y} (ht : IsClosed t) (s : Set X) :
+    IsClosed {f : C(X, Y) | MapsTo f s t} :=
   ht.setOf_mapsTo fun _ _ ↦ continuous_eval_const _
 
-lemma isClopen_setOf_mapsTo {K : Set α} (hK : IsCompact K) {U : Set β} (hU : IsClopen U) :
-    IsClopen {f : C(α, β) | MapsTo f K U} :=
+lemma isClopen_setOf_mapsTo {K : Set X} (hK : IsCompact K) {U : Set Y} (hU : IsClopen U) :
+    IsClopen {f : C(X, Y) | MapsTo f K U} :=
   ⟨isOpen_setOf_mapsTo hK hU.isOpen, isClosed_setOf_mapsTo hU.isClosed K⟩
 
-instance [T0Space β] : T0Space C(α, β) :=
+instance [T0Space Y] : T0Space C(X, Y) :=
   t0Space_of_injective_of_continuous FunLike.coe_injective continuous_coe
 
-instance [T1Space β] : T1Space C(α, β) :=
+instance [T1Space Y] : T1Space C(X, Y) :=
   t1Space_of_injective_of_continuous FunLike.coe_injective continuous_coe
 
-instance [T2Space β] : T2Space C(α, β) :=
+instance [T2Space Y] : T2Space C(X, Y) :=
   .of_injective_continuous FunLike.coe_injective continuous_coe
 
 end Ev
 
 section InfInduced
 
-theorem compactOpen_le_induced (s : Set α) :
-    (ContinuousMap.compactOpen : TopologicalSpace C(α, β)) ≤
+theorem compactOpen_le_induced (s : Set X) :
+    (ContinuousMap.compactOpen : TopologicalSpace C(X, Y)) ≤
       TopologicalSpace.induced (ContinuousMap.restrict s) ContinuousMap.compactOpen := by
   simp only [induced_generateFrom_eq, ContinuousMap.compactOpen]
   apply TopologicalSpace.generateFrom_anti
@@ -240,15 +240,15 @@ theorem compactOpen_le_induced (s : Set α) :
   refine' ⟨(↑) '' c, hc.image continuous_subtype_val, u, hu, _⟩
   ext f
   simp only [CompactOpen.gen, mem_setOf_eq, mem_preimage, ContinuousMap.coe_restrict]
-  rw [image_comp f ((↑) : s → α)]
+  rw [image_comp f ((↑) : s → X)]
 #align continuous_map.compact_open_le_induced ContinuousMap.compactOpen_le_induced
 
-/-- The compact-open topology on `C(α, β)` is equal to the infimum of the compact-open topologies
-on `C(s, β)` for `s` a compact subset of `α`.  The key point of the proof is that the union of the
-compact subsets of `α` is equal to the union of compact subsets of the compact subsets of `α`. -/
+/-- The compact-open topology on `C(X, Y)` is equal to the infimum of the compact-open topologies
+on `C(s, Y)` for `s` a compact subset of `X`.  The key point of the proof is that the union of the
+compact subsets of `X` is equal to the union of compact subsets of the compact subsets of `X`. -/
 theorem compactOpen_eq_sInf_induced :
-    (ContinuousMap.compactOpen : TopologicalSpace C(α, β)) =
-      ⨅ (s : Set α) (_ : IsCompact s),
+    (ContinuousMap.compactOpen : TopologicalSpace C(X, Y)) =
+      ⨅ (s : Set X) (_ : IsCompact s),
         TopologicalSpace.induced (ContinuousMap.restrict s) ContinuousMap.compactOpen := by
   refine' le_antisymm _ _
   · refine' le_iInf₂ _
@@ -260,42 +260,42 @@ theorem compactOpen_eq_sInf_induced :
   refine' ⟨s, hs, _, ⟨univ, isCompact_iff_isCompact_univ.mp hs, u, hu, rfl⟩, _⟩
   ext f
   simp only [CompactOpen.gen, mem_setOf_eq, mem_preimage, ContinuousMap.coe_restrict]
-  rw [image_comp f ((↑) : s → α)]
+  rw [image_comp f ((↑) : s → X)]
   simp
 #align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_sInf_induced
 
-/-- For any subset `s` of `α`, the restriction of continuous functions to `s` is continuous as a
-function from `C(α, β)` to `C(s, β)` with their respective compact-open topologies. -/
-theorem continuous_restrict (s : Set α) : Continuous fun F : C(α, β) => F.restrict s := by
+/-- For any subset `s` of `X`, the restriction of continuous functions to `s` is continuous as a
+function from `C(X, Y)` to `C(s, Y)` with their respective compact-open topologies. -/
+theorem continuous_restrict (s : Set X) : Continuous fun F : C(X, Y) => F.restrict s := by
   rw [continuous_iff_le_induced]
   exact compactOpen_le_induced s
 #align continuous_map.continuous_restrict ContinuousMap.continuous_restrict
 
-theorem nhds_compactOpen_eq_sInf_nhds_induced (f : C(α, β)) :
+theorem nhds_compactOpen_eq_sInf_nhds_induced (f : C(X, Y)) :
     𝓝 f = ⨅ (s) (hs : IsCompact s), (𝓝 (f.restrict s)).comap (ContinuousMap.restrict s) := by
   rw [compactOpen_eq_sInf_induced]
   simp [nhds_iInf, nhds_induced]
 #align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced
 
-theorem tendsto_compactOpen_restrict {ι : Type*} {l : Filter ι} {F : ι → C(α, β)} {f : C(α, β)}
-    (hFf : Filter.Tendsto F l (𝓝 f)) (s : Set α) :
+theorem tendsto_compactOpen_restrict {ι : Type*} {l : Filter ι} {F : ι → C(X, Y)} {f : C(X, Y)}
+    (hFf : Filter.Tendsto F l (𝓝 f)) (s : Set X) :
     Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) :=
   (continuous_restrict s).continuousAt.tendsto.comp hFf
 #align continuous_map.tendsto_compact_open_restrict ContinuousMap.tendsto_compactOpen_restrict
 
-theorem tendsto_compactOpen_iff_forall {ι : Type*} {l : Filter ι} (F : ι → C(α, β)) (f : C(α, β)) :
+theorem tendsto_compactOpen_iff_forall {ι : Type*} {l : Filter ι} (F : ι → C(X, Y)) (f : C(X, Y)) :
     Filter.Tendsto F l (𝓝 f) ↔
     ∀ (s) (hs : IsCompact s), Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) := by
     rw [compactOpen_eq_sInf_induced]
     simp [nhds_iInf, nhds_induced, Filter.tendsto_comap_iff, Function.comp]
 #align continuous_map.tendsto_compact_open_iff_forall ContinuousMap.tendsto_compactOpen_iff_forall
 
-/-- A family `F` of functions in `C(α, β)` converges in the compact-open topology, if and only if
-it converges in the compact-open topology on each compact subset of `α`. -/
-theorem exists_tendsto_compactOpen_iff_forall [WeaklyLocallyCompactSpace α] [T2Space β]
-    {ι : Type*} {l : Filter ι} [Filter.NeBot l] (F : ι → C(α, β)) :
+/-- A family `F` of functions in `C(X, Y)` converges in the compact-open topology, if and only if
+it converges in the compact-open topology on each compact subset of `X`. -/
+theorem exists_tendsto_compactOpen_iff_forall [WeaklyLocallyCompactSpace X] [T2Space Y]
+    {ι : Type*} {l : Filter ι} [Filter.NeBot l] (F : ι → C(X, Y)) :
     (∃ f, Filter.Tendsto F l (𝓝 f)) ↔
-    ∀ (s : Set α) (hs : IsCompact s), ∃ f, Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 f) := by
+    ∀ (s : Set X) (hs : IsCompact s), ∃ f, Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 f) := by
   constructor
   · rintro ⟨f, hf⟩ s _
     exact ⟨f.restrict s, tendsto_compactOpen_restrict hf s⟩
@@ -304,7 +304,7 @@ theorem exists_tendsto_compactOpen_iff_forall [WeaklyLocallyCompactSpace α] [T2
     -- By uniqueness of limits in a `T2Space`, since `fun i ↦ F i x` tends to both `f s₁ hs₁ x` and
     -- `f s₂ hs₂ x`, we have `f s₁ hs₁ x = f s₂ hs₂ x`
     have h :
-      ∀ (s₁) (hs₁ : IsCompact s₁) (s₂) (hs₂ : IsCompact s₂) (x : α) (hxs₁ : x ∈ s₁) (hxs₂ : x ∈ s₂),
+      ∀ (s₁) (hs₁ : IsCompact s₁) (s₂) (hs₂ : IsCompact s₂) (x : X) (hxs₁ : x ∈ s₁) (hxs₂ : x ∈ s₂),
         f s₁ hs₁ ⟨x, hxs₁⟩ = f s₂ hs₂ ⟨x, hxs₂⟩ := by
       rintro s₁ hs₁ s₂ hs₂ x hxs₁ hxs₂
       haveI := isCompact_iff_compactSpace.mp hs₁
@@ -325,34 +325,34 @@ end InfInduced
 
 section Coev
 
-variable (α β)
+variable (X Y)
 
-/-- The coevaluation map `β → C(α, β × α)` sending a point `x : β` to the continuous function
-on `α` sending `y` to `(x, y)`. -/
-def coev (b : β) : C(α, β × α) :=
-  { toFun := Prod.mk b }
+/-- The coevaluation map `Y → C(X, Y × X)` sending a point `x : Y` to the continuous function
+on `X` sending `y` to `(x, y)`. -/
+def coev (y : Y) : C(X, Y × X) :=
+  { toFun := Prod.mk y }
 #align continuous_map.coev ContinuousMap.coev
 
-variable {α β}
+variable {X Y}
 
-theorem image_coev {y : β} (s : Set α) : coev α β y '' s = ({y} : Set β) ×ˢ s := by
+theorem image_coev {y : Y} (s : Set X) : coev X Y y '' s = ({y} : Set Y) ×ˢ s := by
   aesop
 #align continuous_map.image_coev ContinuousMap.image_coev
 
--- The coevaluation map β → C(α, β × α) is continuous (always).
-theorem continuous_coev : Continuous (coev α β) :=
+-- The coevaluation map Y → C(X, Y × X) is continuous (always).
+theorem continuous_coev : Continuous (coev X Y) :=
   continuous_generateFrom_iff.2 <| by
     rintro _ ⟨s, sc, u, uo, rfl⟩
     rw [isOpen_iff_forall_mem_open]
     intro y hy
-    have hy' : (↑(coev α β y) '' s ⊆ u) := hy
+    have hy' : (↑(coev X Y y) '' s ⊆ u) := hy
     -- porting notes: was below
-    --change coev α β y '' s ⊆ u at hy
+    --change coev X Y y '' s ⊆ u at hy
     rw [image_coev s] at hy'
     rcases generalized_tube_lemma isCompact_singleton sc uo hy' with ⟨v, w, vo, _, yv, sw, vwu⟩
     refine' ⟨v, _, vo, singleton_subset_iff.mp yv⟩
     intro y' hy'
-    change coev α β y' '' s ⊆ u
+    change coev X Y y' '' s ⊆ u
     rw [image_coev s]
     exact (prod_mono (singleton_subset_iff.mpr hy') sw).trans vwu
 #align continuous_map.continuous_coev ContinuousMap.continuous_coev
@@ -362,77 +362,77 @@ end Coev
 section Curry
 
 /-- Auxiliary definition, see `ContinuousMap.curry` and `Homeomorph.curry`. -/
-def curry' (f : C(α × β, γ)) (a : α) : C(β, γ) :=
-  ⟨Function.curry f a, Continuous.comp f.2 (continuous_const.prod_mk continuous_id)⟩
+def curry' (f : C(X × Y, Z)) (x : X) : C(Y, Z) :=
+  ⟨Function.curry f x, Continuous.comp f.2 (continuous_const.prod_mk continuous_id)⟩
   -- Porting note: proof was `by continuity`
 #align continuous_map.curry' ContinuousMap.curry'
 
-/-- If a map `α × β → γ` is continuous, then its curried form `α → C(β, γ)` is continuous. -/
-theorem continuous_curry' (f : C(α × β, γ)) : Continuous (curry' f) :=
+/-- If a map `X × Y → Z` is continuous, then its curried form `X → C(Y, Z)` is continuous. -/
+theorem continuous_curry' (f : C(X × Y, Z)) : Continuous (curry' f) :=
   Continuous.comp (continuous_comp f) continuous_coev
 #align continuous_map.continuous_curry' ContinuousMap.continuous_curry'
 
-/-- To show continuity of a map `α → C(β, γ)`, it suffices to show that its uncurried form
-    `α × β → γ` is continuous. -/
-theorem continuous_of_continuous_uncurry (f : α → C(β, γ))
+/-- To show continuity of a map `X → C(Y, Z)`, it suffices to show that its uncurried form
+    `X × Y → Z` is continuous. -/
+theorem continuous_of_continuous_uncurry (f : X → C(Y, Z))
     (h : Continuous (Function.uncurry fun x y => f x y)) : Continuous f :=
   continuous_curry' ⟨_, h⟩
 #align continuous_map.continuous_of_continuous_uncurry ContinuousMap.continuous_of_continuous_uncurry
 
-/-- The curried form of a continuous map `α × β → γ` as a continuous map `α → C(β, γ)`.
-    If `a × β` is locally compact, this is continuous. If `α` and `β` are both locally
+/-- The curried form of a continuous map `X × Y → Z` as a continuous map `X → C(Y, Z)`.
+    If `X × Y` is locally compact, this is continuous. If `X` and `Y` are both locally
     compact, then this is a homeomorphism, see `Homeomorph.curry`. -/
-def curry (f : C(α × β, γ)) : C(α, C(β, γ)) :=
+def curry (f : C(X × Y, Z)) : C(X, C(Y, Z)) :=
   ⟨_, continuous_curry' f⟩
 #align continuous_map.curry ContinuousMap.curry
 
 @[simp]
-theorem curry_apply (f : C(α × β, γ)) (a : α) (b : β) : f.curry a b = f (a, b) :=
+theorem curry_apply (f : C(X × Y, Z)) (x : X) (y : Y) : f.curry x y = f (x, y) :=
   rfl
 #align continuous_map.curry_apply ContinuousMap.curry_apply
 
 /-- The currying process is a continuous map between function spaces. -/
-theorem continuous_curry [LocallyCompactSpace (α × β)] :
-    Continuous (curry : C(α × β, γ) → C(α, C(β, γ))) := by
+theorem continuous_curry [LocallyCompactSpace (X × Y)] :
+    Continuous (curry : C(X × Y, Z) → C(X, C(Y, Z))) := by
   apply continuous_of_continuous_uncurry
   apply continuous_of_continuous_uncurry
   rw [← (Homeomorph.prodAssoc _ _ _).symm.comp_continuous_iff']
   exact continuous_eval
 #align continuous_map.continuous_curry ContinuousMap.continuous_curry
 
-/-- The uncurried form of a continuous map `α → C(β, γ)` is a continuous map `α × β → γ`. -/
-theorem continuous_uncurry_of_continuous [LocallyCompactSpace β] (f : C(α, C(β, γ))) :
+/-- The uncurried form of a continuous map `X → C(Y, Z)` is a continuous map `X × Y → Z`. -/
+theorem continuous_uncurry_of_continuous [LocallyCompactSpace Y] (f : C(X, C(Y, Z))) :
     Continuous (Function.uncurry fun x y => f x y) :=
   continuous_eval.comp <| f.continuous.prod_map continuous_id
 #align continuous_map.continuous_uncurry_of_continuous ContinuousMap.continuous_uncurry_of_continuous
 
-/-- The uncurried form of a continuous map `α → C(β, γ)` as a continuous map `α × β → γ` (if `β` is
-    locally compact). If `α` is also locally compact, then this is a homeomorphism between the two
+/-- The uncurried form of a continuous map `X → C(Y, Z)` as a continuous map `X × Y → Z` (if `Y` is
+    locally compact). If `X` is also locally compact, then this is a homeomorphism between the two
     function spaces, see `Homeomorph.curry`. -/
 @[simps]
-def uncurry [LocallyCompactSpace β] (f : C(α, C(β, γ))) : C(α × β, γ) :=
+def uncurry [LocallyCompactSpace Y] (f : C(X, C(Y, Z))) : C(X × Y, Z) :=
   ⟨_, continuous_uncurry_of_continuous f⟩
 #align continuous_map.uncurry ContinuousMap.uncurry
 
 /-- The uncurrying process is a continuous map between function spaces. -/
-theorem continuous_uncurry [LocallyCompactSpace α] [LocallyCompactSpace β] :
-    Continuous (uncurry : C(α, C(β, γ)) → C(α × β, γ)) := by
+theorem continuous_uncurry [LocallyCompactSpace X] [LocallyCompactSpace Y] :
+    Continuous (uncurry : C(X, C(Y, Z)) → C(X × Y, Z)) := by
   apply continuous_of_continuous_uncurry
   rw [← (Homeomorph.prodAssoc _ _ _).comp_continuous_iff']
   apply continuous_eval.comp (continuous_eval.prod_map continuous_id)
 #align continuous_map.continuous_uncurry ContinuousMap.continuous_uncurry
 
-/-- The family of constant maps: `β → C(α, β)` as a continuous map. -/
-def const' : C(β, C(α, β)) :=
+/-- The family of constant maps: `Y → C(X, Y)` as a continuous map. -/
+def const' : C(Y, C(X, Y)) :=
   curry ContinuousMap.fst
 #align continuous_map.const' ContinuousMap.const'
 
 @[simp]
-theorem coe_const' : (const' : β → C(α, β)) = const α :=
+theorem coe_const' : (const' : Y → C(X, Y)) = const X :=
   rfl
 #align continuous_map.coe_const' ContinuousMap.coe_const'
 
-theorem continuous_const' : Continuous (const α : β → C(α, β)) :=
+theorem continuous_const' : Continuous (const X : Y → C(X, Y)) :=
   const'.continuous
 #align continuous_map.continuous_const' ContinuousMap.continuous_const'
 
@@ -446,36 +446,36 @@ open ContinuousMap
 
 namespace Homeomorph
 
-variable {α : Type*} {β : Type*} {γ : Type*}
+variable {X : Type*} {Y : Type*} {Z : Type*}
 
-variable [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ]
+variable [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z]
 
-/-- Currying as a homeomorphism between the function spaces `C(α × β, γ)` and `C(α, C(β, γ))`. -/
-def curry [LocallyCompactSpace α] [LocallyCompactSpace β] : C(α × β, γ) ≃ₜ C(α, C(β, γ)) :=
+/-- Currying as a homeomorphism between the function spaces `C(X × Y, Z)` and `C(X, C(Y, Z))`. -/
+def curry [LocallyCompactSpace X] [LocallyCompactSpace Y] : C(X × Y, Z) ≃ₜ C(X, C(Y, Z)) :=
   ⟨⟨ContinuousMap.curry, uncurry, by intro; ext; rfl, by intro; ext; rfl⟩,
     continuous_curry, continuous_uncurry⟩
 #align homeomorph.curry Homeomorph.curry
 
-/-- If `α` has a single element, then `β` is homeomorphic to `C(α, β)`. -/
-def continuousMapOfUnique [Unique α] : β ≃ₜ C(α, β) where
-  toFun := const α
+/-- If `X` has a single element, then `Y` is homeomorphic to `C(X, Y)`. -/
+def continuousMapOfUnique [Unique X] : Y ≃ₜ C(X, Y) where
+  toFun := const X
   invFun f := f default
-  left_inv a := rfl
+  left_inv _ := rfl
   right_inv f := by
-    ext a
-    rw [Unique.eq_default a]
+    ext x
+    rw [Unique.eq_default x]
     rfl
   continuous_toFun := continuous_const'
   continuous_invFun := continuous_eval_const _
 #align homeomorph.continuous_map_of_unique Homeomorph.continuousMapOfUnique
 
 @[simp]
-theorem continuousMapOfUnique_apply [Unique α] (b : β) (a : α) : continuousMapOfUnique b a = b :=
+theorem continuousMapOfUnique_apply [Unique X] (y : Y) (x : X) : continuousMapOfUnique y x = y :=
   rfl
 #align homeomorph.continuous_map_of_unique_apply Homeomorph.continuousMapOfUnique_apply
 
 @[simp]
-theorem continuousMapOfUnique_symm_apply [Unique α] (f : C(α, β)) :
+theorem continuousMapOfUnique_symm_apply [Unique X] (f : C(X, Y)) :
     continuousMapOfUnique.symm f = f default :=
   rfl
 #align homeomorph.continuous_map_of_unique_symm_apply Homeomorph.continuousMapOfUnique_symm_apply
feat(Topology): clopen subsets of products of compact spaces are unions of clopen boxes (#8678)

Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>

Diff
@@ -210,6 +210,14 @@ theorem continuous_coe : Continuous ((⇑) : C(α, β) → (α → β)) :=
 #align continuous_map.continuous_coe' ContinuousMap.continuous_coe
 #align continuous_map.continuous_coe ContinuousMap.continuous_coe
 
+lemma isClosed_setOf_mapsTo {t : Set β} (ht : IsClosed t) (s : Set α) :
+    IsClosed {f : C(α, β) | MapsTo f s t} :=
+  ht.setOf_mapsTo fun _ _ ↦ continuous_eval_const _
+
+lemma isClopen_setOf_mapsTo {K : Set α} (hK : IsCompact K) {U : Set β} (hU : IsClopen U) :
+    IsClopen {f : C(α, β) | MapsTo f K U} :=
+  ⟨isOpen_setOf_mapsTo hK hU.isOpen, isClosed_setOf_mapsTo hU.isClosed K⟩
+
 instance [T0Space β] : T0Space C(α, β) :=
   t0Space_of_injective_of_continuous FunLike.coe_injective continuous_coe
 
@@ -361,8 +369,7 @@ def curry' (f : C(α × β, γ)) (a : α) : C(β, γ) :=
 
 /-- If a map `α × β → γ` is continuous, then its curried form `α → C(β, γ)` is continuous. -/
 theorem continuous_curry' (f : C(α × β, γ)) : Continuous (curry' f) :=
-  have hf : curry' f = ContinuousMap.comp f ∘ coev _ _ := by ext; rfl
-  hf ▸ Continuous.comp (continuous_comp f) continuous_coev
+  Continuous.comp (continuous_comp f) continuous_coev
 #align continuous_map.continuous_curry' ContinuousMap.continuous_curry'
 
 /-- To show continuity of a map `α → C(β, γ)`, it suffices to show that its uncurried form
feat(CompactOpen): unify 2 continuous_eval lemmas (#9264)

Introduce a typeclass LocallyCompactPair that allows us to unify different versions of ContinuousMap.continuous_eval and similar lemmas.

Diff
@@ -32,9 +32,8 @@ compact-open, curry, function space
 -/
 
 
-open Set
-
-open Topology
+open Set Filter TopologicalSpace
+open scoped Topology
 
 namespace ContinuousMap
 
@@ -91,6 +90,23 @@ protected theorem isOpen_gen {s : Set α} (hs : IsCompact s) {u : Set β} (hu :
   TopologicalSpace.GenerateOpen.basic _ (by dsimp [mem_setOf_eq]; tauto)
 #align continuous_map.is_open_gen ContinuousMap.isOpen_gen
 
+lemma isOpen_setOf_mapsTo {K : Set α} (hK : IsCompact K) {U : Set β} (hU : IsOpen U) :
+    IsOpen {f : C(α, β) | MapsTo f K U} := by
+  simpa only [mapsTo'] using ContinuousMap.isOpen_gen hK hU
+
+lemma eventually_mapsTo {f : C(α, β)} {K U} (hK : IsCompact K) (hU : IsOpen U) (h : MapsTo f K U) :
+    ∀ᶠ g : C(α, β) in 𝓝 f, MapsTo g K U :=
+  (isOpen_setOf_mapsTo hK hU).mem_nhds h
+
+lemma tendsto_nhds_compactOpen {α : Type*} {l : Filter α} {f : α → C(β, γ)} {g : C(β, γ)} :
+    Tendsto f l (𝓝 g) ↔
+      ∀ K, IsCompact K → ∀ U, IsOpen U → MapsTo g K U → ∀ᶠ a in l, MapsTo (f a) K U := by
+  simp_rw [compactOpen_eq, tendsto_nhds_generateFrom_iff, forall_image2_iff, mapsTo']; rfl
+
+lemma continuous_compactOpen {f : α → C(β, γ)} :
+    Continuous f ↔ ∀ K, IsCompact K → ∀ U, IsOpen U → IsOpen {x | MapsTo (f x) K U} := by
+  simp_rw [compactOpen_eq, continuous_generateFrom_iff, forall_image2_iff, mapsTo']; rfl
+
 section Functorial
 
 variable (g : C(β, γ))
@@ -136,29 +152,20 @@ theorem continuous_comp_left : Continuous (fun g => g.comp f : C(β, γ) → C(
 
 /-- Composition is a continuous map from `C(α, β) × C(β, γ)` to `C(α, γ)`, provided that `β` is
   locally compact. This is Prop. 9 of Chap. X, §3, №. 4 of Bourbaki's *Topologie Générale*. -/
-theorem continuous_comp' [LocallyCompactSpace β] :
-    Continuous fun x : C(α, β) × C(β, γ) => x.2.comp x.1 :=
-  continuous_generateFrom_iff.2
-    (by
-      rintro M ⟨K, hK, U, hU, rfl⟩
-      conv =>
-        congr
-        rw [CompactOpen.gen, preimage_setOf_eq]
-        --congr
-        ext; dsimp [setOf]
-        rw [image_comp, image_subset_iff]
-      rw [isOpen_iff_forall_mem_open]
-      rintro ⟨φ₀, ψ₀⟩ H
-      obtain ⟨L, hL, hKL, hLU⟩ := exists_compact_between (hK.image φ₀.2) (hU.preimage ψ₀.2) H
-      use { φ : C(α, β) | φ '' K ⊆ interior L } ×ˢ { ψ : C(β, γ) | ψ '' L ⊆ U }
-      -- porting note: typing hint `: φ '' K ⊆ interior L` wasn't previously required
-      use fun ⟨φ, ψ⟩ ⟨(hφ : φ '' K ⊆ interior L), hψ⟩ =>
-        subset_trans hφ (interior_subset.trans <| image_subset_iff.mp hψ)
-      use (ContinuousMap.isOpen_gen hK isOpen_interior).prod (ContinuousMap.isOpen_gen hL hU)
-      exact mem_prod.mpr ⟨hKL, image_subset_iff.mpr hLU⟩)
+theorem continuous_comp' [LocallyCompactPair β γ] :
+    Continuous fun x : C(α, β) × C(β, γ) => x.2.comp x.1 := by
+  simp_rw [continuous_iff_continuousAt, ContinuousAt, tendsto_nhds_compactOpen]
+  intro ⟨f, g⟩ K hK U hU (hKU : MapsTo (g ∘ f) K U)
+  obtain ⟨L, hKL, hLc, hLU⟩ : ∃ L ∈ 𝓝ˢ (f '' K), IsCompact L ∧ MapsTo g L U :=
+    exists_mem_nhdsSet_isCompact_mapsTo g.continuous (hK.image f.continuous) hU
+      (mapsTo_image_iff.2 hKU)
+  rw [← subset_interior_iff_mem_nhdsSet, ← mapsTo'] at hKL
+  exact ((eventually_mapsTo hK isOpen_interior hKL).prod_nhds
+    (eventually_mapsTo hLc hU hLU)).mono fun ⟨f', g'⟩ ⟨hf', hg'⟩ ↦
+      hg'.comp <| hf'.mono_right interior_subset
 #align continuous_map.continuous_comp' ContinuousMap.continuous_comp'
 
-theorem continuous.comp' {X : Type*} [TopologicalSpace X] [LocallyCompactSpace β] {f : X → C(α, β)}
+theorem continuous.comp' {X : Type*} [TopologicalSpace X] [LocallyCompactPair β γ] {f : X → C(α, β)}
     {g : X → C(β, γ)} (hf : Continuous f) (hg : Continuous g) :
     Continuous fun x => (g x).comp (f x) :=
   continuous_comp'.comp (hf.prod_mk hg : Continuous fun x => (f x, g x))
@@ -168,30 +175,18 @@ end Functorial
 
 section Ev
 
-/-- The evaluation map `C(α, β) × α → β` is continuous if `α` is locally compact.
-
-See also `ContinuousMap.continuous_eval` -/
-theorem continuous_eval' [LocallyCompactSpace α] : Continuous fun p : C(α, β) × α => p.1 p.2 :=
-  continuous_iff_continuousAt.mpr fun ⟨f, x⟩ n hn =>
-    let ⟨v, vn, vo, fxv⟩ := mem_nhds_iff.mp hn
-    have : v ∈ 𝓝 (f x) := IsOpen.mem_nhds vo fxv
-    let ⟨s, hs, sv, sc⟩ :=
-      LocallyCompactSpace.local_compact_nhds x (f ⁻¹' v) (f.continuous.tendsto x this)
-    let ⟨u, us, uo, xu⟩ := mem_nhds_iff.mp hs
-    show (fun p : C(α, β) × α => p.1 p.2) ⁻¹' n ∈ 𝓝 (f, x) from
-      let w := CompactOpen.gen s v ×ˢ u
-      have : w ⊆ (fun p : C(α, β) × α => p.1 p.2) ⁻¹' n := fun ⟨f', x'⟩ ⟨hf', hx'⟩ =>
-        vn <| hf' <| mem_image_of_mem f' (us hx')
-        --Porting note: The following `calc` block fails here.
-        --calc
-        --  f' x' ∈ f' '' s := mem_image_of_mem f' (us hx')
-        --  _ ⊆ v := hf'
-        --  _ ⊆ n := vn
-
-      have : IsOpen w := (ContinuousMap.isOpen_gen sc vo).prod uo
-      have : (f, x) ∈ w := ⟨image_subset_iff.mpr sv, xu⟩
-      mem_nhds_iff.mpr ⟨w, by assumption, by assumption, by assumption⟩
-#align continuous_map.continuous_eval' ContinuousMap.continuous_eval'
+/-- The evaluation map `C(α, β) × α → β` is continuous
+if `α, β` is a locally compact pair of spaces. -/
+@[continuity]
+theorem continuous_eval [LocallyCompactPair α β] : Continuous fun p : C(α, β) × α => p.1 p.2 := by
+  simp_rw [continuous_iff_continuousAt, ContinuousAt, (nhds_basis_opens _).tendsto_right_iff]
+  rintro ⟨f, x⟩ U ⟨hx : f x ∈ U, hU : IsOpen U⟩
+  rcases exists_mem_nhds_isCompact_mapsTo f.continuous (hU.mem_nhds hx) with ⟨K, hxK, hK, hKU⟩
+  filter_upwards [prod_mem_nhds (eventually_mapsTo hK hU hKU) hxK] using fun _ h ↦ h.1 h.2
+#align continuous_map.continuous_eval' ContinuousMap.continuous_eval
+#align continuous_map.continuous_eval ContinuousMap.continuous_eval
+
+@[deprecated] alias continuous_eval' := continuous_eval
 
 /-- Evaluation of a continuous map `f` at a point `a` is continuous in `f`.
 
@@ -395,13 +390,13 @@ theorem continuous_curry [LocallyCompactSpace (α × β)] :
   apply continuous_of_continuous_uncurry
   apply continuous_of_continuous_uncurry
   rw [← (Homeomorph.prodAssoc _ _ _).symm.comp_continuous_iff']
-  exact continuous_eval'
+  exact continuous_eval
 #align continuous_map.continuous_curry ContinuousMap.continuous_curry
 
 /-- The uncurried form of a continuous map `α → C(β, γ)` is a continuous map `α × β → γ`. -/
 theorem continuous_uncurry_of_continuous [LocallyCompactSpace β] (f : C(α, C(β, γ))) :
     Continuous (Function.uncurry fun x y => f x y) :=
-  continuous_eval'.comp <| f.continuous.prod_map continuous_id
+  continuous_eval.comp <| f.continuous.prod_map continuous_id
 #align continuous_map.continuous_uncurry_of_continuous ContinuousMap.continuous_uncurry_of_continuous
 
 /-- The uncurried form of a continuous map `α → C(β, γ)` as a continuous map `α × β → γ` (if `β` is
@@ -417,7 +412,7 @@ theorem continuous_uncurry [LocallyCompactSpace α] [LocallyCompactSpace β] :
     Continuous (uncurry : C(α, C(β, γ)) → C(α × β, γ)) := by
   apply continuous_of_continuous_uncurry
   rw [← (Homeomorph.prodAssoc _ _ _).comp_continuous_iff']
-  apply continuous_eval'.comp (continuous_eval'.prod_map continuous_id)
+  apply continuous_eval.comp (continuous_eval.prod_map continuous_id)
 #align continuous_map.continuous_uncurry ContinuousMap.continuous_uncurry
 
 /-- The family of constant maps: `β → C(α, β)` as a continuous map. -/
feat(Topology/Order): upgrade continuous_generateFrom to an iff (#9259)

Similarly, upgrade tendsto_nhds_generateFrom, IsTopologicalBasis.continuous, Topology.IsLower.continuous_of_Ici, and Topology.IsUpper.continuous_iff_Iic.

The old lemmas are now deprecated, and the new ones have _iff in their names. Once we remove the old lemmas, we can drop the _iff suffixes.

Diff
@@ -103,7 +103,7 @@ private theorem preimage_gen {s : Set α} {u : Set γ} :
 
 /-- C(α, -) is a functor. -/
 theorem continuous_comp : Continuous (ContinuousMap.comp g : C(α, β) → C(α, γ)) :=
-  continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ => by
+  continuous_generateFrom_iff.2 fun m ⟨s, hs, u, hu, hm⟩ => by
     rw [hm, preimage_gen g]; exact ContinuousMap.isOpen_gen hs (hu.preimage g.2)
 #align continuous_map.continuous_comp ContinuousMap.continuous_comp
 
@@ -129,7 +129,7 @@ private theorem image_gen {s : Set α} (_ : IsCompact s) {u : Set γ} (_ : IsOpe
 
 /-- C(-, γ) is a functor. -/
 theorem continuous_comp_left : Continuous (fun g => g.comp f : C(β, γ) → C(α, γ)) :=
-  continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ => by
+  continuous_generateFrom_iff.2 fun m ⟨s, hs, u, hu, hm⟩ => by
     rw [hm, image_gen f hs hu]
     exact ContinuousMap.isOpen_gen (hs.image f.2) hu
 #align continuous_map.continuous_comp_left ContinuousMap.continuous_comp_left
@@ -138,7 +138,7 @@ theorem continuous_comp_left : Continuous (fun g => g.comp f : C(β, γ) → C(
   locally compact. This is Prop. 9 of Chap. X, §3, №. 4 of Bourbaki's *Topologie Générale*. -/
 theorem continuous_comp' [LocallyCompactSpace β] :
     Continuous fun x : C(α, β) × C(β, γ) => x.2.comp x.1 :=
-  continuous_generateFrom
+  continuous_generateFrom_iff.2
     (by
       rintro M ⟨K, hK, U, hU, rfl⟩
       conv =>
@@ -338,7 +338,7 @@ theorem image_coev {y : β} (s : Set α) : coev α β y '' s = ({y} : Set β) ×
 
 -- The coevaluation map β → C(α, β × α) is continuous (always).
 theorem continuous_coev : Continuous (coev α β) :=
-  continuous_generateFrom <| by
+  continuous_generateFrom_iff.2 <| by
     rintro _ ⟨s, sc, u, uo, rfl⟩
     rw [isOpen_iff_forall_mem_open]
     intro y hy
chore(Topology/{Compactness/Compact}, Irreducible}): rename type variables (#7591)

X, Y, Z are standard mathematical names for topological spaces. As discussed on zulip, let us rename them.

As a drive-by commit, re-use the declared variables $\iota$, $s$ and $t$ (more) when stating theorems.

Co-authored-by: grunweg <grunweg@posteo.de>

Diff
@@ -201,7 +201,7 @@ assumptions. -/
 theorem continuous_eval_const (a : α) :
     Continuous fun f : C(α, β) => f a := by
   refine continuous_def.2 fun U hU ↦ ?_
-  convert ContinuousMap.isOpen_gen (isCompact_singleton (a := a)) hU using 1
+  convert ContinuousMap.isOpen_gen (isCompact_singleton (x := a)) hU using 1
   ext; simp [CompactOpen.gen]
 #align continuous_map.continuous_eval_const' ContinuousMap.continuous_eval_const
 #align continuous_map.continuous_eval_const ContinuousMap.continuous_eval_const
chore(Topology): minimize some imports (#7775)

For faster build times and clearer dependencies. No attempt at being exhaustive.

The new import in Clopen.lean had been transitively imported before.

Diff
@@ -4,9 +4,6 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Reid Barton
 -/
 import Mathlib.Topology.ContinuousFunction.Basic
-import Mathlib.Topology.Homeomorph
-import Mathlib.Topology.Compactness.Compact
-import Mathlib.Topology.Maps
 
 #align_import topology.compact_open from "leanprover-community/mathlib"@"4c19a16e4b705bf135cf9a80ac18fcc99c438514"
 
chore(Topology/SubsetProperties): Refactor SubsetProperties.lean (#7628)

Split up the 2000-line Topology/SubsetProperties.lean into several smaller files. Not only is it too huge, but the name is very unhelpful, since actually about 90% of the file is about compactness; I've moved this material into various files inside a new subdirectory Topology/Compactness/.

Diff
@@ -5,7 +5,7 @@ Authors: Reid Barton
 -/
 import Mathlib.Topology.ContinuousFunction.Basic
 import Mathlib.Topology.Homeomorph
-import Mathlib.Topology.SubsetProperties
+import Mathlib.Topology.Compactness.Compact
 import Mathlib.Topology.Maps
 
 #align_import topology.compact_open from "leanprover-community/mathlib"@"4c19a16e4b705bf135cf9a80ac18fcc99c438514"
feat: define weakly locally compact spaces (#6770)
Diff
@@ -292,7 +292,7 @@ theorem tendsto_compactOpen_iff_forall {ι : Type*} {l : Filter ι} (F : ι →
 
 /-- A family `F` of functions in `C(α, β)` converges in the compact-open topology, if and only if
 it converges in the compact-open topology on each compact subset of `α`. -/
-theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space β]
+theorem exists_tendsto_compactOpen_iff_forall [WeaklyLocallyCompactSpace α] [T2Space β]
     {ι : Type*} {l : Filter ι} [Filter.NeBot l] (F : ι → C(α, β)) :
     (∃ f, Filter.Tendsto F l (𝓝 f)) ↔
     ∀ (s : Set α) (hs : IsCompact s), ∃ f, Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 f) := by
chore: golf some proofs, add helper lemmas (#6769)
Diff
@@ -314,11 +314,7 @@ theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space
       exact tendsto_nhds_unique h₁ h₂
     -- So glue the `f s hs` together and prove that this glued function `f₀` is a limit on each
     -- compact set `s`
-    have hs : ∀ x : α, ∃ (s : _), IsCompact s ∧ s ∈ 𝓝 x := by
-      intro x
-      obtain ⟨s, hs, hs'⟩ := exists_compact_mem_nhds x
-      exact ⟨s, hs, hs'⟩
-    refine ⟨liftCover' _ _ h hs, ?_⟩
+    refine ⟨liftCover' _ _ h exists_compact_mem_nhds, ?_⟩
     rw [tendsto_compactOpen_iff_forall]
     intro s hs
     rw [liftCover_restrict']
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -43,7 +43,7 @@ namespace ContinuousMap
 
 section CompactOpen
 
-variable {α : Type _} {β : Type _} {γ : Type _}
+variable {α : Type*} {β : Type*} {γ : Type*}
 
 variable [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ]
 
@@ -161,7 +161,7 @@ theorem continuous_comp' [LocallyCompactSpace β] :
       exact mem_prod.mpr ⟨hKL, image_subset_iff.mpr hLU⟩)
 #align continuous_map.continuous_comp' ContinuousMap.continuous_comp'
 
-theorem continuous.comp' {X : Type _} [TopologicalSpace X] [LocallyCompactSpace β] {f : X → C(α, β)}
+theorem continuous.comp' {X : Type*} [TopologicalSpace X] [LocallyCompactSpace β] {f : X → C(α, β)}
     {g : X → C(β, γ)} (hf : Continuous f) (hg : Continuous g) :
     Continuous fun x => (g x).comp (f x) :=
   continuous_comp'.comp (hf.prod_mk hg : Continuous fun x => (f x, g x))
@@ -277,13 +277,13 @@ theorem nhds_compactOpen_eq_sInf_nhds_induced (f : C(α, β)) :
   simp [nhds_iInf, nhds_induced]
 #align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced
 
-theorem tendsto_compactOpen_restrict {ι : Type _} {l : Filter ι} {F : ι → C(α, β)} {f : C(α, β)}
+theorem tendsto_compactOpen_restrict {ι : Type*} {l : Filter ι} {F : ι → C(α, β)} {f : C(α, β)}
     (hFf : Filter.Tendsto F l (𝓝 f)) (s : Set α) :
     Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) :=
   (continuous_restrict s).continuousAt.tendsto.comp hFf
 #align continuous_map.tendsto_compact_open_restrict ContinuousMap.tendsto_compactOpen_restrict
 
-theorem tendsto_compactOpen_iff_forall {ι : Type _} {l : Filter ι} (F : ι → C(α, β)) (f : C(α, β)) :
+theorem tendsto_compactOpen_iff_forall {ι : Type*} {l : Filter ι} (F : ι → C(α, β)) (f : C(α, β)) :
     Filter.Tendsto F l (𝓝 f) ↔
     ∀ (s) (hs : IsCompact s), Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) := by
     rw [compactOpen_eq_sInf_induced]
@@ -293,7 +293,7 @@ theorem tendsto_compactOpen_iff_forall {ι : Type _} {l : Filter ι} (F : ι →
 /-- A family `F` of functions in `C(α, β)` converges in the compact-open topology, if and only if
 it converges in the compact-open topology on each compact subset of `α`. -/
 theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space β]
-    {ι : Type _} {l : Filter ι} [Filter.NeBot l] (F : ι → C(α, β)) :
+    {ι : Type*} {l : Filter ι} [Filter.NeBot l] (F : ι → C(α, β)) :
     (∃ f, Filter.Tendsto F l (𝓝 f)) ↔
     ∀ (s : Set α) (hs : IsCompact s), ∃ f, Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 f) := by
   constructor
@@ -451,7 +451,7 @@ open ContinuousMap
 
 namespace Homeomorph
 
-variable {α : Type _} {β : Type _} {γ : Type _}
+variable {α : Type*} {β : Type*} {γ : Type*}
 
 variable [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ]
 
@@ -489,7 +489,7 @@ end Homeomorph
 
 section QuotientMap
 
-variable {X₀ X Y Z : Type _} [TopologicalSpace X₀] [TopologicalSpace X] [TopologicalSpace Y]
+variable {X₀ X Y Z : Type*} [TopologicalSpace X₀] [TopologicalSpace X] [TopologicalSpace Y]
   [TopologicalSpace Z] [LocallyCompactSpace Y] {f : X₀ → X}
 
 theorem QuotientMap.continuous_lift_prod_left (hf : QuotientMap f) {g : X × Y → Z}
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2018 Reid Barton. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Reid Barton
-
-! This file was ported from Lean 3 source module topology.compact_open
-! leanprover-community/mathlib commit 4c19a16e4b705bf135cf9a80ac18fcc99c438514
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Topology.ContinuousFunction.Basic
 import Mathlib.Topology.Homeomorph
 import Mathlib.Topology.SubsetProperties
 import Mathlib.Topology.Maps
 
+#align_import topology.compact_open from "leanprover-community/mathlib"@"4c19a16e4b705bf135cf9a80ac18fcc99c438514"
+
 /-!
 # The compact-open topology
 
feat: homeomorphism between C(X, Σ i, Y i) and Σ i, C(X, Y i) (#5673)

This is a follow-up to #4325.

Diff
@@ -132,7 +132,6 @@ private theorem image_gen {s : Set α} (_ : IsCompact s) {u : Set γ} (_ : IsOpe
   ext ⟨g, _⟩
   change g ∘ f '' s ⊆ u ↔ g '' (f '' s) ⊆ u
   rw [Set.image_comp]
---#align continuous_map.image_gen continuous_map.image_gen
 
 /-- C(-, γ) is a functor. -/
 theorem continuous_comp_left : Continuous (fun g => g.comp f : C(β, γ) → C(α, γ)) :=
feat: composition of ContinuousMaps is inducing (#5652)

If g : C(β, γ) is inducing, then fun f : C(α, β) ↦ g.comp f is inducing.

Diff
@@ -87,6 +87,11 @@ instance compactOpen : TopologicalSpace C(α, β) :=
     { m | ∃ (s : Set α) (_ : IsCompact s) (u : Set β) (_ : IsOpen u), m = CompactOpen.gen s u }
 #align continuous_map.compact_open ContinuousMap.compactOpen
 
+/-- Definition of `ContinuousMap.compactOpen` in terms of `Set.image2`. -/
+theorem compactOpen_eq : @compactOpen α β _ _ =
+    .generateFrom (Set.image2 CompactOpen.gen {s | IsCompact s} {t | IsOpen t}) :=
+  congr_arg TopologicalSpace.generateFrom <| Set.ext fun _ ↦ by simp [eq_comm]
+
 protected theorem isOpen_gen {s : Set α} (hs : IsCompact s) {u : Set β} (hu : IsOpen u) :
     IsOpen (CompactOpen.gen s u) :=
   TopologicalSpace.GenerateOpen.basic _ (by dsimp [mem_setOf_eq]; tauto)
@@ -96,19 +101,30 @@ section Functorial
 
 variable (g : C(β, γ))
 
-private theorem preimage_gen {s : Set α} (_ : IsCompact s) {u : Set γ} (_ : IsOpen u) :
+private theorem preimage_gen {s : Set α} {u : Set γ} :
     ContinuousMap.comp g ⁻¹' CompactOpen.gen s u = CompactOpen.gen s (g ⁻¹' u) := by
   ext ⟨f, _⟩
   change g ∘ f '' s ⊆ u ↔ f '' s ⊆ g ⁻¹' u
   rw [image_comp, image_subset_iff]
---#align continuous_map.preimage_gen ContinuousMap.preimage_gen
 
 /-- C(α, -) is a functor. -/
 theorem continuous_comp : Continuous (ContinuousMap.comp g : C(α, β) → C(α, γ)) :=
   continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ => by
-    rw [hm, preimage_gen g hs hu]; exact ContinuousMap.isOpen_gen hs (hu.preimage g.2)
+    rw [hm, preimage_gen g]; exact ContinuousMap.isOpen_gen hs (hu.preimage g.2)
 #align continuous_map.continuous_comp ContinuousMap.continuous_comp
 
+/-- If `g : C(β, γ)` is a topology inducing map, then the composition
+`ContinuousMap.comp g : C(α, β) → C(α, γ)` is a topology inducing map too. -/
+theorem inducing_comp (hg : Inducing g) : Inducing (g.comp : C(α, β) → C(α, γ)) where
+  induced := by
+    simp only [compactOpen_eq, induced_generateFrom_eq, image_image2, preimage_gen,
+      hg.setOf_isOpen, image2_image_right]
+
+/-- If `g : C(β, γ)` is a topological embedding, then the composition
+`ContinuousMap.comp g : C(α, β) → C(α, γ)` is an embedding too. -/
+theorem embedding_comp (hg : Embedding g) : Embedding (g.comp : C(α, β) → C(α, γ)) :=
+  ⟨inducing_comp g hg.1, fun _ _ ↦ (cancel_left hg.2).1⟩
+
 variable (f : C(α, β))
 
 private theorem image_gen {s : Set α} (_ : IsCompact s) {u : Set γ} (_ : IsOpen u) :
feat: generalize&merge ContinuousMap.continuous_eval_const{,'} (#5649)

We had continuity of fun f : C(X, Y) ↦ f a in two cases:

  • X is a locally compact space;
  • X is a compact space and Y is a metric space.

In fact, it is true in general topological spaces.

Diff
@@ -184,30 +184,36 @@ theorem continuous_eval' [LocallyCompactSpace α] : Continuous fun p : C(α, β)
       mem_nhds_iff.mpr ⟨w, by assumption, by assumption, by assumption⟩
 #align continuous_map.continuous_eval' ContinuousMap.continuous_eval'
 
-/-- See also `ContinuousMap.continuous_eval_const` -/
-theorem continuous_eval_const' [LocallyCompactSpace α] (a : α) :
-    Continuous fun f : C(α, β) => f a :=
-  continuous_eval'.comp (continuous_id.prod_mk continuous_const)
-#align continuous_map.continuous_eval_const' ContinuousMap.continuous_eval_const'
-
-/-- See also `ContinuousMap.continuous_coe` -/
-theorem continuous_coe' [LocallyCompactSpace α] : @Continuous C(α, β) (α → β) _ _ (↑) :=
-  continuous_pi continuous_eval_const'
-#align continuous_map.continuous_coe' ContinuousMap.continuous_coe'
+/-- Evaluation of a continuous map `f` at a point `a` is continuous in `f`.
+
+Porting note: merged `continuous_eval_const` with `continuous_eval_const'` removing unneeded
+assumptions. -/
+@[continuity]
+theorem continuous_eval_const (a : α) :
+    Continuous fun f : C(α, β) => f a := by
+  refine continuous_def.2 fun U hU ↦ ?_
+  convert ContinuousMap.isOpen_gen (isCompact_singleton (a := a)) hU using 1
+  ext; simp [CompactOpen.gen]
+#align continuous_map.continuous_eval_const' ContinuousMap.continuous_eval_const
+#align continuous_map.continuous_eval_const ContinuousMap.continuous_eval_const
+
+/-- Coercion from `C(α, β)` with compact-open topology to `α → β` with pointwise convergence
+topology is a continuous map.
+
+Porting note: merged `continuous_coe` with `continuous_coe'` removing unneeded assumptions. -/
+theorem continuous_coe : Continuous ((⇑) : C(α, β) → (α → β)) :=
+  continuous_pi continuous_eval_const
+#align continuous_map.continuous_coe' ContinuousMap.continuous_coe
+#align continuous_map.continuous_coe ContinuousMap.continuous_coe
+
+instance [T0Space β] : T0Space C(α, β) :=
+  t0Space_of_injective_of_continuous FunLike.coe_injective continuous_coe
+
+instance [T1Space β] : T1Space C(α, β) :=
+  t1Space_of_injective_of_continuous FunLike.coe_injective continuous_coe
 
 instance [T2Space β] : T2Space C(α, β) :=
-  ⟨by
-    intro f₁ f₂ h
-    obtain ⟨x, hx⟩ := not_forall.mp (mt (FunLike.ext f₁ f₂) h)
-    obtain ⟨u, v, hu, hv, hxu, hxv, huv⟩ := t2_separation hx
-    refine'
-      ⟨CompactOpen.gen {x} u, CompactOpen.gen {x} v,
-        ContinuousMap.isOpen_gen isCompact_singleton hu,
-        ContinuousMap.isOpen_gen isCompact_singleton hv, _, _, _⟩
-    · rwa [CompactOpen.gen, mem_setOf_eq, image_singleton, singleton_subset_iff]
-    · rwa [CompactOpen.gen, mem_setOf_eq, image_singleton, singleton_subset_iff]
-    · rw [disjoint_iff_inter_eq_empty, ← gen_inter, huv.inter_eq,
-        gen_empty_right (singleton_nonempty _)]⟩
+  .of_injective_continuous FunLike.coe_injective continuous_coe
 
 end Ev
 
@@ -274,7 +280,7 @@ theorem tendsto_compactOpen_iff_forall {ι : Type _} {l : Filter ι} (F : ι →
 
 /-- A family `F` of functions in `C(α, β)` converges in the compact-open topology, if and only if
 it converges in the compact-open topology on each compact subset of `α`. -/
-theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space α] [T2Space β]
+theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space β]
     {ι : Type _} {l : Filter ι} [Filter.NeBot l] (F : ι → C(α, β)) :
     (∃ f, Filter.Tendsto F l (𝓝 f)) ↔
     ∀ (s : Set α) (hs : IsCompact s), ∃ f, Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 f) := by
@@ -291,8 +297,8 @@ theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space
       rintro s₁ hs₁ s₂ hs₂ x hxs₁ hxs₂
       haveI := isCompact_iff_compactSpace.mp hs₁
       haveI := isCompact_iff_compactSpace.mp hs₂
-      have h₁ := (continuous_eval_const' (⟨x, hxs₁⟩ : s₁)).continuousAt.tendsto.comp (hf s₁ hs₁)
-      have h₂ := (continuous_eval_const' (⟨x, hxs₂⟩ : s₂)).continuousAt.tendsto.comp (hf s₂ hs₂)
+      have h₁ := (continuous_eval_const (⟨x, hxs₁⟩ : s₁)).continuousAt.tendsto.comp (hf s₁ hs₁)
+      have h₂ := (continuous_eval_const (⟨x, hxs₂⟩ : s₂)).continuousAt.tendsto.comp (hf s₂ hs₂)
       exact tendsto_nhds_unique h₁ h₂
     -- So glue the `f s hs` together and prove that this glued function `f₀` is a limit on each
     -- compact set `s`
@@ -411,7 +417,7 @@ theorem continuous_uncurry [LocallyCompactSpace α] [LocallyCompactSpace β] :
 
 /-- The family of constant maps: `β → C(α, β)` as a continuous map. -/
 def const' : C(β, C(α, β)) :=
-  curry ⟨Prod.fst, continuous_fst⟩
+  curry ContinuousMap.fst
 #align continuous_map.const' ContinuousMap.const'
 
 @[simp]
@@ -444,8 +450,7 @@ def curry [LocallyCompactSpace α] [LocallyCompactSpace β] : C(α × β, γ) 
 #align homeomorph.curry Homeomorph.curry
 
 /-- If `α` has a single element, then `β` is homeomorphic to `C(α, β)`. -/
-def continuousMapOfUnique [Unique α] : β ≃ₜ C(α, β)
-    where
+def continuousMapOfUnique [Unique α] : β ≃ₜ C(α, β) where
   toFun := const α
   invFun f := f default
   left_inv a := rfl
@@ -454,7 +459,7 @@ def continuousMapOfUnique [Unique α] : β ≃ₜ C(α, β)
     rw [Unique.eq_default a]
     rfl
   continuous_toFun := continuous_const'
-  continuous_invFun := continuous_eval'.comp (continuous_id.prod_mk continuous_const)
+  continuous_invFun := continuous_eval_const _
 #align homeomorph.continuous_map_of_unique Homeomorph.continuousMapOfUnique
 
 @[simp]
chore: formatting issues (#4947)

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -84,7 +84,7 @@ theorem gen_empty_right {s : Set α} (h : s.Nonempty) : CompactOpen.gen s (∅ :
 -- The compact-open topology on the space of continuous maps α → β.
 instance compactOpen : TopologicalSpace C(α, β) :=
   TopologicalSpace.generateFrom
-    { m | ∃ (s : Set α)(_ : IsCompact s)(u : Set β)(_ : IsOpen u), m = CompactOpen.gen s u }
+    { m | ∃ (s : Set α) (_ : IsCompact s) (u : Set β) (_ : IsOpen u), m = CompactOpen.gen s u }
 #align continuous_map.compact_open ContinuousMap.compactOpen
 
 protected theorem isOpen_gen {s : Set α} (hs : IsCompact s) {u : Set β} (hu : IsOpen u) :
style: allow _ for an argument in notation3 & replace _foo with _ in notation3 (#4652)
Diff
@@ -230,7 +230,7 @@ on `C(s, β)` for `s` a compact subset of `α`.  The key point of the proof is t
 compact subsets of `α` is equal to the union of compact subsets of the compact subsets of `α`. -/
 theorem compactOpen_eq_sInf_induced :
     (ContinuousMap.compactOpen : TopologicalSpace C(α, β)) =
-      ⨅ (s : Set α) (_hs : IsCompact s),
+      ⨅ (s : Set α) (_ : IsCompact s),
         TopologicalSpace.induced (ContinuousMap.restrict s) ContinuousMap.compactOpen := by
   refine' le_antisymm _ _
   · refine' le_iInf₂ _
chore: fix upper/lowercase in comments (#4360)
  • Run a non-interactive version of fix-comments.py on all files.
  • Go through the diff and manually add/discard/edit chunks.
Diff
@@ -283,7 +283,7 @@ theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space
     exact ⟨f.restrict s, tendsto_compactOpen_restrict hf s⟩
   · intro h
     choose f hf using h
-    -- By uniqueness of limits in a `t2_space`, since `fun i ↦ F i x` tends to both `f s₁ hs₁ x` and
+    -- By uniqueness of limits in a `T2Space`, since `fun i ↦ F i x` tends to both `f s₁ hs₁ x` and
     -- `f s₂ hs₂ x`, we have `f s₁ hs₁ x = f s₂ hs₂ x`
     have h :
       ∀ (s₁) (hs₁ : IsCompact s₁) (s₂) (hs₂ : IsCompact s₂) (x : α) (hxs₁ : x ∈ s₁) (hxs₂ : x ∈ s₂),
@@ -368,7 +368,7 @@ theorem continuous_of_continuous_uncurry (f : α → C(β, γ))
 
 /-- The curried form of a continuous map `α × β → γ` as a continuous map `α → C(β, γ)`.
     If `a × β` is locally compact, this is continuous. If `α` and `β` are both locally
-    compact, then this is a homeomorphism, see `homeomorph.curry`. -/
+    compact, then this is a homeomorphism, see `Homeomorph.curry`. -/
 def curry (f : C(α × β, γ)) : C(α, C(β, γ)) :=
   ⟨_, continuous_curry' f⟩
 #align continuous_map.curry ContinuousMap.curry
@@ -395,7 +395,7 @@ theorem continuous_uncurry_of_continuous [LocallyCompactSpace β] (f : C(α, C(
 
 /-- The uncurried form of a continuous map `α → C(β, γ)` as a continuous map `α × β → γ` (if `β` is
     locally compact). If `α` is also locally compact, then this is a homeomorphism between the two
-    function spaces, see `homeomorph.curry`. -/
+    function spaces, see `Homeomorph.curry`. -/
 @[simps]
 def uncurry [LocallyCompactSpace β] (f : C(α, C(β, γ))) : C(α × β, γ) :=
   ⟨_, continuous_uncurry_of_continuous f⟩
chore: Rename to sSup/iSup (#3938)

As discussed on Zulip

Renames

  • supₛsSup
  • infₛsInf
  • supᵢiSup
  • infᵢiInf
  • bsupₛbsSup
  • binfₛbsInf
  • bsupᵢbiSup
  • binfᵢbiInf
  • csupₛcsSup
  • cinfₛcsInf
  • csupᵢciSup
  • cinfᵢciInf
  • unionₛsUnion
  • interₛsInter
  • unionᵢiUnion
  • interᵢiInter
  • bunionₛbsUnion
  • binterₛbsInter
  • bunionᵢbiUnion
  • binterᵢbiInter

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -228,23 +228,23 @@ theorem compactOpen_le_induced (s : Set α) :
 /-- The compact-open topology on `C(α, β)` is equal to the infimum of the compact-open topologies
 on `C(s, β)` for `s` a compact subset of `α`.  The key point of the proof is that the union of the
 compact subsets of `α` is equal to the union of compact subsets of the compact subsets of `α`. -/
-theorem compactOpen_eq_infₛ_induced :
+theorem compactOpen_eq_sInf_induced :
     (ContinuousMap.compactOpen : TopologicalSpace C(α, β)) =
       ⨅ (s : Set α) (_hs : IsCompact s),
         TopologicalSpace.induced (ContinuousMap.restrict s) ContinuousMap.compactOpen := by
   refine' le_antisymm _ _
-  · refine' le_infᵢ₂ _
+  · refine' le_iInf₂ _
     exact fun s _ => compactOpen_le_induced s
-  simp only [← generateFrom_unionᵢ, induced_generateFrom_eq, ContinuousMap.compactOpen]
+  simp only [← generateFrom_iUnion, induced_generateFrom_eq, ContinuousMap.compactOpen]
   apply TopologicalSpace.generateFrom_anti
   rintro _ ⟨s, hs, u, hu, rfl⟩
-  rw [mem_unionᵢ₂]
+  rw [mem_iUnion₂]
   refine' ⟨s, hs, _, ⟨univ, isCompact_iff_isCompact_univ.mp hs, u, hu, rfl⟩, _⟩
   ext f
   simp only [CompactOpen.gen, mem_setOf_eq, mem_preimage, ContinuousMap.coe_restrict]
   rw [image_comp f ((↑) : s → α)]
   simp
-#align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_infₛ_induced
+#align continuous_map.compact_open_eq_Inf_induced ContinuousMap.compactOpen_eq_sInf_induced
 
 /-- For any subset `s` of `α`, the restriction of continuous functions to `s` is continuous as a
 function from `C(α, β)` to `C(s, β)` with their respective compact-open topologies. -/
@@ -253,11 +253,11 @@ theorem continuous_restrict (s : Set α) : Continuous fun F : C(α, β) => F.res
   exact compactOpen_le_induced s
 #align continuous_map.continuous_restrict ContinuousMap.continuous_restrict
 
-theorem nhds_compactOpen_eq_infₛ_nhds_induced (f : C(α, β)) :
+theorem nhds_compactOpen_eq_sInf_nhds_induced (f : C(α, β)) :
     𝓝 f = ⨅ (s) (hs : IsCompact s), (𝓝 (f.restrict s)).comap (ContinuousMap.restrict s) := by
-  rw [compactOpen_eq_infₛ_induced]
-  simp [nhds_infᵢ, nhds_induced]
-#align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_infₛ_nhds_induced
+  rw [compactOpen_eq_sInf_induced]
+  simp [nhds_iInf, nhds_induced]
+#align continuous_map.nhds_compact_open_eq_Inf_nhds_induced ContinuousMap.nhds_compactOpen_eq_sInf_nhds_induced
 
 theorem tendsto_compactOpen_restrict {ι : Type _} {l : Filter ι} {F : ι → C(α, β)} {f : C(α, β)}
     (hFf : Filter.Tendsto F l (𝓝 f)) (s : Set α) :
@@ -268,8 +268,8 @@ theorem tendsto_compactOpen_restrict {ι : Type _} {l : Filter ι} {F : ι → C
 theorem tendsto_compactOpen_iff_forall {ι : Type _} {l : Filter ι} (F : ι → C(α, β)) (f : C(α, β)) :
     Filter.Tendsto F l (𝓝 f) ↔
     ∀ (s) (hs : IsCompact s), Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) := by
-    rw [compactOpen_eq_infₛ_induced]
-    simp [nhds_infᵢ, nhds_induced, Filter.tendsto_comap_iff, Function.comp]
+    rw [compactOpen_eq_sInf_induced]
+    simp [nhds_iInf, nhds_induced, Filter.tendsto_comap_iff, Function.comp]
 #align continuous_map.tendsto_compact_open_iff_forall ContinuousMap.tendsto_compactOpen_iff_forall
 
 /-- A family `F` of functions in `C(α, β)` converges in the compact-open topology, if and only if
chore: bye-bye, solo bys! (#3825)

This PR puts, with one exception, every single remaining by that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh. The exception is when the by begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.

Essentially this is s/\n *by$/ by/g, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated bys".

Diff
@@ -120,8 +120,7 @@ private theorem image_gen {s : Set α} (_ : IsCompact s) {u : Set γ} (_ : IsOpe
 
 /-- C(-, γ) is a functor. -/
 theorem continuous_comp_left : Continuous (fun g => g.comp f : C(β, γ) → C(α, γ)) :=
-  continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ =>
-    by
+  continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ => by
     rw [hm, image_gen f hs hu]
     exact ContinuousMap.isOpen_gen (hs.image f.2) hu
 #align continuous_map.continuous_comp_left ContinuousMap.continuous_comp_left
@@ -268,8 +267,7 @@ theorem tendsto_compactOpen_restrict {ι : Type _} {l : Filter ι} {F : ι → C
 
 theorem tendsto_compactOpen_iff_forall {ι : Type _} {l : Filter ι} (F : ι → C(α, β)) (f : C(α, β)) :
     Filter.Tendsto F l (𝓝 f) ↔
-      ∀ (s) (hs : IsCompact s), Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) :=
-  by
+    ∀ (s) (hs : IsCompact s), Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 (f.restrict s)) := by
     rw [compactOpen_eq_infₛ_induced]
     simp [nhds_infᵢ, nhds_induced, Filter.tendsto_comap_iff, Function.comp]
 #align continuous_map.tendsto_compact_open_iff_forall ContinuousMap.tendsto_compactOpen_iff_forall
@@ -279,8 +277,7 @@ it converges in the compact-open topology on each compact subset of `α`. -/
 theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space α] [T2Space β]
     {ι : Type _} {l : Filter ι} [Filter.NeBot l] (F : ι → C(α, β)) :
     (∃ f, Filter.Tendsto F l (𝓝 f)) ↔
-      ∀ (s : Set α) (hs : IsCompact s), ∃ f, Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 f) :=
-  by
+    ∀ (s : Set α) (hs : IsCompact s), ∃ f, Filter.Tendsto (fun i => (F i).restrict s) l (𝓝 f) := by
   constructor
   · rintro ⟨f, hf⟩ s _
     exact ⟨f.restrict s, tendsto_compactOpen_restrict hf s⟩
@@ -290,8 +287,7 @@ theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space
     -- `f s₂ hs₂ x`, we have `f s₁ hs₁ x = f s₂ hs₂ x`
     have h :
       ∀ (s₁) (hs₁ : IsCompact s₁) (s₂) (hs₂ : IsCompact s₂) (x : α) (hxs₁ : x ∈ s₁) (hxs₂ : x ∈ s₂),
-        f s₁ hs₁ ⟨x, hxs₁⟩ = f s₂ hs₂ ⟨x, hxs₂⟩ :=
-      by
+        f s₁ hs₁ ⟨x, hxs₁⟩ = f s₂ hs₂ ⟨x, hxs₂⟩ := by
       rintro s₁ hs₁ s₂ hs₂ x hxs₁ hxs₂
       haveI := isCompact_iff_compactSpace.mp hs₁
       haveI := isCompact_iff_compactSpace.mp hs₂
@@ -300,8 +296,7 @@ theorem exists_tendsto_compactOpen_iff_forall [LocallyCompactSpace α] [T2Space
       exact tendsto_nhds_unique h₁ h₂
     -- So glue the `f s hs` together and prove that this glued function `f₀` is a limit on each
     -- compact set `s`
-    have hs : ∀ x : α, ∃ (s : _), IsCompact s ∧ s ∈ 𝓝 x :=
-      by
+    have hs : ∀ x : α, ∃ (s : _), IsCompact s ∧ s ∈ 𝓝 x := by
       intro x
       obtain ⟨s, hs, hs'⟩ := exists_compact_mem_nhds x
       exact ⟨s, hs, hs'⟩
@@ -483,8 +478,7 @@ variable {X₀ X Y Z : Type _} [TopologicalSpace X₀] [TopologicalSpace X] [Top
 theorem QuotientMap.continuous_lift_prod_left (hf : QuotientMap f) {g : X × Y → Z}
     (hg : Continuous fun p : X₀ × Y => g (f p.1, p.2)) : Continuous g := by
   let Gf : C(X₀, C(Y, Z)) := ContinuousMap.curry ⟨_, hg⟩
-  have h : ∀ x : X, Continuous fun y => g (x, y) :=
-    by
+  have h : ∀ x : X, Continuous fun y => g (x, y) := by
     intro x
     obtain ⟨x₀, rfl⟩ := hf.surjective x
     exact (Gf x₀).continuous
chore: add tests for continuity and golf some proofs (#3400)
Diff
@@ -321,7 +321,7 @@ variable (α β)
 /-- The coevaluation map `β → C(α, β × α)` sending a point `x : β` to the continuous function
 on `α` sending `y` to `(x, y)`. -/
 def coev (b : β) : C(α, β × α) :=
-  ⟨Prod.mk b, continuous_const.prod_mk continuous_id⟩
+  { toFun := Prod.mk b }
 #align continuous_map.coev ContinuousMap.coev
 
 variable {α β}
chore: address some porting notes mentioning congr (#2595)

Switch to using congr! instead, which is analogous to mathlib 3's congr'.

Diff
@@ -389,12 +389,6 @@ theorem continuous_curry [LocallyCompactSpace (α × β)] :
   apply continuous_of_continuous_uncurry
   apply continuous_of_continuous_uncurry
   rw [← (Homeomorph.prodAssoc _ _ _).symm.comp_continuous_iff']
-  -- Porting note: rest of the proof was: `convert continuous_eval' <;> tidy`
-  have : (Function.uncurry fun x y => (Function.uncurry (fun x y => (curry x) y) x) y) ∘
-    ↑(Homeomorph.prodAssoc C(α × β, γ) α β).symm = fun p => p.fst p.snd := by
-    ext ⟨f, x, y⟩
-    simp [Homeomorph.prodAssoc]
-  rw [this]
   exact continuous_eval'
 #align continuous_map.continuous_curry ContinuousMap.continuous_curry
 
feat: port Topology.CompactOpen (#2123)

Co-authored-by: Arien Malec <arien.malec@gmail.com> Co-authored-by: adamtopaz <github@adamtopaz.com>

Dependencies 8 + 308

309 files ported (97.5%)
135244 lines ported (96.4%)
Show graph

The unported dependencies are