topology.order.hom.basicMathlib.Topology.Order.Hom.Basic

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -98,7 +98,7 @@ instance : ContinuousOrderHomClass (α →Co β) α β
     where
   coe f := f.toFun
   coe_injective' f g h := by obtain ⟨⟨_, _⟩, _⟩ := f; obtain ⟨⟨_, _⟩, _⟩ := g; congr
-  map_rel f := f.monotone'
+  mapRel f := f.monotone'
   map_continuous f := f.continuous_toFun
 
 /-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_to_fun`
Diff
@@ -104,7 +104,7 @@ instance : ContinuousOrderHomClass (α →Co β) α β
 /-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_to_fun`
 directly. -/
 instance : CoeFun (α →Co β) fun _ => α → β :=
-  FunLike.hasCoeToFun
+  DFunLike.hasCoeToFun
 
 #print ContinuousOrderHom.toFun_eq_coe /-
 @[simp]
@@ -116,7 +116,7 @@ theorem toFun_eq_coe {f : α →Co β} : f.toFun = (f : α → β) :=
 #print ContinuousOrderHom.ext /-
 @[ext]
 theorem ext {f g : α →Co β} (h : ∀ a, f a = g a) : f = g :=
-  FunLike.ext f g h
+  DFunLike.ext f g h
 #align continuous_order_hom.ext ContinuousOrderHom.ext
 -/
 
@@ -137,7 +137,7 @@ theorem coe_copy (f : α →Co β) (f' : α → β) (h : f' = f) : ⇑(f.copy f'
 
 #print ContinuousOrderHom.copy_eq /-
 theorem copy_eq (f : α →Co β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
-  FunLike.ext' h
+  DFunLike.ext' h
 #align continuous_order_hom.copy_eq ContinuousOrderHom.copy_eq
 -/
 
@@ -215,7 +215,7 @@ theorem id_comp (f : α →Co β) : (ContinuousOrderHom.id β).comp f = f :=
 #print ContinuousOrderHom.cancel_right /-
 theorem cancel_right {g₁ g₂ : β →Co γ} {f : α →Co β} (hf : Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
-  ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
+  ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, congr_arg _⟩
 #align continuous_order_hom.cancel_right ContinuousOrderHom.cancel_right
 -/
 
@@ -232,7 +232,7 @@ instance : Preorder (α →Co β) :=
 end Preorder
 
 instance [PartialOrder β] : PartialOrder (α →Co β) :=
-  PartialOrder.lift _ FunLike.coe_injective
+  PartialOrder.lift _ DFunLike.coe_injective
 
 end ContinuousOrderHom
 
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yaël Dillies
 -/
-import Mathbin.Order.Hom.Basic
-import Mathbin.Topology.ContinuousFunction.Basic
+import Order.Hom.Basic
+import Topology.ContinuousFunction.Basic
 
 #align_import topology.order.hom.basic from "leanprover-community/mathlib"@"b6da1a0b3e7cd83b1f744c49ce48ef8c6307d2f6"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Yaël Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yaël Dillies
-
-! This file was ported from Lean 3 source module topology.order.hom.basic
-! leanprover-community/mathlib commit b6da1a0b3e7cd83b1f744c49ce48ef8c6307d2f6
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Order.Hom.Basic
 import Mathbin.Topology.ContinuousFunction.Basic
 
+#align_import topology.order.hom.basic from "leanprover-community/mathlib"@"b6da1a0b3e7cd83b1f744c49ce48ef8c6307d2f6"
+
 /-!
 # Continuous order homomorphisms
 
Diff
@@ -46,7 +46,6 @@ structure ContinuousOrderHom (α β : Type _) [Preorder α] [Preorder β] [Topol
 #align continuous_order_hom ContinuousOrderHom
 -/
 
--- mathport name: «expr →Co »
 infixr:25 " →Co " => ContinuousOrderHom
 
 section
@@ -110,30 +109,40 @@ directly. -/
 instance : CoeFun (α →Co β) fun _ => α → β :=
   FunLike.hasCoeToFun
 
+#print ContinuousOrderHom.toFun_eq_coe /-
 @[simp]
 theorem toFun_eq_coe {f : α →Co β} : f.toFun = (f : α → β) :=
   rfl
 #align continuous_order_hom.to_fun_eq_coe ContinuousOrderHom.toFun_eq_coe
+-/
 
+#print ContinuousOrderHom.ext /-
 @[ext]
 theorem ext {f g : α →Co β} (h : ∀ a, f a = g a) : f = g :=
   FunLike.ext f g h
 #align continuous_order_hom.ext ContinuousOrderHom.ext
+-/
 
+#print ContinuousOrderHom.copy /-
 /-- Copy of a `continuous_order_hom` with a new `continuous_map` equal to the old one. Useful to fix
 definitional equalities. -/
 protected def copy (f : α →Co β) (f' : α → β) (h : f' = f) : α →Co β :=
   ⟨f.toOrderHom.copy f' <| h, h.symm.subst f.continuous_toFun⟩
 #align continuous_order_hom.copy ContinuousOrderHom.copy
+-/
 
+#print ContinuousOrderHom.coe_copy /-
 @[simp]
 theorem coe_copy (f : α →Co β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
   rfl
 #align continuous_order_hom.coe_copy ContinuousOrderHom.coe_copy
+-/
 
+#print ContinuousOrderHom.copy_eq /-
 theorem copy_eq (f : α →Co β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
   FunLike.ext' h
 #align continuous_order_hom.copy_eq ContinuousOrderHom.copy_eq
+-/
 
 variable (α)
 
@@ -147,17 +156,21 @@ protected def id : α →Co α :=
 instance : Inhabited (α →Co α) :=
   ⟨ContinuousOrderHom.id _⟩
 
+#print ContinuousOrderHom.coe_id /-
 @[simp]
 theorem coe_id : ⇑(ContinuousOrderHom.id α) = id :=
   rfl
 #align continuous_order_hom.coe_id ContinuousOrderHom.coe_id
+-/
 
 variable {α}
 
+#print ContinuousOrderHom.id_apply /-
 @[simp]
 theorem id_apply (a : α) : ContinuousOrderHom.id α a = a :=
   rfl
 #align continuous_order_hom.id_apply ContinuousOrderHom.id_apply
+-/
 
 #print ContinuousOrderHom.comp /-
 /-- Composition of `continuous_order_hom`s as a `continuous_order_hom`. -/
@@ -166,41 +179,55 @@ def comp (f : β →Co γ) (g : α →Co β) : ContinuousOrderHom α γ :=
 #align continuous_order_hom.comp ContinuousOrderHom.comp
 -/
 
+#print ContinuousOrderHom.coe_comp /-
 @[simp]
 theorem coe_comp (f : β →Co γ) (g : α →Co β) : (f.comp g : α → γ) = f ∘ g :=
   rfl
 #align continuous_order_hom.coe_comp ContinuousOrderHom.coe_comp
+-/
 
+#print ContinuousOrderHom.comp_apply /-
 @[simp]
 theorem comp_apply (f : β →Co γ) (g : α →Co β) (a : α) : (f.comp g) a = f (g a) :=
   rfl
 #align continuous_order_hom.comp_apply ContinuousOrderHom.comp_apply
+-/
 
+#print ContinuousOrderHom.comp_assoc /-
 @[simp]
 theorem comp_assoc (f : γ →Co δ) (g : β →Co γ) (h : α →Co β) :
     (f.comp g).comp h = f.comp (g.comp h) :=
   rfl
 #align continuous_order_hom.comp_assoc ContinuousOrderHom.comp_assoc
+-/
 
+#print ContinuousOrderHom.comp_id /-
 @[simp]
 theorem comp_id (f : α →Co β) : f.comp (ContinuousOrderHom.id α) = f :=
   ext fun a => rfl
 #align continuous_order_hom.comp_id ContinuousOrderHom.comp_id
+-/
 
+#print ContinuousOrderHom.id_comp /-
 @[simp]
 theorem id_comp (f : α →Co β) : (ContinuousOrderHom.id β).comp f = f :=
   ext fun a => rfl
 #align continuous_order_hom.id_comp ContinuousOrderHom.id_comp
+-/
 
+#print ContinuousOrderHom.cancel_right /-
 theorem cancel_right {g₁ g₂ : β →Co γ} {f : α →Co β} (hf : Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
   ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
 #align continuous_order_hom.cancel_right ContinuousOrderHom.cancel_right
+-/
 
+#print ContinuousOrderHom.cancel_left /-
 theorem cancel_left {g : β →Co γ} {f₁ f₂ : α →Co β} (hg : Injective g) :
     g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
   ⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
 #align continuous_order_hom.cancel_left ContinuousOrderHom.cancel_left
+-/
 
 instance : Preorder (α →Co β) :=
   Preorder.lift (coeFn : (α →Co β) → α → β)
Diff
@@ -41,7 +41,7 @@ variable {F α β γ δ : Type _}
 #print ContinuousOrderHom /-
 /-- The type of continuous monotone maps from `α` to `β`, aka Priestley homomorphisms. -/
 structure ContinuousOrderHom (α β : Type _) [Preorder α] [Preorder β] [TopologicalSpace α]
-  [TopologicalSpace β] extends OrderHom α β where
+    [TopologicalSpace β] extends OrderHom α β where
   continuous_toFun : Continuous to_fun
 #align continuous_order_hom ContinuousOrderHom
 -/
@@ -56,8 +56,8 @@ section
 
 You should extend this class when you extend `continuous_order_hom`. -/
 class ContinuousOrderHomClass (F : Type _) (α β : outParam <| Type _) [Preorder α] [Preorder β]
-  [TopologicalSpace α] [TopologicalSpace β] extends
-  RelHomClass F ((· ≤ ·) : α → α → Prop) ((· ≤ ·) : β → β → Prop) where
+    [TopologicalSpace α] [TopologicalSpace β] extends
+    RelHomClass F ((· ≤ ·) : α → α → Prop) ((· ≤ ·) : β → β → Prop) where
   map_continuous (f : F) : Continuous f
 #align continuous_order_hom_class ContinuousOrderHomClass
 -/
Diff
@@ -110,57 +110,27 @@ directly. -/
 instance : CoeFun (α →Co β) fun _ => α → β :=
   FunLike.hasCoeToFun
 
-/- warning: continuous_order_hom.to_fun_eq_coe -> ContinuousOrderHom.toFun_eq_coe is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] {f : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3}, Eq.{max (succ u1) (succ u2)} (α -> β) (OrderHom.toFun.{u1, u2} α β _inst_2 _inst_4 (ContinuousOrderHom.toOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (fun (_x : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) => α -> β) (ContinuousOrderHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : TopologicalSpace.{u1} β] [_inst_4 : Preorder.{u1} β] {f : ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3}, Eq.{max (succ u2) (succ u1)} (α -> β) (OrderHom.toFun.{u2, u1} α β _inst_2 _inst_4 (ContinuousOrderHom.toOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_1 _inst_3 (ContinuousOrderHomClass.toContinuousMapClass.{max u2 u1, u2, u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_2 _inst_4 _inst_1 _inst_3 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4))) f)
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.to_fun_eq_coe ContinuousOrderHom.toFun_eq_coeₓ'. -/
 @[simp]
 theorem toFun_eq_coe {f : α →Co β} : f.toFun = (f : α → β) :=
   rfl
 #align continuous_order_hom.to_fun_eq_coe ContinuousOrderHom.toFun_eq_coe
 
-/- warning: continuous_order_hom.ext -> ContinuousOrderHom.ext is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] {f : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3} {g : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (fun (_x : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) => α -> β) (ContinuousOrderHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (fun (_x : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) => α -> β) (ContinuousOrderHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g a)) -> (Eq.{max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) f g)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : TopologicalSpace.{u1} β] [_inst_4 : Preorder.{u1} β] {f : ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3} {g : ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_1 _inst_3 (ContinuousOrderHomClass.toContinuousMapClass.{max u2 u1, u2, u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_2 _inst_4 _inst_1 _inst_3 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_1 _inst_3 (ContinuousOrderHomClass.toContinuousMapClass.{max u2 u1, u2, u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_2 _inst_4 _inst_1 _inst_3 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4))) g a)) -> (Eq.{max (succ u2) (succ u1)} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) f g)
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.ext ContinuousOrderHom.extₓ'. -/
 @[ext]
 theorem ext {f g : α →Co β} (h : ∀ a, f a = g a) : f = g :=
   FunLike.ext f g h
 #align continuous_order_hom.ext ContinuousOrderHom.ext
 
-/- warning: continuous_order_hom.copy -> ContinuousOrderHom.copy is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] (f : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (fun (_x : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) => α -> β) (ContinuousOrderHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)) -> (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] (f : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u1, u2} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_1 _inst_3 (ContinuousOrderHomClass.toContinuousMapClass.{max u1 u2, u1, u2} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_2 _inst_4 _inst_1 _inst_3 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))) f)) -> (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3)
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.copy ContinuousOrderHom.copyₓ'. -/
 /-- Copy of a `continuous_order_hom` with a new `continuous_map` equal to the old one. Useful to fix
 definitional equalities. -/
 protected def copy (f : α →Co β) (f' : α → β) (h : f' = f) : α →Co β :=
   ⟨f.toOrderHom.copy f' <| h, h.symm.subst f.continuous_toFun⟩
 #align continuous_order_hom.copy ContinuousOrderHom.copy
 
-/- warning: continuous_order_hom.coe_copy -> ContinuousOrderHom.coe_copy is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] (f : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (fun (_x : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) => α -> β) (ContinuousOrderHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (fun (_x : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) => α -> β) (ContinuousOrderHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (ContinuousOrderHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h)) f'
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : TopologicalSpace.{u1} β] [_inst_4 : Preorder.{u1} β] (f : ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_1 _inst_3 (ContinuousOrderHomClass.toContinuousMapClass.{max u2 u1, u2, u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_2 _inst_4 _inst_1 _inst_3 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_1 _inst_3 (ContinuousOrderHomClass.toContinuousMapClass.{max u2 u1, u2, u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_2 _inst_4 _inst_1 _inst_3 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4))) (ContinuousOrderHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h)) f'
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.coe_copy ContinuousOrderHom.coe_copyₓ'. -/
 @[simp]
 theorem coe_copy (f : α →Co β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
   rfl
 #align continuous_order_hom.coe_copy ContinuousOrderHom.coe_copy
 
-/- warning: continuous_order_hom.copy_eq -> ContinuousOrderHom.copy_eq is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] (f : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (fun (_x : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) => α -> β) (ContinuousOrderHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)), Eq.{max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (ContinuousOrderHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : TopologicalSpace.{u1} β] [_inst_4 : Preorder.{u1} β] (f : ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_1 _inst_3 (ContinuousOrderHomClass.toContinuousMapClass.{max u2 u1, u2, u1} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_2 _inst_4 _inst_1 _inst_3 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4))) f)), Eq.{max (succ u2) (succ u1)} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) (ContinuousOrderHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h) f
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.copy_eq ContinuousOrderHom.copy_eqₓ'. -/
 theorem copy_eq (f : α →Co β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
   FunLike.ext' h
 #align continuous_order_hom.copy_eq ContinuousOrderHom.copy_eq
@@ -177,12 +147,6 @@ protected def id : α →Co α :=
 instance : Inhabited (α →Co α) :=
   ⟨ContinuousOrderHom.id _⟩
 
-/- warning: continuous_order_hom.coe_id -> ContinuousOrderHom.coe_id is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (ContinuousOrderHom.{u1, u1} α α _inst_2 _inst_2 _inst_1 _inst_1) (fun (_x : ContinuousOrderHom.{u1, u1} α α _inst_2 _inst_2 _inst_1 _inst_1) => α -> α) (ContinuousOrderHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (ContinuousOrderHom.id.{u1} α _inst_1 _inst_2)) (id.{succ u1} α)
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (ContinuousOrderHom.{u1, u1} α α _inst_2 _inst_2 _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => α) _x) (ContinuousMapClass.toFunLike.{u1, u1, u1} (ContinuousOrderHom.{u1, u1} α α _inst_2 _inst_2 _inst_1 _inst_1) α α _inst_1 _inst_1 (ContinuousOrderHomClass.toContinuousMapClass.{u1, u1, u1} (ContinuousOrderHom.{u1, u1} α α _inst_2 _inst_2 _inst_1 _inst_1) α α _inst_2 _inst_2 _inst_1 _inst_1 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2))) (ContinuousOrderHom.id.{u1} α _inst_1 _inst_2)) (id.{succ u1} α)
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.coe_id ContinuousOrderHom.coe_idₓ'. -/
 @[simp]
 theorem coe_id : ⇑(ContinuousOrderHom.id α) = id :=
   rfl
@@ -190,12 +154,6 @@ theorem coe_id : ⇑(ContinuousOrderHom.id α) = id :=
 
 variable {α}
 
-/- warning: continuous_order_hom.id_apply -> ContinuousOrderHom.id_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (ContinuousOrderHom.{u1, u1} α α _inst_2 _inst_2 _inst_1 _inst_1) (fun (_x : ContinuousOrderHom.{u1, u1} α α _inst_2 _inst_2 _inst_1 _inst_1) => α -> α) (ContinuousOrderHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (ContinuousOrderHom.id.{u1} α _inst_1 _inst_2) a) a
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (ContinuousOrderHom.{u1, u1} α α _inst_2 _inst_2 _inst_1 _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => α) _x) (ContinuousMapClass.toFunLike.{u1, u1, u1} (ContinuousOrderHom.{u1, u1} α α _inst_2 _inst_2 _inst_1 _inst_1) α α _inst_1 _inst_1 (ContinuousOrderHomClass.toContinuousMapClass.{u1, u1, u1} (ContinuousOrderHom.{u1, u1} α α _inst_2 _inst_2 _inst_1 _inst_1) α α _inst_2 _inst_2 _inst_1 _inst_1 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2))) (ContinuousOrderHom.id.{u1} α _inst_1 _inst_2) a) a
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.id_apply ContinuousOrderHom.id_applyₓ'. -/
 @[simp]
 theorem id_apply (a : α) : ContinuousOrderHom.id α a = a :=
   rfl
@@ -208,67 +166,37 @@ def comp (f : β →Co γ) (g : α →Co β) : ContinuousOrderHom α γ :=
 #align continuous_order_hom.comp ContinuousOrderHom.comp
 -/
 
-/- warning: continuous_order_hom.coe_comp -> ContinuousOrderHom.coe_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.coe_comp ContinuousOrderHom.coe_compₓ'. -/
 @[simp]
 theorem coe_comp (f : β →Co γ) (g : α →Co β) : (f.comp g : α → γ) = f ∘ g :=
   rfl
 #align continuous_order_hom.coe_comp ContinuousOrderHom.coe_comp
 
-/- warning: continuous_order_hom.comp_apply -> ContinuousOrderHom.comp_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.comp_apply ContinuousOrderHom.comp_applyₓ'. -/
 @[simp]
 theorem comp_apply (f : β →Co γ) (g : α →Co β) (a : α) : (f.comp g) a = f (g a) :=
   rfl
 #align continuous_order_hom.comp_apply ContinuousOrderHom.comp_apply
 
-/- warning: continuous_order_hom.comp_assoc -> ContinuousOrderHom.comp_assoc is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : TopologicalSpace.{u3} γ] [_inst_6 : Preorder.{u3} γ] [_inst_7 : TopologicalSpace.{u4} δ] [_inst_8 : Preorder.{u4} δ] (f : ContinuousOrderHom.{u3, u4} γ δ _inst_6 _inst_8 _inst_5 _inst_7) (g : ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5) (h : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3), Eq.{max (succ u1) (succ u4)} (ContinuousOrderHom.{u1, u4} α δ _inst_2 _inst_8 _inst_1 _inst_7) (ContinuousOrderHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_3 _inst_4 _inst_7 _inst_8 (ContinuousOrderHom.comp.{u2, u3, u4} β γ δ _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f g) h) (ContinuousOrderHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_2 _inst_5 _inst_6 _inst_7 _inst_8 f (ContinuousOrderHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g h))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : TopologicalSpace.{u4} γ] [_inst_6 : Preorder.{u4} γ] [_inst_7 : TopologicalSpace.{u3} δ] [_inst_8 : Preorder.{u3} δ] (f : ContinuousOrderHom.{u4, u3} γ δ _inst_6 _inst_8 _inst_5 _inst_7) (g : ContinuousOrderHom.{u2, u4} β γ _inst_4 _inst_6 _inst_3 _inst_5) (h : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3), Eq.{max (succ u1) (succ u3)} (ContinuousOrderHom.{u1, u3} α δ _inst_2 _inst_8 _inst_1 _inst_7) (ContinuousOrderHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_3 _inst_4 _inst_7 _inst_8 (ContinuousOrderHom.comp.{u2, u4, u3} β γ δ _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f g) h) (ContinuousOrderHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_2 _inst_5 _inst_6 _inst_7 _inst_8 f (ContinuousOrderHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g h))
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.comp_assoc ContinuousOrderHom.comp_assocₓ'. -/
 @[simp]
 theorem comp_assoc (f : γ →Co δ) (g : β →Co γ) (h : α →Co β) :
     (f.comp g).comp h = f.comp (g.comp h) :=
   rfl
 #align continuous_order_hom.comp_assoc ContinuousOrderHom.comp_assoc
 
-/- warning: continuous_order_hom.comp_id -> ContinuousOrderHom.comp_id is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] (f : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3), Eq.{max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (ContinuousOrderHom.comp.{u1, u1, u2} α α β _inst_1 _inst_2 _inst_1 _inst_2 _inst_3 _inst_4 f (ContinuousOrderHom.id.{u1} α _inst_1 _inst_2)) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : TopologicalSpace.{u1} β] [_inst_4 : Preorder.{u1} β] (f : ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3), Eq.{max (succ u2) (succ u1)} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) (ContinuousOrderHom.comp.{u2, u2, u1} α α β _inst_1 _inst_2 _inst_1 _inst_2 _inst_3 _inst_4 f (ContinuousOrderHom.id.{u2} α _inst_1 _inst_2)) f
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.comp_id ContinuousOrderHom.comp_idₓ'. -/
 @[simp]
 theorem comp_id (f : α →Co β) : f.comp (ContinuousOrderHom.id α) = f :=
   ext fun a => rfl
 #align continuous_order_hom.comp_id ContinuousOrderHom.comp_id
 
-/- warning: continuous_order_hom.id_comp -> ContinuousOrderHom.id_comp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] (f : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3), Eq.{max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (ContinuousOrderHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_3 _inst_4 _inst_3 _inst_4 (ContinuousOrderHom.id.{u2} β _inst_3 _inst_4) f) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : TopologicalSpace.{u1} β] [_inst_4 : Preorder.{u1} β] (f : ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3), Eq.{max (succ u2) (succ u1)} (ContinuousOrderHom.{u2, u1} α β _inst_2 _inst_4 _inst_1 _inst_3) (ContinuousOrderHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_3 _inst_4 _inst_3 _inst_4 (ContinuousOrderHom.id.{u1} β _inst_3 _inst_4) f) f
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.id_comp ContinuousOrderHom.id_compₓ'. -/
 @[simp]
 theorem id_comp (f : α →Co β) : (ContinuousOrderHom.id β).comp f = f :=
   ext fun a => rfl
 #align continuous_order_hom.id_comp ContinuousOrderHom.id_comp
 
-/- warning: continuous_order_hom.cancel_right -> ContinuousOrderHom.cancel_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.cancel_right ContinuousOrderHom.cancel_rightₓ'. -/
 theorem cancel_right {g₁ g₂ : β →Co γ} {f : α →Co β} (hf : Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
   ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
 #align continuous_order_hom.cancel_right ContinuousOrderHom.cancel_right
 
-/- warning: continuous_order_hom.cancel_left -> ContinuousOrderHom.cancel_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align continuous_order_hom.cancel_left ContinuousOrderHom.cancel_leftₓ'. -/
 theorem cancel_left {g : β →Co γ} {f₁ f₂ : α →Co β} (hg : Injective g) :
     g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
   ⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
Diff
@@ -101,10 +101,7 @@ def toContinuousMap (f : α →Co β) : C(α, β) :=
 instance : ContinuousOrderHomClass (α →Co β) α β
     where
   coe f := f.toFun
-  coe_injective' f g h := by
-    obtain ⟨⟨_, _⟩, _⟩ := f
-    obtain ⟨⟨_, _⟩, _⟩ := g
-    congr
+  coe_injective' f g h := by obtain ⟨⟨_, _⟩, _⟩ := f; obtain ⟨⟨_, _⟩, _⟩ := g; congr
   map_rel f := f.monotone'
   map_continuous f := f.continuous_toFun
 
Diff
@@ -212,10 +212,7 @@ def comp (f : β →Co γ) (g : α →Co β) : ContinuousOrderHom α γ :=
 -/
 
 /- warning: continuous_order_hom.coe_comp -> ContinuousOrderHom.coe_comp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : TopologicalSpace.{u3} γ] [_inst_6 : Preorder.{u3} γ] (f : ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5) (g : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3), Eq.{max (succ u1) (succ u3)} ((fun (_x : ContinuousOrderHom.{u1, u3} α γ _inst_2 _inst_6 _inst_1 _inst_5) => α -> γ) (ContinuousOrderHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (ContinuousOrderHom.{u1, u3} α γ _inst_2 _inst_6 _inst_1 _inst_5) (fun (_x : ContinuousOrderHom.{u1, u3} α γ _inst_2 _inst_6 _inst_1 _inst_5) => α -> γ) (ContinuousOrderHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (ContinuousOrderHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5) (fun (_x : ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5) => β -> γ) (ContinuousOrderHom.hasCoeToFun.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (fun (_x : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) => α -> β) (ContinuousOrderHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : TopologicalSpace.{u2} γ] [_inst_6 : Preorder.{u2} γ] (f : ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5) (g : ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3), Eq.{max (succ u1) (succ u2)} (forall (a : α), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (ContinuousOrderHom.{u1, u2} α γ _inst_2 _inst_6 _inst_1 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => γ) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u1, u2} (ContinuousOrderHom.{u1, u2} α γ _inst_2 _inst_6 _inst_1 _inst_5) α γ _inst_1 _inst_5 (ContinuousOrderHomClass.toContinuousMapClass.{max u1 u2, u1, u2} (ContinuousOrderHom.{u1, u2} α γ _inst_2 _inst_6 _inst_1 _inst_5) α γ _inst_2 _inst_6 _inst_1 _inst_5 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6))) (ContinuousOrderHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5) β (fun (_x : β) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : β) => γ) _x) (ContinuousMapClass.toFunLike.{max u3 u2, u3, u2} (ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5) β γ _inst_3 _inst_5 (ContinuousOrderHomClass.toContinuousMapClass.{max u3 u2, u3, u2} (ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5) β γ _inst_4 _inst_6 _inst_3 _inst_5 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u1 u3, u1, u3} (ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_1 _inst_3 (ContinuousOrderHomClass.toContinuousMapClass.{max u1 u3, u1, u3} (ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_2 _inst_4 _inst_1 _inst_3 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4))) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align continuous_order_hom.coe_comp ContinuousOrderHom.coe_compₓ'. -/
 @[simp]
 theorem coe_comp (f : β →Co γ) (g : α →Co β) : (f.comp g : α → γ) = f ∘ g :=
@@ -223,10 +220,7 @@ theorem coe_comp (f : β →Co γ) (g : α →Co β) : (f.comp g : α → γ) =
 #align continuous_order_hom.coe_comp ContinuousOrderHom.coe_comp
 
 /- warning: continuous_order_hom.comp_apply -> ContinuousOrderHom.comp_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : TopologicalSpace.{u3} γ] [_inst_6 : Preorder.{u3} γ] (f : ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5) (g : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (ContinuousOrderHom.{u1, u3} α γ _inst_2 _inst_6 _inst_1 _inst_5) (fun (_x : ContinuousOrderHom.{u1, u3} α γ _inst_2 _inst_6 _inst_1 _inst_5) => α -> γ) (ContinuousOrderHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (ContinuousOrderHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5) (fun (_x : ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5) => β -> γ) (ContinuousOrderHom.hasCoeToFun.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (fun (_x : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) => α -> β) (ContinuousOrderHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g a))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : TopologicalSpace.{u2} γ] [_inst_6 : Preorder.{u2} γ] (f : ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5) (g : ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (ContinuousOrderHom.{u1, u2} α γ _inst_2 _inst_6 _inst_1 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => γ) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u1, u2} (ContinuousOrderHom.{u1, u2} α γ _inst_2 _inst_6 _inst_1 _inst_5) α γ _inst_1 _inst_5 (ContinuousOrderHomClass.toContinuousMapClass.{max u1 u2, u1, u2} (ContinuousOrderHom.{u1, u2} α γ _inst_2 _inst_6 _inst_1 _inst_5) α γ _inst_2 _inst_6 _inst_1 _inst_5 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6))) (ContinuousOrderHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5) β (fun (_x : β) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : β) => γ) _x) (ContinuousMapClass.toFunLike.{max u3 u2, u3, u2} (ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5) β γ _inst_3 _inst_5 (ContinuousOrderHomClass.toContinuousMapClass.{max u3 u2, u3, u2} (ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5) β γ _inst_4 _inst_6 _inst_3 _inst_5 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u1 u3, u1, u3} (ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_1 _inst_3 (ContinuousOrderHomClass.toContinuousMapClass.{max u1 u3, u1, u3} (ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_2 _inst_4 _inst_1 _inst_3 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4))) g a))
+<too large>
 Case conversion may be inaccurate. Consider using '#align continuous_order_hom.comp_apply ContinuousOrderHom.comp_applyₓ'. -/
 @[simp]
 theorem comp_apply (f : β →Co γ) (g : α →Co β) (a : α) : (f.comp g) a = f (g a) :=
@@ -268,10 +262,7 @@ theorem id_comp (f : α →Co β) : (ContinuousOrderHom.id β).comp f = f :=
 #align continuous_order_hom.id_comp ContinuousOrderHom.id_comp
 
 /- warning: continuous_order_hom.cancel_right -> ContinuousOrderHom.cancel_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : TopologicalSpace.{u3} γ] [_inst_6 : Preorder.{u3} γ] {g₁ : ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5} {g₂ : ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5} {f : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) (fun (_x : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) => α -> β) (ContinuousOrderHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (ContinuousOrderHom.{u1, u3} α γ _inst_2 _inst_6 _inst_1 _inst_5) (ContinuousOrderHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g₁ f) (ContinuousOrderHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g₂ f)) (Eq.{max (succ u2) (succ u3)} (ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5) g₁ g₂))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : TopologicalSpace.{u2} γ] [_inst_6 : Preorder.{u2} γ] {g₁ : ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5} {g₂ : ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5} {f : ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : α) => β) _x) (ContinuousMapClass.toFunLike.{max u1 u3, u1, u3} (ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_1 _inst_3 (ContinuousOrderHomClass.toContinuousMapClass.{max u1 u3, u1, u3} (ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3) α β _inst_2 _inst_4 _inst_1 _inst_3 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α γ _inst_2 _inst_6 _inst_1 _inst_5) (ContinuousOrderHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g₁ f) (ContinuousOrderHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g₂ f)) (Eq.{max (succ u3) (succ u2)} (ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5) g₁ g₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align continuous_order_hom.cancel_right ContinuousOrderHom.cancel_rightₓ'. -/
 theorem cancel_right {g₁ g₂ : β →Co γ} {f : α →Co β} (hf : Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
@@ -279,10 +270,7 @@ theorem cancel_right {g₁ g₂ : β →Co γ} {f : α →Co β} (hf : Surjectiv
 #align continuous_order_hom.cancel_right ContinuousOrderHom.cancel_right
 
 /- warning: continuous_order_hom.cancel_left -> ContinuousOrderHom.cancel_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : TopologicalSpace.{u3} γ] [_inst_6 : Preorder.{u3} γ] {g : ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5} {f₁ : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3} {f₂ : ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5) (fun (_x : ContinuousOrderHom.{u2, u3} β γ _inst_4 _inst_6 _inst_3 _inst_5) => β -> γ) (ContinuousOrderHom.hasCoeToFun.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (ContinuousOrderHom.{u1, u3} α γ _inst_2 _inst_6 _inst_1 _inst_5) (ContinuousOrderHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g f₁) (ContinuousOrderHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g f₂)) (Eq.{max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α β _inst_2 _inst_4 _inst_1 _inst_3) f₁ f₂))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : TopologicalSpace.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : TopologicalSpace.{u2} γ] [_inst_6 : Preorder.{u2} γ] {g : ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5} {f₁ : ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3} {f₂ : ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5) β (fun (_x : β) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : β) => γ) _x) (ContinuousMapClass.toFunLike.{max u3 u2, u3, u2} (ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5) β γ _inst_3 _inst_5 (ContinuousOrderHomClass.toContinuousMapClass.{max u3 u2, u3, u2} (ContinuousOrderHom.{u3, u2} β γ _inst_4 _inst_6 _inst_3 _inst_5) β γ _inst_4 _inst_6 _inst_3 _inst_5 (ContinuousOrderHom.instContinuousOrderHomClassContinuousOrderHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (ContinuousOrderHom.{u1, u2} α γ _inst_2 _inst_6 _inst_1 _inst_5) (ContinuousOrderHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g f₁) (ContinuousOrderHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g f₂)) (Eq.{max (succ u1) (succ u3)} (ContinuousOrderHom.{u1, u3} α β _inst_2 _inst_4 _inst_1 _inst_3) f₁ f₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align continuous_order_hom.cancel_left ContinuousOrderHom.cancel_leftₓ'. -/
 theorem cancel_left {g : β →Co γ} {f₁ f₂ : α →Co β} (hg : Injective g) :
     g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=

Changes in mathlib4

mathlib3
mathlib4
chore: remove mathport name: <expression> lines (#11928)

Quoting [@digama0](https://github.com/digama0):

These were actually never meant to go in the file, they are basically debugging information and only useful on significantly broken mathport files. You can safely remove all of them.

Diff
@@ -38,7 +38,6 @@ structure ContinuousOrderHom (α β : Type*) [Preorder α] [Preorder β] [Topolo
   continuous_toFun : Continuous toFun
 #align continuous_order_hom ContinuousOrderHom
 
--- mathport name: «expr →Co »
 infixr:25 " →Co " => ContinuousOrderHom
 
 section
chore: classify new lemma porting notes (#11217)

Classifies by adding issue number #10756 to porting notes claiming anything semantically equivalent to:

  • "new lemma"
  • "added lemma"
Diff
@@ -109,7 +109,7 @@ instance : ContinuousOrderHomClass (α →Co β) α β where
   map_monotone f := f.monotone'
   map_continuous f := f.continuous_toFun
 
--- Porting note: new lemma
+-- Porting note (#10756): new lemma
 @[simp] theorem coe_toOrderHom (f : α →Co β) : ⇑f.toOrderHom = f := rfl
 
 theorem toFun_eq_coe {f : α →Co β} : f.toFun = (f : α → β) := rfl
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -43,7 +43,7 @@ infixr:25 " →Co " => ContinuousOrderHom
 
 section
 
--- porting note: extending `ContinuousMapClass` instead of `OrderHomClass`
+-- Porting note: extending `ContinuousMapClass` instead of `OrderHomClass`
 /-- `ContinuousOrderHomClass F α β` states that `F` is a type of continuous monotone maps.
 
 You should extend this class when you extend `ContinuousOrderHom`. -/
@@ -109,7 +109,7 @@ instance : ContinuousOrderHomClass (α →Co β) α β where
   map_monotone f := f.monotone'
   map_continuous f := f.continuous_toFun
 
--- porting note: new lemma
+-- Porting note: new lemma
 @[simp] theorem coe_toOrderHom (f : α →Co β) : ⇑f.toOrderHom = f := rfl
 
 theorem toFun_eq_coe {f : α →Co β} : f.toFun = (f : α → β) := rfl
refactor(Data/FunLike): use unbundled inheritance from FunLike (#8386)

The FunLike hierarchy is very big and gets scanned through each time we need a coercion (via the CoeFun instance). It looks like unbundled inheritance suits Lean 4 better here. The only class that still extends FunLike is EquivLike, since that has a custom coe_injective' field that is easier to implement. All other classes should take FunLike or EquivLike as a parameter.

Zulip thread

Important changes

Previously, morphism classes would be Type-valued and extend FunLike:

/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
  extends FunLike F A B :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))

After this PR, they should be Prop-valued and take FunLike as a parameter:

/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
  [FunLike F A B] : Prop :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))

(Note that A B stay marked as outParam even though they are not purely required to be so due to the FunLike parameter already filling them in. This is required to see through type synonyms, which is important in the category theory library. Also, I think keeping them as outParam is slightly faster.)

Similarly, MyEquivClass should take EquivLike as a parameter.

As a result, every mention of [MyHomClass F A B] should become [FunLike F A B] [MyHomClass F A B].

Remaining issues

Slower (failing) search

While overall this gives some great speedups, there are some cases that are noticeably slower. In particular, a failing application of a lemma such as map_mul is more expensive. This is due to suboptimal processing of arguments. For example:

variable [FunLike F M N] [Mul M] [Mul N] (f : F) (x : M) (y : M)

theorem map_mul [MulHomClass F M N] : f (x * y) = f x * f y

example [AddHomClass F A B] : f (x * y) = f x * f y := map_mul f _ _

Before this PR, applying map_mul f gives the goals [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]. Since M and N are out_params, [MulHomClass F ?M ?N] is synthesized first, supplies values for ?M and ?N and then the Mul M and Mul N instances can be found.

After this PR, the goals become [FunLike F ?M ?N] [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]. Now [FunLike F ?M ?N] is synthesized first, supplies values for ?M and ?N and then the Mul M and Mul N instances can be found, before trying MulHomClass F M N which fails. Since the Mul hierarchy is very big, this can be slow to fail, especially when there is no such Mul instance.

A long-term but harder to achieve solution would be to specify the order in which instance goals get solved. For example, we'd like to change the arguments to map_mul to look like [FunLike F M N] [Mul M] [Mul N] [highPriority <| MulHomClass F M N] because MulHomClass fails or succeeds much faster than the others.

As a consequence, the simpNF linter is much slower since by design it tries and fails to apply many map_ lemmas. The same issue occurs a few times in existing calls to simp [map_mul], where map_mul is tried "too soon" and fails. Thanks to the speedup of leanprover/lean4#2478 the impact is very limited, only in files that already were close to the timeout.

simp not firing sometimes

This affects map_smulₛₗ and related definitions. For simp lemmas Lean apparently uses a slightly different mechanism to find instances, so that rw can find every argument to map_smulₛₗ successfully but simp can't: leanprover/lean4#3701.

Missing instances due to unification failing

Especially in the category theory library, we might sometimes have a type A which is also accessible as a synonym (Bundled A hA).1. Instance synthesis doesn't always work if we have f : A →* B but x * y : (Bundled A hA).1 or vice versa. This seems to be mostly fixed by keeping A B as outParams in MulHomClass F A B. (Presumably because Lean will do a definitional check A =?= (Bundled A hA).1 instead of using the syntax in the discrimination tree.)

Workaround for issues

The timeouts can be worked around for now by specifying which map_mul we mean, either as map_mul f for some explicit f, or as e.g. MonoidHomClass.map_mul.

map_smulₛₗ not firing as simp lemma can be worked around by going back to the pre-FunLike situation and making LinearMap.map_smulₛₗ a simp lemma instead of the generic map_smulₛₗ. Writing simp [map_smulₛₗ _] also works.

Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>

Diff
@@ -48,8 +48,8 @@ section
 
 You should extend this class when you extend `ContinuousOrderHom`. -/
 class ContinuousOrderHomClass (F : Type*) (α β : outParam <| Type*) [Preorder α] [Preorder β]
-    [TopologicalSpace α] [TopologicalSpace β] extends
-    ContinuousMapClass F α β where
+    [TopologicalSpace α] [TopologicalSpace β] [FunLike F α β] extends
+    ContinuousMapClass F α β : Prop where
   map_monotone (f : F) : Monotone f
 #align continuous_order_hom_class ContinuousOrderHomClass
 
@@ -57,7 +57,7 @@ class ContinuousOrderHomClass (F : Type*) (α β : outParam <| Type*) [Preorder
 namespace ContinuousOrderHomClass
 
 variable [Preorder α] [Preorder β] [TopologicalSpace α] [TopologicalSpace β]
-  [ContinuousOrderHomClass F α β]
+  [FunLike F α β] [ContinuousOrderHomClass F α β]
 
 -- See note [lower instance priority]
 instance (priority := 100) toOrderHomClass  :
@@ -98,12 +98,14 @@ def toContinuousMap (f : α →Co β) : C(α, β) :=
   { f with }
 #align continuous_order_hom.to_continuous_map ContinuousOrderHom.toContinuousMap
 
-instance : ContinuousOrderHomClass (α →Co β) α β where
+instance instFunLike : FunLike (α →Co β) α β where
   coe f := f.toFun
   coe_injective' f g h := by
     obtain ⟨⟨_, _⟩, _⟩ := f
     obtain ⟨⟨_, _⟩, _⟩ := g
     congr
+
+instance : ContinuousOrderHomClass (α →Co β) α β where
   map_monotone f := f.monotone'
   map_continuous f := f.continuous_toFun
 
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
@@ -15,7 +15,7 @@ This file defines continuous order homomorphisms, that is maps which are both co
 monotone. They are also called Priestley homomorphisms because they are the morphisms of the
 category of Priestley spaces.
 
-We use the `FunLike` design, so each type of morphisms has a companion typeclass which is meant to
+We use the `DFunLike` design, so each type of morphisms has a companion typeclass which is meant to
 be satisfied by itself and all stricter types.
 
 ## Types of morphisms
@@ -115,7 +115,7 @@ theorem toFun_eq_coe {f : α →Co β} : f.toFun = (f : α → β) := rfl
 
 @[ext]
 theorem ext {f g : α →Co β} (h : ∀ a, f a = g a) : f = g :=
-  FunLike.ext f g h
+  DFunLike.ext f g h
 #align continuous_order_hom.ext ContinuousOrderHom.ext
 
 /-- Copy of a `ContinuousOrderHom` with a new `ContinuousMap` equal to the old one. Useful to fix
@@ -130,7 +130,7 @@ theorem coe_copy (f : α →Co β) (f' : α → β) (h : f' = f) : ⇑(f.copy f'
 #align continuous_order_hom.coe_copy ContinuousOrderHom.coe_copy
 
 theorem copy_eq (f : α →Co β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
-  FunLike.ext' h
+  DFunLike.ext' h
 #align continuous_order_hom.copy_eq ContinuousOrderHom.copy_eq
 
 variable (α)
@@ -189,7 +189,7 @@ theorem id_comp (f : α →Co β) : (ContinuousOrderHom.id β).comp f = f :=
 @[simp]
 theorem cancel_right {g₁ g₂ : β →Co γ} {f : α →Co β} (hf : Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
-  ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, fun h => congr_arg₂ _ h rfl⟩
+  ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, fun h => congr_arg₂ _ h rfl⟩
 #align continuous_order_hom.cancel_right ContinuousOrderHom.cancel_right
 
 @[simp]
@@ -204,6 +204,6 @@ instance : Preorder (α →Co β) :=
 end Preorder
 
 instance [PartialOrder β] : PartialOrder (α →Co β) :=
-  PartialOrder.lift ((↑) : (α →Co β) → α → β) FunLike.coe_injective
+  PartialOrder.lift ((↑) : (α →Co β) → α → β) DFunLike.coe_injective
 
 end ContinuousOrderHom
chore: @[simp] cancel_(right|left) (#6300)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -186,11 +186,13 @@ theorem id_comp (f : α →Co β) : (ContinuousOrderHom.id β).comp f = f :=
   ext fun _ => rfl
 #align continuous_order_hom.id_comp ContinuousOrderHom.id_comp
 
+@[simp]
 theorem cancel_right {g₁ g₂ : β →Co γ} {f : α →Co β} (hf : Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
   ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, fun h => congr_arg₂ _ h rfl⟩
 #align continuous_order_hom.cancel_right ContinuousOrderHom.cancel_right
 
+@[simp]
 theorem cancel_left {g : β →Co γ} {f₁ f₂ : α →Co β} (hg : Injective g) :
     g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
   ⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
chore: make sure that some coercions have an attached definition (#6667)
Diff
@@ -70,6 +70,8 @@ instance (priority := 100) toOrderHomClass  :
 -- for the original coercion. The original one directly exposed
 -- ContinuousOrderHom.mk which allowed simp to apply more eagerly than in all
 -- the other results in `Topology.Order.Hom.Esakia`.
+/-- Turn an element of a type `F` satisfying `ContinuousOrderHomClass F α β` into an actual
+`ContinuousOrderHom`. This is declared as the default coercion from `F` to `α →Co β`. -/
 @[coe]
 def toContinuousOrderHom (f : F) : α →Co β :=
     { toFun := f
@@ -203,4 +205,3 @@ instance [PartialOrder β] : PartialOrder (α →Co β) :=
   PartialOrder.lift ((↑) : (α →Co β) → α → β) FunLike.coe_injective
 
 end ContinuousOrderHom
-
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
@@ -30,10 +30,10 @@ be satisfied by itself and all stricter types.
 
 open Function
 
-variable {F α β γ δ : Type _}
+variable {F α β γ δ : Type*}
 
 /-- The type of continuous monotone maps from `α` to `β`, aka Priestley homomorphisms. -/
-structure ContinuousOrderHom (α β : Type _) [Preorder α] [Preorder β] [TopologicalSpace α]
+structure ContinuousOrderHom (α β : Type*) [Preorder α] [Preorder β] [TopologicalSpace α]
   [TopologicalSpace β] extends OrderHom α β where
   continuous_toFun : Continuous toFun
 #align continuous_order_hom ContinuousOrderHom
@@ -47,7 +47,7 @@ section
 /-- `ContinuousOrderHomClass F α β` states that `F` is a type of continuous monotone maps.
 
 You should extend this class when you extend `ContinuousOrderHom`. -/
-class ContinuousOrderHomClass (F : Type _) (α β : outParam <| Type _) [Preorder α] [Preorder β]
+class ContinuousOrderHomClass (F : Type*) (α β : outParam <| Type*) [Preorder α] [Preorder β]
     [TopologicalSpace α] [TopologicalSpace β] extends
     ContinuousMapClass F α β where
   map_monotone (f : F) : Monotone f
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,15 +2,12 @@
 Copyright (c) 2022 Yaël Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yaël Dillies
-
-! This file was ported from Lean 3 source module topology.order.hom.basic
-! leanprover-community/mathlib commit 0a0ec35061ed9960bf0e7ffb0335f44447b58977
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Order.Hom.Basic
 import Mathlib.Topology.ContinuousFunction.Basic
 
+#align_import topology.order.hom.basic from "leanprover-community/mathlib"@"0a0ec35061ed9960bf0e7ffb0335f44447b58977"
+
 /-!
 # Continuous order homomorphisms
 
feat: port Topology.Order.Hom.Esakia (#3108)

Co-authored-by: int-y1 <jason_yuen2007@hotmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>

Diff
@@ -56,23 +56,33 @@ class ContinuousOrderHomClass (F : Type _) (α β : outParam <| Type _) [Preorde
   map_monotone (f : F) : Monotone f
 #align continuous_order_hom_class ContinuousOrderHomClass
 
-end
+-- Porting note: namespaced these results since there are more than 3 now
+namespace ContinuousOrderHomClass
+
+variable [Preorder α] [Preorder β] [TopologicalSpace α] [TopologicalSpace β]
+  [ContinuousOrderHomClass F α β]
 
 -- See note [lower instance priority]
-instance (priority := 100) ContinuousOrderHomClass.toOrderHomClass [Preorder α] [Preorder β]
-    [TopologicalSpace α] [TopologicalSpace β] [ContinuousOrderHomClass F α β] :
+instance (priority := 100) toOrderHomClass  :
     OrderHomClass F α β :=
   { ‹ContinuousOrderHomClass F α β› with
     map_rel := ContinuousOrderHomClass.map_monotone }
 #align continuous_order_hom_class.to_continuous_map_class ContinuousOrderHomClass.toContinuousMapClass
 
-instance [Preorder α] [Preorder β] [TopologicalSpace α] [TopologicalSpace β]
-    [ContinuousOrderHomClass F α β] : CoeTC F (α →Co β) :=
-  ⟨fun f =>
+-- Porting note: following `OrderHomClass.toOrderHom` design, introduced a wrapper
+-- for the original coercion. The original one directly exposed
+-- ContinuousOrderHom.mk which allowed simp to apply more eagerly than in all
+-- the other results in `Topology.Order.Hom.Esakia`.
+@[coe]
+def toContinuousOrderHom (f : F) : α →Co β :=
     { toFun := f
       monotone' := ContinuousOrderHomClass.map_monotone f
-      continuous_toFun := map_continuous f }⟩
+      continuous_toFun := map_continuous f }
+
+instance : CoeTC F (α →Co β) :=
+  ⟨toContinuousOrderHom⟩
 
+end ContinuousOrderHomClass
 /-! ### Top homomorphisms -/
 
 
chore: bump to nightly-2023-04-11 (#3139)
Diff
@@ -59,8 +59,8 @@ class ContinuousOrderHomClass (F : Type _) (α β : outParam <| Type _) [Preorde
 end
 
 -- See note [lower instance priority]
-instance (priority := 100) ContinuousOrderHomClass.toOrderHomClass {_ : Preorder α} {_ : Preorder β}
-    {_ : TopologicalSpace α} {_ : TopologicalSpace β} [ContinuousOrderHomClass F α β] :
+instance (priority := 100) ContinuousOrderHomClass.toOrderHomClass [Preorder α] [Preorder β]
+    [TopologicalSpace α] [TopologicalSpace β] [ContinuousOrderHomClass F α β] :
     OrderHomClass F α β :=
   { ‹ContinuousOrderHomClass F α β› with
     map_rel := ContinuousOrderHomClass.map_monotone }
feat: port Topology.Order.Hom.Basic (#2138)

Dependencies 8 + 308

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

The unported dependencies are