topology.algebra.group_completionMathlib.Topology.Algebra.GroupCompletion

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -135,7 +135,7 @@ instance : AddMonoid (Completion α) :=
     nsmul_succ := fun n a =>
       Completion.induction_on a
         (isClosed_eq continuous_map <| continuous_map₂ continuous_id continuous_map) fun a => by
-        rw_mod_cast [succ_nsmul] }
+        rw_mod_cast [succ_nsmul'] }
 
 instance : SubNegMonoid (Completion α) :=
   { Completion.addMonoid, Completion.hasNeg,
Diff
@@ -242,7 +242,7 @@ open UniformSpace UniformSpace.Completion
 
 #print AddMonoidHom.extension /-
 /-- Extension to the completion of a continuous group hom. -/
-def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β) (hf : Continuous f) :
+def AddMonoidHom.extension [CompleteSpace β] [T0Space β] (f : α →+ β) (hf : Continuous f) :
     Completion α →+ β :=
   have hf : UniformContinuous f := uniformContinuous_addMonoidHom_of_continuous hf
   { toFun := Completion.extension f
@@ -258,15 +258,15 @@ def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ 
 -/
 
 #print AddMonoidHom.extension_coe /-
-theorem AddMonoidHom.extension_coe [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
-    (hf : Continuous f) (a : α) : f.extension hf a = f a :=
+theorem AddMonoidHom.extension_coe [CompleteSpace β] [T0Space β] (f : α →+ β) (hf : Continuous f)
+    (a : α) : f.extension hf a = f a :=
   extension_coe (uniformContinuous_addMonoidHom_of_continuous hf) a
 #align add_monoid_hom.extension_coe AddMonoidHom.extension_coe
 -/
 
 #print AddMonoidHom.continuous_extension /-
 @[continuity]
-theorem AddMonoidHom.continuous_extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
+theorem AddMonoidHom.continuous_extension [CompleteSpace β] [T0Space β] (f : α →+ β)
     (hf : Continuous f) : Continuous (f.extension hf) :=
   continuous_extension
 #align add_monoid_hom.continuous_extension AddMonoidHom.continuous_extension
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2018 Patrick Massot. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Johannes Hölzl
 -/
-import Mathbin.Topology.Algebra.UniformGroup
-import Mathbin.Topology.Algebra.UniformMulAction
-import Mathbin.Topology.UniformSpace.Completion
+import Topology.Algebra.UniformGroup
+import Topology.Algebra.UniformMulAction
+import Topology.UniformSpace.Completion
 
 #align_import topology.algebra.group_completion from "leanprover-community/mathlib"@"f47581155c818e6361af4e4fda60d27d020c226b"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2018 Patrick Massot. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Johannes Hölzl
-
-! This file was ported from Lean 3 source module topology.algebra.group_completion
-! leanprover-community/mathlib commit f47581155c818e6361af4e4fda60d27d020c226b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Topology.Algebra.UniformGroup
 import Mathbin.Topology.Algebra.UniformMulAction
 import Mathbin.Topology.UniformSpace.Completion
 
+#align_import topology.algebra.group_completion from "leanprover-community/mathlib"@"f47581155c818e6361af4e4fda60d27d020c226b"
+
 /-!
 # Completion of topological groups:
 
Diff
@@ -59,10 +59,12 @@ instance [Add α] : Add (Completion α) :=
 instance [Sub α] : Sub (Completion α) :=
   ⟨Completion.map₂ Sub.sub⟩
 
+#print UniformSpace.Completion.coe_zero /-
 @[norm_cast]
 theorem UniformSpace.Completion.coe_zero [Zero α] : ((0 : α) : Completion α) = 0 :=
   rfl
 #align uniform_space.completion.coe_zero UniformSpace.Completion.coe_zero
+-/
 
 end Group
 
@@ -87,20 +89,26 @@ section UniformAddGroup
 
 variable [UniformSpace α] [AddGroup α] [UniformAddGroup α]
 
+#print UniformSpace.Completion.coe_neg /-
 @[norm_cast]
 theorem coe_neg (a : α) : ((-a : α) : Completion α) = -a :=
   (map_coe uniformContinuous_neg a).symm
 #align uniform_space.completion.coe_neg UniformSpace.Completion.coe_neg
+-/
 
+#print UniformSpace.Completion.coe_sub /-
 @[norm_cast]
 theorem coe_sub (a b : α) : ((a - b : α) : Completion α) = a - b :=
   (map₂_coe_coe a b Sub.sub uniformContinuous_sub).symm
 #align uniform_space.completion.coe_sub UniformSpace.Completion.coe_sub
+-/
 
+#print UniformSpace.Completion.coe_add /-
 @[norm_cast]
 theorem coe_add (a b : α) : ((a + b : α) : Completion α) = a + b :=
   (map₂_coe_coe a b (· + ·) uniformContinuous_add).symm
 #align uniform_space.completion.coe_add UniformSpace.Completion.coe_add
+-/
 
 instance : AddMonoid (Completion α) :=
   { Completion.hasZero,
@@ -176,6 +184,7 @@ instance {M} [Monoid M] [DistribMulAction M α] [UniformContinuousConstSMul M α
         fun a b => by simp only [← coe_add, ← coe_smul, smul_add]
     smul_zero := fun r => by rw [← coe_zero, ← coe_smul, smul_zero r] }
 
+#print UniformSpace.Completion.toCompl /-
 /-- The map from a group to its completion as a group hom. -/
 @[simps]
 def toCompl : α →+ Completion α where
@@ -183,16 +192,21 @@ def toCompl : α →+ Completion α where
   map_add' := coe_add
   map_zero' := coe_zero
 #align uniform_space.completion.to_compl UniformSpace.Completion.toCompl
+-/
 
+#print UniformSpace.Completion.continuous_toCompl /-
 theorem continuous_toCompl : Continuous (toCompl : α → Completion α) :=
   continuous_coe α
 #align uniform_space.completion.continuous_to_compl UniformSpace.Completion.continuous_toCompl
+-/
 
 variable (α)
 
+#print UniformSpace.Completion.denseInducing_toCompl /-
 theorem denseInducing_toCompl : DenseInducing (toCompl : α → Completion α) :=
   denseInducing_coe
 #align uniform_space.completion.dense_inducing_to_compl UniformSpace.Completion.denseInducing_toCompl
+-/
 
 variable {α}
 
@@ -229,6 +243,7 @@ variable [UniformSpace α] [AddGroup α] [UniformAddGroup α] [UniformSpace β]
 
 open UniformSpace UniformSpace.Completion
 
+#print AddMonoidHom.extension /-
 /-- Extension to the completion of a continuous group hom. -/
 def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β) (hf : Continuous f) :
     Completion α →+ β :=
@@ -243,34 +258,46 @@ def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ 
         fun a b => by
         rw_mod_cast [extension_coe hf, extension_coe hf, extension_coe hf, f.map_add] }
 #align add_monoid_hom.extension AddMonoidHom.extension
+-/
 
+#print AddMonoidHom.extension_coe /-
 theorem AddMonoidHom.extension_coe [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
     (hf : Continuous f) (a : α) : f.extension hf a = f a :=
   extension_coe (uniformContinuous_addMonoidHom_of_continuous hf) a
 #align add_monoid_hom.extension_coe AddMonoidHom.extension_coe
+-/
 
+#print AddMonoidHom.continuous_extension /-
 @[continuity]
 theorem AddMonoidHom.continuous_extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
     (hf : Continuous f) : Continuous (f.extension hf) :=
   continuous_extension
 #align add_monoid_hom.continuous_extension AddMonoidHom.continuous_extension
+-/
 
+#print AddMonoidHom.completion /-
 /-- Completion of a continuous group hom, as a group hom. -/
 def AddMonoidHom.completion (f : α →+ β) (hf : Continuous f) : Completion α →+ Completion β :=
   (toCompl.comp f).extension (continuous_toCompl.comp hf)
 #align add_monoid_hom.completion AddMonoidHom.completion
+-/
 
+#print AddMonoidHom.continuous_completion /-
 @[continuity]
 theorem AddMonoidHom.continuous_completion (f : α →+ β) (hf : Continuous f) :
     Continuous (f.Completion hf : Completion α → Completion β) :=
   ContinuousMap
 #align add_monoid_hom.continuous_completion AddMonoidHom.continuous_completion
+-/
 
+#print AddMonoidHom.completion_coe /-
 theorem AddMonoidHom.completion_coe (f : α →+ β) (hf : Continuous f) (a : α) :
     f.Completion hf a = f a :=
   map_coe (uniformContinuous_addMonoidHom_of_continuous hf) a
 #align add_monoid_hom.completion_coe AddMonoidHom.completion_coe
+-/
 
+#print AddMonoidHom.completion_zero /-
 theorem AddMonoidHom.completion_zero : (0 : α →+ β).Completion continuous_const = 0 :=
   by
   ext x
@@ -280,7 +307,9 @@ theorem AddMonoidHom.completion_zero : (0 : α →+ β).Completion continuous_co
   · intro a
     simp [(0 : α →+ β).completion_coe continuous_const, coe_zero]
 #align add_monoid_hom.completion_zero AddMonoidHom.completion_zero
+-/
 
+#print AddMonoidHom.completion_add /-
 theorem AddMonoidHom.completion_add {γ : Type _} [AddCommGroup γ] [UniformSpace γ]
     [UniformAddGroup γ] (f g : α →+ γ) (hf : Continuous f) (hg : Continuous g) :
     (f + g).Completion (hf.add hg) = f.Completion hf + g.Completion hg :=
@@ -295,6 +324,7 @@ theorem AddMonoidHom.completion_add {γ : Type _} [AddCommGroup γ] [UniformSpac
   · intro a
     simp [(f + g).completion_coe hfg, coe_add, f.completion_coe hf, g.completion_coe hg]
 #align add_monoid_hom.completion_add AddMonoidHom.completion_add
+-/
 
 end AddMonoidHom
 
Diff
@@ -59,12 +59,6 @@ instance [Add α] : Add (Completion α) :=
 instance [Sub α] : Sub (Completion α) :=
   ⟨Completion.map₂ Sub.sub⟩
 
-/- warning: uniform_space.completion.coe_zero -> UniformSpace.Completion.coe_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : Zero.{u1} α], Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α _inst_2)))) (OfNat.ofNat.{u1} (UniformSpace.Completion.{u1} α _inst_1) 0 (OfNat.mk.{u1} (UniformSpace.Completion.{u1} α _inst_1) 0 (Zero.zero.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasZero.{u1} α _inst_1 _inst_2))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : Zero.{u1} α], Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.coe'.{u1} α _inst_1 (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α _inst_2))) (OfNat.ofNat.{u1} (UniformSpace.Completion.{u1} α _inst_1) 0 (Zero.toOfNat0.{u1} (UniformSpace.Completion.{u1} α _inst_1) (instZeroCompletion.{u1} α _inst_1 _inst_2)))
-Case conversion may be inaccurate. Consider using '#align uniform_space.completion.coe_zero UniformSpace.Completion.coe_zeroₓ'. -/
 @[norm_cast]
 theorem UniformSpace.Completion.coe_zero [Zero α] : ((0 : α) : Completion α) = 0 :=
   rfl
@@ -93,34 +87,16 @@ section UniformAddGroup
 
 variable [UniformSpace α] [AddGroup α] [UniformAddGroup α]
 
-/- warning: uniform_space.completion.coe_neg -> UniformSpace.Completion.coe_neg is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] (a : α), Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) (Neg.neg.{u1} α (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)) a)) (Neg.neg.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasNeg.{u1} α _inst_1 (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) a))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] (a : α), Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.coe'.{u1} α _inst_1 (Neg.neg.{u1} α (NegZeroClass.toNeg.{u1} α (SubNegZeroMonoid.toNegZeroClass.{u1} α (SubtractionMonoid.toSubNegZeroMonoid.{u1} α (AddGroup.toSubtractionMonoid.{u1} α _inst_2)))) a)) (Neg.neg.{u1} (UniformSpace.Completion.{u1} α _inst_1) (instNegCompletion.{u1} α _inst_1 (NegZeroClass.toNeg.{u1} α (SubNegZeroMonoid.toNegZeroClass.{u1} α (SubtractionMonoid.toSubNegZeroMonoid.{u1} α (AddGroup.toSubtractionMonoid.{u1} α _inst_2))))) (UniformSpace.Completion.coe'.{u1} α _inst_1 a))
-Case conversion may be inaccurate. Consider using '#align uniform_space.completion.coe_neg UniformSpace.Completion.coe_negₓ'. -/
 @[norm_cast]
 theorem coe_neg (a : α) : ((-a : α) : Completion α) = -a :=
   (map_coe uniformContinuous_neg a).symm
 #align uniform_space.completion.coe_neg UniformSpace.Completion.coe_neg
 
-/- warning: uniform_space.completion.coe_sub -> UniformSpace.Completion.coe_sub is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] (a : α) (b : α), Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (SubNegMonoid.toHasSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) a b)) (HSub.hSub.{u1, u1, u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (instHSub.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasSub.{u1} α _inst_1 (SubNegMonoid.toHasSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) a) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) b))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] (a : α) (b : α), Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.coe'.{u1} α _inst_1 (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (SubNegMonoid.toSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) a b)) (HSub.hSub.{u1, u1, u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (instHSub.{u1} (UniformSpace.Completion.{u1} α _inst_1) (instSubCompletion.{u1} α _inst_1 (SubNegMonoid.toSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (UniformSpace.Completion.coe'.{u1} α _inst_1 a) (UniformSpace.Completion.coe'.{u1} α _inst_1 b))
-Case conversion may be inaccurate. Consider using '#align uniform_space.completion.coe_sub UniformSpace.Completion.coe_subₓ'. -/
 @[norm_cast]
 theorem coe_sub (a b : α) : ((a - b : α) : Completion α) = a - b :=
   (map₂_coe_coe a b Sub.sub uniformContinuous_sub).symm
 #align uniform_space.completion.coe_sub UniformSpace.Completion.coe_sub
 
-/- warning: uniform_space.completion.coe_add -> UniformSpace.Completion.coe_add is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] (a : α) (b : α), Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (AddZeroClass.toHasAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))))) a b)) (HAdd.hAdd.{u1, u1, u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (instHAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasAdd.{u1} α _inst_1 (AddZeroClass.toHasAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) a) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) b))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] (a : α) (b : α), Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.coe'.{u1} α _inst_1 (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))))) a b)) (HAdd.hAdd.{u1, u1, u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (instHAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (instAddCompletion.{u1} α _inst_1 (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))))) (UniformSpace.Completion.coe'.{u1} α _inst_1 a) (UniformSpace.Completion.coe'.{u1} α _inst_1 b))
-Case conversion may be inaccurate. Consider using '#align uniform_space.completion.coe_add UniformSpace.Completion.coe_addₓ'. -/
 @[norm_cast]
 theorem coe_add (a b : α) : ((a + b : α) : Completion α) = a + b :=
   (map₂_coe_coe a b (· + ·) uniformContinuous_add).symm
@@ -200,12 +176,6 @@ instance {M} [Monoid M] [DistribMulAction M α] [UniformContinuousConstSMul M α
         fun a b => by simp only [← coe_add, ← coe_smul, smul_add]
     smul_zero := fun r => by rw [← coe_zero, ← coe_smul, smul_zero r] }
 
-/- warning: uniform_space.completion.to_compl -> UniformSpace.Completion.toCompl is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align uniform_space.completion.to_compl UniformSpace.Completion.toComplₓ'. -/
 /-- The map from a group to its completion as a group hom. -/
 @[simps]
 def toCompl : α →+ Completion α where
@@ -214,24 +184,12 @@ def toCompl : α →+ Completion α where
   map_zero' := coe_zero
 #align uniform_space.completion.to_compl UniformSpace.Completion.toCompl
 
-/- warning: uniform_space.completion.continuous_to_compl -> UniformSpace.Completion.continuous_toCompl is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], Continuous.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (fun (_x : AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) => α -> (UniformSpace.Completion.{u1} α _inst_1)) (AddMonoidHom.hasCoeToFun.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], Continuous.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => UniformSpace.Completion.{u1} α _inst_1) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoidHom.addMonoidHomClass.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align uniform_space.completion.continuous_to_compl UniformSpace.Completion.continuous_toComplₓ'. -/
 theorem continuous_toCompl : Continuous (toCompl : α → Completion α) :=
   continuous_coe α
 #align uniform_space.completion.continuous_to_compl UniformSpace.Completion.continuous_toCompl
 
 variable (α)
 
-/- warning: uniform_space.completion.dense_inducing_to_compl -> UniformSpace.Completion.denseInducing_toCompl is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], DenseInducing.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (fun (_x : AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) => α -> (UniformSpace.Completion.{u1} α _inst_1)) (AddMonoidHom.hasCoeToFun.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], DenseInducing.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => UniformSpace.Completion.{u1} α _inst_1) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoidHom.addMonoidHomClass.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align uniform_space.completion.dense_inducing_to_compl UniformSpace.Completion.denseInducing_toComplₓ'. -/
 theorem denseInducing_toCompl : DenseInducing (toCompl : α → Completion α) :=
   denseInducing_coe
 #align uniform_space.completion.dense_inducing_to_compl UniformSpace.Completion.denseInducing_toCompl
@@ -271,12 +229,6 @@ variable [UniformSpace α] [AddGroup α] [UniformAddGroup α] [UniformSpace β]
 
 open UniformSpace UniformSpace.Completion
 
-/- warning: add_monoid_hom.extension -> AddMonoidHom.extension is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))))
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.extension AddMonoidHom.extensionₓ'. -/
 /-- Extension to the completion of a continuous group hom. -/
 def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β) (hf : Continuous f) :
     Completion α →+ β :=
@@ -292,63 +244,33 @@ def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ 
         rw_mod_cast [extension_coe hf, extension_coe hf, extension_coe hf, f.map_add] }
 #align add_monoid_hom.extension AddMonoidHom.extension
 
-/- warning: add_monoid_hom.extension_coe -> AddMonoidHom.extension_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.extension_coe AddMonoidHom.extension_coeₓ'. -/
 theorem AddMonoidHom.extension_coe [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
     (hf : Continuous f) (a : α) : f.extension hf a = f a :=
   extension_coe (uniformContinuous_addMonoidHom_of_continuous hf) a
 #align add_monoid_hom.extension_coe AddMonoidHom.extension_coe
 
-/- warning: add_monoid_hom.continuous_extension -> AddMonoidHom.continuous_extension is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => (UniformSpace.Completion.{u1} α _inst_1) -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) (fun (_x : UniformSpace.Completion.{u1} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : UniformSpace.Completion.{u1} α _inst_1) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf))
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.continuous_extension AddMonoidHom.continuous_extensionₓ'. -/
 @[continuity]
 theorem AddMonoidHom.continuous_extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
     (hf : Continuous f) : Continuous (f.extension hf) :=
   continuous_extension
 #align add_monoid_hom.continuous_extension AddMonoidHom.continuous_extension
 
-/- warning: add_monoid_hom.completion -> AddMonoidHom.completion is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6)))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u2} β _inst_4 _inst_5 _inst_6)))
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion AddMonoidHom.completionₓ'. -/
 /-- Completion of a continuous group hom, as a group hom. -/
 def AddMonoidHom.completion (f : α →+ β) (hf : Continuous f) : Completion α →+ Completion β :=
   (toCompl.comp f).extension (continuous_toCompl.comp hf)
 #align add_monoid_hom.completion AddMonoidHom.completion
 
-/- warning: add_monoid_hom.continuous_completion -> AddMonoidHom.continuous_completion is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.uniformSpace.{u2} β _inst_4)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) => (UniformSpace.Completion.{u1} α _inst_1) -> (UniformSpace.Completion.{u2} β _inst_4)) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.completion.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : UniformSpace.{u2} α] [_inst_2 : AddGroup.{u2} α] [_inst_3 : UniformAddGroup.{u2} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u1} β] [_inst_5 : AddGroup.{u1} β] [_inst_6 : UniformAddGroup.{u1} β _inst_4 _inst_5] (f : AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (hf : Continuous.{u2, u1} α β (UniformSpace.toTopologicalSpace.{u2} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} β _inst_4) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f)), Continuous.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.toTopologicalSpace.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.uniformSpace.{u2} α _inst_1)) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.uniformSpace.{u1} β _inst_4)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (fun (_x : UniformSpace.Completion.{u2} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddZeroClass.toAdd.{u2} (UniformSpace.Completion.{u2} α _inst_1) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6)) (AddMonoidHom.addMonoidHomClass.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))))) (AddMonoidHom.completion.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf))
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.continuous_completion AddMonoidHom.continuous_completionₓ'. -/
 @[continuity]
 theorem AddMonoidHom.continuous_completion (f : α →+ β) (hf : Continuous f) :
     Continuous (f.Completion hf : Completion α → Completion β) :=
   ContinuousMap
 #align add_monoid_hom.continuous_completion AddMonoidHom.continuous_completion
 
-/- warning: add_monoid_hom.completion_coe -> AddMonoidHom.completion_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion_coe AddMonoidHom.completion_coeₓ'. -/
 theorem AddMonoidHom.completion_coe (f : α →+ β) (hf : Continuous f) (a : α) :
     f.Completion hf a = f a :=
   map_coe (uniformContinuous_addMonoidHom_of_continuous hf) a
 #align add_monoid_hom.completion_coe AddMonoidHom.completion_coe
 
-/- warning: add_monoid_hom.completion_zero -> AddMonoidHom.completion_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5], Eq.{max (succ u2) (succ u1)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.completion.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OfNat.ofNat.{max u2 u1} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) 0 (OfNat.mk.{max u2 u1} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) 0 (Zero.zero.{max u2 u1} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHom.hasZero.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))))))) (continuous_const.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))))))))) (OfNat.ofNat.{max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) 0 (OfNat.mk.{max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) 0 (Zero.zero.{max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.hasZero.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : UniformSpace.{u2} α] [_inst_2 : AddGroup.{u2} α] [_inst_3 : UniformAddGroup.{u2} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u1} β] [_inst_5 : AddGroup.{u1} β] [_inst_6 : UniformAddGroup.{u1} β _inst_4 _inst_5], Eq.{max (succ u2) (succ u1)} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.completion.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OfNat.ofNat.{max u2 u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) 0 (Zero.toOfNat0.{max u2 u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (instZeroAddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) (continuous_const.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u2} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} β _inst_4) ((AddZeroClass.toZero.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))).0))) (OfNat.ofNat.{max u2 u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) 0 (Zero.toOfNat0.{max u2 u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (instZeroAddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6)))))
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion_zero AddMonoidHom.completion_zeroₓ'. -/
 theorem AddMonoidHom.completion_zero : (0 : α →+ β).Completion continuous_const = 0 :=
   by
   ext x
@@ -359,9 +281,6 @@ theorem AddMonoidHom.completion_zero : (0 : α →+ β).Completion continuous_co
     simp [(0 : α →+ β).completion_coe continuous_const, coe_zero]
 #align add_monoid_hom.completion_zero AddMonoidHom.completion_zero
 
-/- warning: add_monoid_hom.completion_add -> AddMonoidHom.completion_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion_add AddMonoidHom.completion_addₓ'. -/
 theorem AddMonoidHom.completion_add {γ : Type _} [AddCommGroup γ] [UniformSpace γ]
     [UniformAddGroup γ] (f g : α →+ γ) (hf : Continuous f) (hg : Continuous g) :
     (f + g).Completion (hf.add hg) = f.Completion hf + g.Completion hg :=
Diff
@@ -166,10 +166,8 @@ instance : SubNegMonoid (Completion α) :=
         fun a b => by exact_mod_cast congr_arg coe (sub_eq_add_neg a b)
     zsmul := (· • ·)
     zsmul_zero' := fun a =>
-      Completion.induction_on a (isClosed_eq continuous_map continuous_const) fun a =>
-        by
-        rw_mod_cast [zero_smul]
-        rfl
+      Completion.induction_on a (isClosed_eq continuous_map continuous_const) fun a => by
+        rw_mod_cast [zero_smul]; rfl
     zsmul_succ' := fun n a =>
       Completion.induction_on a
         (isClosed_eq continuous_map <| continuous_map₂ continuous_id continuous_map) fun a => by
@@ -186,11 +184,7 @@ instance : AddGroup (Completion α) :=
     add_left_neg := fun a =>
       Completion.induction_on a
         (isClosed_eq (continuous_map₂ Completion.continuous_map continuous_id) continuous_const)
-        fun a =>
-        show -(a : Completion α) + a = 0
-          by
-          rw_mod_cast [add_left_neg]
-          rfl }
+        fun a => show -(a : Completion α) + a = 0 by rw_mod_cast [add_left_neg]; rfl }
 
 instance : UniformAddGroup (Completion α) :=
   ⟨uniformContinuous_map₂ Sub.sub⟩
@@ -256,9 +250,7 @@ instance : AddCommGroup (Completion α) :=
       Completion.induction_on₂ a b
         (isClosed_eq (continuous_map₂ continuous_fst continuous_snd)
           (continuous_map₂ continuous_snd continuous_fst))
-        fun x y => by
-        change ↑x + ↑y = ↑y + ↑x
-        rw [← coe_add, ← coe_add, add_comm] }
+        fun x y => by change ↑x + ↑y = ↑y + ↑x; rw [← coe_add, ← coe_add, add_comm] }
 
 instance [Semiring R] [Module R α] [UniformContinuousConstSMul R α] : Module R (Completion α) :=
   { Completion.distribMulAction,
@@ -266,9 +258,7 @@ instance [Semiring R] [Module R α] [UniformContinuousConstSMul R α] : Module R
     smul := (· • ·)
     add_smul := fun a b =>
       ext' (continuous_const_smul _) ((continuous_const_smul _).add (continuous_const_smul _))
-        fun x => by
-        norm_cast
-        rw [add_smul] }
+        fun x => by norm_cast; rw [add_smul] }
 
 end UniformAddCommGroup
 
Diff
@@ -303,10 +303,7 @@ def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ 
 #align add_monoid_hom.extension AddMonoidHom.extension
 
 /- warning: add_monoid_hom.extension_coe -> AddMonoidHom.extension_coe is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)) (a : α), Eq.{succ u2} β (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => (UniformSpace.Completion.{u1} α _inst_1) -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) a)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f a)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : UniformSpace.Completion.{u1} α _inst_1) => β) (UniformSpace.Completion.coe'.{u1} α _inst_1 a)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) (fun (_x : UniformSpace.Completion.{u1} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : UniformSpace.Completion.{u1} α _inst_1) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf) (UniformSpace.Completion.coe'.{u1} α _inst_1 a)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f a)
+<too large>
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.extension_coe AddMonoidHom.extension_coeₓ'. -/
 theorem AddMonoidHom.extension_coe [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
     (hf : Continuous f) (a : α) : f.extension hf a = f a :=
@@ -349,10 +346,7 @@ theorem AddMonoidHom.continuous_completion (f : α →+ β) (hf : Continuous f)
 #align add_monoid_hom.continuous_completion AddMonoidHom.continuous_completion
 
 /- warning: add_monoid_hom.completion_coe -> AddMonoidHom.completion_coe is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)) (a : α), Eq.{succ u2} (UniformSpace.Completion.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) => (UniformSpace.Completion.{u1} α _inst_1) -> (UniformSpace.Completion.{u2} β _inst_4)) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.completion.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) a)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) β (UniformSpace.Completion.{u2} β _inst_4) (HasLiftT.mk.{succ u2, succ u2} β (UniformSpace.Completion.{u2} β _inst_4) (CoeTCₓ.coe.{succ u2, succ u2} β (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.hasCoeT.{u2} β _inst_4))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f a))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : UniformSpace.{u2} α] [_inst_2 : AddGroup.{u2} α] [_inst_3 : UniformAddGroup.{u2} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u1} β] [_inst_5 : AddGroup.{u1} β] [_inst_6 : UniformAddGroup.{u1} β _inst_4 _inst_5] (f : AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (hf : Continuous.{u2, u1} α β (UniformSpace.toTopologicalSpace.{u2} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} β _inst_4) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f)) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.coe'.{u2} α _inst_1 a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (fun (_x : UniformSpace.Completion.{u2} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddZeroClass.toAdd.{u2} (UniformSpace.Completion.{u2} α _inst_1) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6)) (AddMonoidHom.addMonoidHomClass.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))))) (AddMonoidHom.completion.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf) (UniformSpace.Completion.coe'.{u2} α _inst_1 a)) (UniformSpace.Completion.coe'.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f a))
+<too large>
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion_coe AddMonoidHom.completion_coeₓ'. -/
 theorem AddMonoidHom.completion_coe (f : α →+ β) (hf : Continuous f) (a : α) :
     f.Completion hf a = f a :=
@@ -376,10 +370,7 @@ theorem AddMonoidHom.completion_zero : (0 : α →+ β).Completion continuous_co
 #align add_monoid_hom.completion_zero AddMonoidHom.completion_zero
 
 /- warning: add_monoid_hom.completion_add -> AddMonoidHom.completion_add is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) g)), Eq.{max (succ u2) (succ u1)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u2 u1} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.hasAdd.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toHasAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.to_continuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) f) (fun (x : α) => coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) g x) hf hg)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.hasAdd.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addCommGroup.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) g)), Eq.{max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.add.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u2, u1} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.toContinuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f) (fun (x : α) => FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))))) g x) hf hg)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.add.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddCommGroupCompletion.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
+<too large>
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion_add AddMonoidHom.completion_addₓ'. -/
 theorem AddMonoidHom.completion_add {γ : Type _} [AddCommGroup γ] [UniformSpace γ]
     [UniformAddGroup γ] (f g : α →+ γ) (hf : Continuous f) (hg : Continuous g) :
Diff
@@ -379,7 +379,7 @@ theorem AddMonoidHom.completion_zero : (0 : α →+ β).Completion continuous_co
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) g)), Eq.{max (succ u2) (succ u1)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u2 u1} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.hasAdd.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toHasAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.to_continuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) f) (fun (x : α) => coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) g x) hf hg)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.hasAdd.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addCommGroup.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) g)), Eq.{max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.add.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u2, u1} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.toContinuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f) (fun (x : α) => FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))))) g x) hf hg)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.add.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddCommGroupCompletion.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) g)), Eq.{max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.add.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u2, u1} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.toContinuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f) (fun (x : α) => FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))))) g x) hf hg)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.add.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddCommGroupCompletion.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion_add AddMonoidHom.completion_addₓ'. -/
 theorem AddMonoidHom.completion_add {γ : Type _} [AddCommGroup γ] [UniformSpace γ]
     [UniformAddGroup γ] (f g : α →+ γ) (hf : Continuous f) (hg : Continuous g) :
Diff
@@ -224,7 +224,7 @@ def toCompl : α →+ Completion α where
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], Continuous.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (fun (_x : AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) => α -> (UniformSpace.Completion.{u1} α _inst_1)) (AddMonoidHom.hasCoeToFun.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], Continuous.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => UniformSpace.Completion.{u1} α _inst_1) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoidHom.addMonoidHomClass.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], Continuous.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => UniformSpace.Completion.{u1} α _inst_1) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoidHom.addMonoidHomClass.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
 Case conversion may be inaccurate. Consider using '#align uniform_space.completion.continuous_to_compl UniformSpace.Completion.continuous_toComplₓ'. -/
 theorem continuous_toCompl : Continuous (toCompl : α → Completion α) :=
   continuous_coe α
@@ -236,7 +236,7 @@ variable (α)
 lean 3 declaration is
   forall (α : Type.{u1}) [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], DenseInducing.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (fun (_x : AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) => α -> (UniformSpace.Completion.{u1} α _inst_1)) (AddMonoidHom.hasCoeToFun.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
 but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], DenseInducing.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => UniformSpace.Completion.{u1} α _inst_1) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoidHom.addMonoidHomClass.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
+  forall (α : Type.{u1}) [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], DenseInducing.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => UniformSpace.Completion.{u1} α _inst_1) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoidHom.addMonoidHomClass.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
 Case conversion may be inaccurate. Consider using '#align uniform_space.completion.dense_inducing_to_compl UniformSpace.Completion.denseInducing_toComplₓ'. -/
 theorem denseInducing_toCompl : DenseInducing (toCompl : α → Completion α) :=
   denseInducing_coe
@@ -285,7 +285,7 @@ open UniformSpace UniformSpace.Completion
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))))
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.extension AddMonoidHom.extensionₓ'. -/
 /-- Extension to the completion of a continuous group hom. -/
 def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β) (hf : Continuous f) :
@@ -306,7 +306,7 @@ def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ 
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)) (a : α), Eq.{succ u2} β (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => (UniformSpace.Completion.{u1} α _inst_1) -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) a)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f a)
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u1} α _inst_1) => β) (UniformSpace.Completion.coe'.{u1} α _inst_1 a)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) (fun (_x : UniformSpace.Completion.{u1} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u1} α _inst_1) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf) (UniformSpace.Completion.coe'.{u1} α _inst_1 a)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f a)
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : UniformSpace.Completion.{u1} α _inst_1) => β) (UniformSpace.Completion.coe'.{u1} α _inst_1 a)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) (fun (_x : UniformSpace.Completion.{u1} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : UniformSpace.Completion.{u1} α _inst_1) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf) (UniformSpace.Completion.coe'.{u1} α _inst_1 a)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f a)
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.extension_coe AddMonoidHom.extension_coeₓ'. -/
 theorem AddMonoidHom.extension_coe [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
     (hf : Continuous f) (a : α) : f.extension hf a = f a :=
@@ -317,7 +317,7 @@ theorem AddMonoidHom.extension_coe [CompleteSpace β] [SeparatedSpace β] (f : 
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => (UniformSpace.Completion.{u1} α _inst_1) -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) (fun (_x : UniformSpace.Completion.{u1} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u1} α _inst_1) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) (fun (_x : UniformSpace.Completion.{u1} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : UniformSpace.Completion.{u1} α _inst_1) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf))
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.continuous_extension AddMonoidHom.continuous_extensionₓ'. -/
 @[continuity]
 theorem AddMonoidHom.continuous_extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
@@ -329,7 +329,7 @@ theorem AddMonoidHom.continuous_extension [CompleteSpace β] [SeparatedSpace β]
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6)))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u2} β _inst_4 _inst_5 _inst_6)))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u2} β _inst_4 _inst_5 _inst_6)))
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion AddMonoidHom.completionₓ'. -/
 /-- Completion of a continuous group hom, as a group hom. -/
 def AddMonoidHom.completion (f : α →+ β) (hf : Continuous f) : Completion α →+ Completion β :=
@@ -340,7 +340,7 @@ def AddMonoidHom.completion (f : α →+ β) (hf : Continuous f) : Completion α
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.uniformSpace.{u2} β _inst_4)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) => (UniformSpace.Completion.{u1} α _inst_1) -> (UniformSpace.Completion.{u2} β _inst_4)) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.completion.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : UniformSpace.{u2} α] [_inst_2 : AddGroup.{u2} α] [_inst_3 : UniformAddGroup.{u2} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u1} β] [_inst_5 : AddGroup.{u1} β] [_inst_6 : UniformAddGroup.{u1} β _inst_4 _inst_5] (f : AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (hf : Continuous.{u2, u1} α β (UniformSpace.toTopologicalSpace.{u2} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} β _inst_4) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f)), Continuous.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.toTopologicalSpace.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.uniformSpace.{u2} α _inst_1)) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.uniformSpace.{u1} β _inst_4)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (fun (_x : UniformSpace.Completion.{u2} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddZeroClass.toAdd.{u2} (UniformSpace.Completion.{u2} α _inst_1) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6)) (AddMonoidHom.addMonoidHomClass.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))))) (AddMonoidHom.completion.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf))
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : UniformSpace.{u2} α] [_inst_2 : AddGroup.{u2} α] [_inst_3 : UniformAddGroup.{u2} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u1} β] [_inst_5 : AddGroup.{u1} β] [_inst_6 : UniformAddGroup.{u1} β _inst_4 _inst_5] (f : AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (hf : Continuous.{u2, u1} α β (UniformSpace.toTopologicalSpace.{u2} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} β _inst_4) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f)), Continuous.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.toTopologicalSpace.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.uniformSpace.{u2} α _inst_1)) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.uniformSpace.{u1} β _inst_4)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (fun (_x : UniformSpace.Completion.{u2} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddZeroClass.toAdd.{u2} (UniformSpace.Completion.{u2} α _inst_1) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6)) (AddMonoidHom.addMonoidHomClass.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))))) (AddMonoidHom.completion.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf))
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.continuous_completion AddMonoidHom.continuous_completionₓ'. -/
 @[continuity]
 theorem AddMonoidHom.continuous_completion (f : α →+ β) (hf : Continuous f) :
@@ -352,7 +352,7 @@ theorem AddMonoidHom.continuous_completion (f : α →+ β) (hf : Continuous f)
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)) (a : α), Eq.{succ u2} (UniformSpace.Completion.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) => (UniformSpace.Completion.{u1} α _inst_1) -> (UniformSpace.Completion.{u2} β _inst_4)) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.completion.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) a)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) β (UniformSpace.Completion.{u2} β _inst_4) (HasLiftT.mk.{succ u2, succ u2} β (UniformSpace.Completion.{u2} β _inst_4) (CoeTCₓ.coe.{succ u2, succ u2} β (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.hasCoeT.{u2} β _inst_4))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f a))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : UniformSpace.{u2} α] [_inst_2 : AddGroup.{u2} α] [_inst_3 : UniformAddGroup.{u2} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u1} β] [_inst_5 : AddGroup.{u1} β] [_inst_6 : UniformAddGroup.{u1} β _inst_4 _inst_5] (f : AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (hf : Continuous.{u2, u1} α β (UniformSpace.toTopologicalSpace.{u2} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} β _inst_4) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f)) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.coe'.{u2} α _inst_1 a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (fun (_x : UniformSpace.Completion.{u2} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddZeroClass.toAdd.{u2} (UniformSpace.Completion.{u2} α _inst_1) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6)) (AddMonoidHom.addMonoidHomClass.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))))) (AddMonoidHom.completion.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf) (UniformSpace.Completion.coe'.{u2} α _inst_1 a)) (UniformSpace.Completion.coe'.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f a))
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : UniformSpace.{u2} α] [_inst_2 : AddGroup.{u2} α] [_inst_3 : UniformAddGroup.{u2} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u1} β] [_inst_5 : AddGroup.{u1} β] [_inst_6 : UniformAddGroup.{u1} β _inst_4 _inst_5] (f : AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (hf : Continuous.{u2, u1} α β (UniformSpace.toTopologicalSpace.{u2} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} β _inst_4) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f)) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.coe'.{u2} α _inst_1 a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (fun (_x : UniformSpace.Completion.{u2} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddZeroClass.toAdd.{u2} (UniformSpace.Completion.{u2} α _inst_1) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6)) (AddMonoidHom.addMonoidHomClass.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))))) (AddMonoidHom.completion.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf) (UniformSpace.Completion.coe'.{u2} α _inst_1 a)) (UniformSpace.Completion.coe'.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f a))
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion_coe AddMonoidHom.completion_coeₓ'. -/
 theorem AddMonoidHom.completion_coe (f : α →+ β) (hf : Continuous f) (a : α) :
     f.Completion hf a = f a :=
@@ -379,7 +379,7 @@ theorem AddMonoidHom.completion_zero : (0 : α →+ β).Completion continuous_co
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) g)), Eq.{max (succ u2) (succ u1)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u2 u1} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.hasAdd.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toHasAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.to_continuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) f) (fun (x : α) => coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) g x) hf hg)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.hasAdd.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addCommGroup.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) g)), Eq.{max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.add.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u2, u1} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.toContinuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f) (fun (x : α) => FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))))) g x) hf hg)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.add.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddCommGroupCompletion.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) g)), Eq.{max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.add.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u2, u1} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.toContinuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f) (fun (x : α) => FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))))) g x) hf hg)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.add.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddCommGroupCompletion.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion_add AddMonoidHom.completion_addₓ'. -/
 theorem AddMonoidHom.completion_add {γ : Type _} [AddCommGroup γ] [UniformSpace γ]
     [UniformAddGroup γ] (f g : α →+ γ) (hf : Continuous f) (hg : Continuous g) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Johannes Hölzl
 
 ! This file was ported from Lean 3 source module topology.algebra.group_completion
-! leanprover-community/mathlib commit a148d797a1094ab554ad4183a4ad6f130358ef64
+! leanprover-community/mathlib commit f47581155c818e6361af4e4fda60d27d020c226b
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.Topology.UniformSpace.Completion
 /-!
 # Completion of topological groups:
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This files endows the completion of a topological abelian group with a group structure.
 More precisely the instance `uniform_space.completion.add_group` builds an abelian group structure
 on the completion of an abelian group endowed with a compatible uniform structure.
Diff
@@ -221,7 +221,7 @@ def toCompl : α →+ Completion α where
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], Continuous.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (fun (_x : AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) => α -> (UniformSpace.Completion.{u1} α _inst_1)) (AddMonoidHom.hasCoeToFun.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], Continuous.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instUniformSpaceCompletion.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => UniformSpace.Completion.{u1} α _inst_1) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoidHom.addMonoidHomClass.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], Continuous.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => UniformSpace.Completion.{u1} α _inst_1) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoidHom.addMonoidHomClass.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
 Case conversion may be inaccurate. Consider using '#align uniform_space.completion.continuous_to_compl UniformSpace.Completion.continuous_toComplₓ'. -/
 theorem continuous_toCompl : Continuous (toCompl : α → Completion α) :=
   continuous_coe α
@@ -233,7 +233,7 @@ variable (α)
 lean 3 declaration is
   forall (α : Type.{u1}) [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], DenseInducing.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (fun (_x : AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) => α -> (UniformSpace.Completion.{u1} α _inst_1)) (AddMonoidHom.hasCoeToFun.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
 but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], DenseInducing.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instUniformSpaceCompletion.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => UniformSpace.Completion.{u1} α _inst_1) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoidHom.addMonoidHomClass.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
+  forall (α : Type.{u1}) [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], DenseInducing.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => UniformSpace.Completion.{u1} α _inst_1) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoidHom.addMonoidHomClass.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
 Case conversion may be inaccurate. Consider using '#align uniform_space.completion.dense_inducing_to_compl UniformSpace.Completion.denseInducing_toComplₓ'. -/
 theorem denseInducing_toCompl : DenseInducing (toCompl : α → Completion α) :=
   denseInducing_coe
@@ -314,7 +314,7 @@ theorem AddMonoidHom.extension_coe [CompleteSpace β] [SeparatedSpace β] (f : 
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => (UniformSpace.Completion.{u1} α _inst_1) -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instUniformSpaceCompletion.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) (fun (_x : UniformSpace.Completion.{u1} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u1} α _inst_1) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) (fun (_x : UniformSpace.Completion.{u1} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u1} α _inst_1) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf))
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.continuous_extension AddMonoidHom.continuous_extensionₓ'. -/
 @[continuity]
 theorem AddMonoidHom.continuous_extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
@@ -337,7 +337,7 @@ def AddMonoidHom.completion (f : α →+ β) (hf : Continuous f) : Completion α
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.uniformSpace.{u2} β _inst_4)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) => (UniformSpace.Completion.{u1} α _inst_1) -> (UniformSpace.Completion.{u2} β _inst_4)) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.completion.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : UniformSpace.{u2} α] [_inst_2 : AddGroup.{u2} α] [_inst_3 : UniformAddGroup.{u2} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u1} β] [_inst_5 : AddGroup.{u1} β] [_inst_6 : UniformAddGroup.{u1} β _inst_4 _inst_5] (f : AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (hf : Continuous.{u2, u1} α β (UniformSpace.toTopologicalSpace.{u2} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} β _inst_4) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f)), Continuous.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.toTopologicalSpace.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instUniformSpaceCompletion.{u2} α _inst_1)) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instUniformSpaceCompletion.{u1} β _inst_4)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (fun (_x : UniformSpace.Completion.{u2} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddZeroClass.toAdd.{u2} (UniformSpace.Completion.{u2} α _inst_1) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6)) (AddMonoidHom.addMonoidHomClass.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))))) (AddMonoidHom.completion.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf))
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : UniformSpace.{u2} α] [_inst_2 : AddGroup.{u2} α] [_inst_3 : UniformAddGroup.{u2} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u1} β] [_inst_5 : AddGroup.{u1} β] [_inst_6 : UniformAddGroup.{u1} β _inst_4 _inst_5] (f : AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (hf : Continuous.{u2, u1} α β (UniformSpace.toTopologicalSpace.{u2} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} β _inst_4) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f)), Continuous.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.toTopologicalSpace.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.uniformSpace.{u2} α _inst_1)) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.uniformSpace.{u1} β _inst_4)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (fun (_x : UniformSpace.Completion.{u2} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddZeroClass.toAdd.{u2} (UniformSpace.Completion.{u2} α _inst_1) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6)) (AddMonoidHom.addMonoidHomClass.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))))) (AddMonoidHom.completion.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf))
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.continuous_completion AddMonoidHom.continuous_completionₓ'. -/
 @[continuity]
 theorem AddMonoidHom.continuous_completion (f : α →+ β) (hf : Continuous f) :
Diff
@@ -376,7 +376,7 @@ theorem AddMonoidHom.completion_zero : (0 : α →+ β).Completion continuous_co
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) g)), Eq.{max (succ u2) (succ u1)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u2 u1} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.hasAdd.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toHasAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.to_continuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) f) (fun (x : α) => coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) g x) hf hg)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.hasAdd.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addCommGroup.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) g)), Eq.{max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.add.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u2, u1} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.toContinuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f) (fun (x : α) => FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))))) g x) hf hg)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.add.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddCommGroupCompletion.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) g)), Eq.{max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.add.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u2, u1} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.toContinuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f) (fun (x : α) => FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))))) g x) hf hg)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.add.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddCommGroupCompletion.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
 Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion_add AddMonoidHom.completion_addₓ'. -/
 theorem AddMonoidHom.completion_add {γ : Type _} [AddCommGroup γ] [UniformSpace γ]
     [UniformAddGroup γ] (f g : α →+ γ) (hf : Continuous f) (hg : Continuous g) :
Diff
@@ -56,6 +56,12 @@ instance [Add α] : Add (Completion α) :=
 instance [Sub α] : Sub (Completion α) :=
   ⟨Completion.map₂ Sub.sub⟩
 
+/- warning: uniform_space.completion.coe_zero -> UniformSpace.Completion.coe_zero is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : Zero.{u1} α], Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α _inst_2)))) (OfNat.ofNat.{u1} (UniformSpace.Completion.{u1} α _inst_1) 0 (OfNat.mk.{u1} (UniformSpace.Completion.{u1} α _inst_1) 0 (Zero.zero.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasZero.{u1} α _inst_1 _inst_2))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : Zero.{u1} α], Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.coe'.{u1} α _inst_1 (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α _inst_2))) (OfNat.ofNat.{u1} (UniformSpace.Completion.{u1} α _inst_1) 0 (Zero.toOfNat0.{u1} (UniformSpace.Completion.{u1} α _inst_1) (instZeroCompletion.{u1} α _inst_1 _inst_2)))
+Case conversion may be inaccurate. Consider using '#align uniform_space.completion.coe_zero UniformSpace.Completion.coe_zeroₓ'. -/
 @[norm_cast]
 theorem UniformSpace.Completion.coe_zero [Zero α] : ((0 : α) : Completion α) = 0 :=
   rfl
@@ -84,16 +90,34 @@ section UniformAddGroup
 
 variable [UniformSpace α] [AddGroup α] [UniformAddGroup α]
 
+/- warning: uniform_space.completion.coe_neg -> UniformSpace.Completion.coe_neg is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] (a : α), Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) (Neg.neg.{u1} α (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)) a)) (Neg.neg.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasNeg.{u1} α _inst_1 (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) a))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] (a : α), Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.coe'.{u1} α _inst_1 (Neg.neg.{u1} α (NegZeroClass.toNeg.{u1} α (SubNegZeroMonoid.toNegZeroClass.{u1} α (SubtractionMonoid.toSubNegZeroMonoid.{u1} α (AddGroup.toSubtractionMonoid.{u1} α _inst_2)))) a)) (Neg.neg.{u1} (UniformSpace.Completion.{u1} α _inst_1) (instNegCompletion.{u1} α _inst_1 (NegZeroClass.toNeg.{u1} α (SubNegZeroMonoid.toNegZeroClass.{u1} α (SubtractionMonoid.toSubNegZeroMonoid.{u1} α (AddGroup.toSubtractionMonoid.{u1} α _inst_2))))) (UniformSpace.Completion.coe'.{u1} α _inst_1 a))
+Case conversion may be inaccurate. Consider using '#align uniform_space.completion.coe_neg UniformSpace.Completion.coe_negₓ'. -/
 @[norm_cast]
 theorem coe_neg (a : α) : ((-a : α) : Completion α) = -a :=
   (map_coe uniformContinuous_neg a).symm
 #align uniform_space.completion.coe_neg UniformSpace.Completion.coe_neg
 
+/- warning: uniform_space.completion.coe_sub -> UniformSpace.Completion.coe_sub is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] (a : α) (b : α), Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (SubNegMonoid.toHasSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) a b)) (HSub.hSub.{u1, u1, u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (instHSub.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasSub.{u1} α _inst_1 (SubNegMonoid.toHasSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) a) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) b))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] (a : α) (b : α), Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.coe'.{u1} α _inst_1 (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (SubNegMonoid.toSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) a b)) (HSub.hSub.{u1, u1, u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (instHSub.{u1} (UniformSpace.Completion.{u1} α _inst_1) (instSubCompletion.{u1} α _inst_1 (SubNegMonoid.toSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (UniformSpace.Completion.coe'.{u1} α _inst_1 a) (UniformSpace.Completion.coe'.{u1} α _inst_1 b))
+Case conversion may be inaccurate. Consider using '#align uniform_space.completion.coe_sub UniformSpace.Completion.coe_subₓ'. -/
 @[norm_cast]
 theorem coe_sub (a b : α) : ((a - b : α) : Completion α) = a - b :=
   (map₂_coe_coe a b Sub.sub uniformContinuous_sub).symm
 #align uniform_space.completion.coe_sub UniformSpace.Completion.coe_sub
 
+/- warning: uniform_space.completion.coe_add -> UniformSpace.Completion.coe_add is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] (a : α) (b : α), Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (AddZeroClass.toHasAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))))) a b)) (HAdd.hAdd.{u1, u1, u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (instHAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasAdd.{u1} α _inst_1 (AddZeroClass.toHasAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) a) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) b))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] (a : α) (b : α), Eq.{succ u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.coe'.{u1} α _inst_1 (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))))) a b)) (HAdd.hAdd.{u1, u1, u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u1} α _inst_1) (instHAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (instAddCompletion.{u1} α _inst_1 (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))))) (UniformSpace.Completion.coe'.{u1} α _inst_1 a) (UniformSpace.Completion.coe'.{u1} α _inst_1 b))
+Case conversion may be inaccurate. Consider using '#align uniform_space.completion.coe_add UniformSpace.Completion.coe_addₓ'. -/
 @[norm_cast]
 theorem coe_add (a b : α) : ((a + b : α) : Completion α) = a + b :=
   (map₂_coe_coe a b (· + ·) uniformContinuous_add).symm
@@ -179,6 +203,12 @@ instance {M} [Monoid M] [DistribMulAction M α] [UniformContinuousConstSMul M α
         fun a b => by simp only [← coe_add, ← coe_smul, smul_add]
     smul_zero := fun r => by rw [← coe_zero, ← coe_smul, smul_zero r] }
 
+/- warning: uniform_space.completion.to_compl -> UniformSpace.Completion.toCompl is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align uniform_space.completion.to_compl UniformSpace.Completion.toComplₓ'. -/
 /-- The map from a group to its completion as a group hom. -/
 @[simps]
 def toCompl : α →+ Completion α where
@@ -187,12 +217,24 @@ def toCompl : α →+ Completion α where
   map_zero' := coe_zero
 #align uniform_space.completion.to_compl UniformSpace.Completion.toCompl
 
+/- warning: uniform_space.completion.continuous_to_compl -> UniformSpace.Completion.continuous_toCompl is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], Continuous.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (fun (_x : AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) => α -> (UniformSpace.Completion.{u1} α _inst_1)) (AddMonoidHom.hasCoeToFun.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], Continuous.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instUniformSpaceCompletion.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => UniformSpace.Completion.{u1} α _inst_1) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoidHom.addMonoidHomClass.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align uniform_space.completion.continuous_to_compl UniformSpace.Completion.continuous_toComplₓ'. -/
 theorem continuous_toCompl : Continuous (toCompl : α → Completion α) :=
   continuous_coe α
 #align uniform_space.completion.continuous_to_compl UniformSpace.Completion.continuous_toCompl
 
 variable (α)
 
+/- warning: uniform_space.completion.dense_inducing_to_compl -> UniformSpace.Completion.denseInducing_toCompl is a dubious translation:
+lean 3 declaration is
+  forall (α : Type.{u1}) [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], DenseInducing.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (fun (_x : AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) => α -> (UniformSpace.Completion.{u1} α _inst_1)) (AddMonoidHom.hasCoeToFun.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
+but is expected to have type
+  forall (α : Type.{u1}) [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2], DenseInducing.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instUniformSpaceCompletion.{u1} α _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => UniformSpace.Completion.{u1} α _inst_1) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoidHom.addMonoidHomClass.{u1, u1} α (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))))) (UniformSpace.Completion.toCompl.{u1} α _inst_1 _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align uniform_space.completion.dense_inducing_to_compl UniformSpace.Completion.denseInducing_toComplₓ'. -/
 theorem denseInducing_toCompl : DenseInducing (toCompl : α → Completion α) :=
   denseInducing_coe
 #align uniform_space.completion.dense_inducing_to_compl UniformSpace.Completion.denseInducing_toCompl
@@ -236,6 +278,12 @@ variable [UniformSpace α] [AddGroup α] [UniformAddGroup α] [UniformSpace β]
 
 open UniformSpace UniformSpace.Completion
 
+/- warning: add_monoid_hom.extension -> AddMonoidHom.extension is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))))
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))))
+Case conversion may be inaccurate. Consider using '#align add_monoid_hom.extension AddMonoidHom.extensionₓ'. -/
 /-- Extension to the completion of a continuous group hom. -/
 def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β) (hf : Continuous f) :
     Completion α →+ β :=
@@ -251,33 +299,69 @@ def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ 
         rw_mod_cast [extension_coe hf, extension_coe hf, extension_coe hf, f.map_add] }
 #align add_monoid_hom.extension AddMonoidHom.extension
 
+/- warning: add_monoid_hom.extension_coe -> AddMonoidHom.extension_coe is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)) (a : α), Eq.{succ u2} β (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => (UniformSpace.Completion.{u1} α _inst_1) -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) a)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f a)
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u1} α _inst_1) => β) (UniformSpace.Completion.coe'.{u1} α _inst_1 a)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) (fun (_x : UniformSpace.Completion.{u1} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u1} α _inst_1) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf) (UniformSpace.Completion.coe'.{u1} α _inst_1 a)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f a)
+Case conversion may be inaccurate. Consider using '#align add_monoid_hom.extension_coe AddMonoidHom.extension_coeₓ'. -/
 theorem AddMonoidHom.extension_coe [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
     (hf : Continuous f) (a : α) : f.extension hf a = f a :=
   extension_coe (uniformContinuous_addMonoidHom_of_continuous hf) a
 #align add_monoid_hom.extension_coe AddMonoidHom.extension_coe
 
+/- warning: add_monoid_hom.continuous_extension -> AddMonoidHom.continuous_extension is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => (UniformSpace.Completion.{u1} α _inst_1) -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf))
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] [_inst_7 : CompleteSpace.{u2} β _inst_4] [_inst_8 : SeparatedSpace.{u2} β _inst_4] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instUniformSpaceCompletion.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) (fun (_x : UniformSpace.Completion.{u1} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u1} α _inst_1) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) β (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) (AddMonoidHom.extension.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f hf))
+Case conversion may be inaccurate. Consider using '#align add_monoid_hom.continuous_extension AddMonoidHom.continuous_extensionₓ'. -/
 @[continuity]
 theorem AddMonoidHom.continuous_extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
     (hf : Continuous f) : Continuous (f.extension hf) :=
   continuous_extension
 #align add_monoid_hom.continuous_extension AddMonoidHom.continuous_extension
 
+/- warning: add_monoid_hom.completion -> AddMonoidHom.completion is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6)))
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))), (Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))))) f)) -> (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u2} β _inst_4 _inst_5 _inst_6)))
+Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion AddMonoidHom.completionₓ'. -/
 /-- Completion of a continuous group hom, as a group hom. -/
 def AddMonoidHom.completion (f : α →+ β) (hf : Continuous f) : Completion α →+ Completion β :=
   (toCompl.comp f).extension (continuous_toCompl.comp hf)
 #align add_monoid_hom.completion AddMonoidHom.completion
 
+/- warning: add_monoid_hom.continuous_completion -> AddMonoidHom.continuous_completion is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)), Continuous.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.uniformSpace.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.uniformSpace.{u2} β _inst_4)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) => (UniformSpace.Completion.{u1} α _inst_1) -> (UniformSpace.Completion.{u2} β _inst_4)) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.completion.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : UniformSpace.{u2} α] [_inst_2 : AddGroup.{u2} α] [_inst_3 : UniformAddGroup.{u2} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u1} β] [_inst_5 : AddGroup.{u1} β] [_inst_6 : UniformAddGroup.{u1} β _inst_4 _inst_5] (f : AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (hf : Continuous.{u2, u1} α β (UniformSpace.toTopologicalSpace.{u2} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} β _inst_4) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f)), Continuous.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.toTopologicalSpace.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instUniformSpaceCompletion.{u2} α _inst_1)) (UniformSpace.toTopologicalSpace.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instUniformSpaceCompletion.{u1} β _inst_4)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (fun (_x : UniformSpace.Completion.{u2} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddZeroClass.toAdd.{u2} (UniformSpace.Completion.{u2} α _inst_1) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6)) (AddMonoidHom.addMonoidHomClass.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))))) (AddMonoidHom.completion.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf))
+Case conversion may be inaccurate. Consider using '#align add_monoid_hom.continuous_completion AddMonoidHom.continuous_completionₓ'. -/
 @[continuity]
 theorem AddMonoidHom.continuous_completion (f : α →+ β) (hf : Continuous f) :
     Continuous (f.Completion hf : Completion α → Completion β) :=
   ContinuousMap
 #align add_monoid_hom.continuous_completion AddMonoidHom.continuous_completion
 
+/- warning: add_monoid_hom.completion_coe -> AddMonoidHom.completion_coe is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5] (f : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (hf : Continuous.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f)) (a : α), Eq.{succ u2} (UniformSpace.Completion.{u2} β _inst_4) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (fun (_x : AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) => (UniformSpace.Completion.{u1} α _inst_1) -> (UniformSpace.Completion.{u2} β _inst_4)) (AddMonoidHom.hasCoeToFun.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.completion.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) α (UniformSpace.Completion.{u1} α _inst_1) (HasLiftT.mk.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} α (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.hasCoeT.{u1} α _inst_1))) a)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) β (UniformSpace.Completion.{u2} β _inst_4) (HasLiftT.mk.{succ u2, succ u2} β (UniformSpace.Completion.{u2} β _inst_4) (CoeTCₓ.coe.{succ u2, succ u2} β (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.hasCoeT.{u2} β _inst_4))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (fun (_x : AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) => α -> β) (AddMonoidHom.hasCoeToFun.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) f a))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : UniformSpace.{u2} α] [_inst_2 : AddGroup.{u2} α] [_inst_3 : UniformAddGroup.{u2} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u1} β] [_inst_5 : AddGroup.{u1} β] [_inst_6 : UniformAddGroup.{u1} β _inst_4 _inst_5] (f : AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (hf : Continuous.{u2, u1} α β (UniformSpace.toTopologicalSpace.{u2} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} β _inst_4) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f)) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.coe'.{u2} α _inst_1 a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (fun (_x : UniformSpace.Completion.{u2} α _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : UniformSpace.Completion.{u2} α _inst_1) => UniformSpace.Completion.{u1} β _inst_4) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddZeroClass.toAdd.{u2} (UniformSpace.Completion.{u2} α _inst_1) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3))) (AddZeroClass.toAdd.{u1} (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6)) (AddMonoidHom.addMonoidHomClass.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))))) (AddMonoidHom.completion.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f hf) (UniformSpace.Completion.coe'.{u2} α _inst_1 a)) (UniformSpace.Completion.coe'.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddZeroClass.toAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2)))) (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5))) (AddMonoidHom.addMonoidHomClass.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) f a))
+Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion_coe AddMonoidHom.completion_coeₓ'. -/
 theorem AddMonoidHom.completion_coe (f : α →+ β) (hf : Continuous f) (a : α) :
     f.Completion hf a = f a :=
   map_coe (uniformContinuous_addMonoidHom_of_continuous hf) a
 #align add_monoid_hom.completion_coe AddMonoidHom.completion_coe
 
+/- warning: add_monoid_hom.completion_zero -> AddMonoidHom.completion_zero is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u2} β] [_inst_5 : AddGroup.{u2} β] [_inst_6 : UniformAddGroup.{u2} β _inst_4 _inst_5], Eq.{max (succ u2) (succ u1)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.completion.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OfNat.ofNat.{max u2 u1} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) 0 (OfNat.mk.{max u2 u1} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) 0 (Zero.zero.{max u2 u1} (AddMonoidHom.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5)))) (AddMonoidHom.hasZero.{u1, u2} α β (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))))))) (continuous_const.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} β _inst_4) (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (SubNegMonoid.toAddMonoid.{u2} β (AddGroup.toSubNegMonoid.{u2} β _inst_5))))))))) (OfNat.ofNat.{max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) 0 (OfNat.mk.{max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) 0 (Zero.zero.{max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.hasZero.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} β _inst_4) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} β _inst_4) (UniformSpace.Completion.addMonoid.{u2} β _inst_4 _inst_5 _inst_6))))))
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : UniformSpace.{u2} α] [_inst_2 : AddGroup.{u2} α] [_inst_3 : UniformAddGroup.{u2} α _inst_1 _inst_2] [_inst_4 : UniformSpace.{u1} β] [_inst_5 : AddGroup.{u1} β] [_inst_6 : UniformAddGroup.{u1} β _inst_4 _inst_5], Eq.{max (succ u2) (succ u1)} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (AddMonoidHom.completion.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OfNat.ofNat.{max u2 u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) 0 (Zero.toOfNat0.{max u2 u1} (AddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))) (instZeroAddMonoidHom.{u2, u1} α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_2))) (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))))) (continuous_const.{u1, u2} α β (UniformSpace.toTopologicalSpace.{u2} α _inst_1) (UniformSpace.toTopologicalSpace.{u1} β _inst_4) ((AddZeroClass.toZero.{u1} β (AddMonoid.toAddZeroClass.{u1} β (SubNegMonoid.toAddMonoid.{u1} β (AddGroup.toSubNegMonoid.{u1} β _inst_5)))).0))) (OfNat.ofNat.{max u2 u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) 0 (Zero.toOfNat0.{max u2 u1} (AddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6))) (instZeroAddMonoidHom.{u2, u1} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.{u1} β _inst_4) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u2} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} β _inst_4) (UniformSpace.Completion.instAddMonoidCompletion.{u1} β _inst_4 _inst_5 _inst_6)))))
+Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion_zero AddMonoidHom.completion_zeroₓ'. -/
 theorem AddMonoidHom.completion_zero : (0 : α →+ β).Completion continuous_const = 0 :=
   by
   ext x
@@ -288,6 +372,12 @@ theorem AddMonoidHom.completion_zero : (0 : α →+ β).Completion continuous_co
     simp [(0 : α →+ β).completion_coe continuous_const, coe_zero]
 #align add_monoid_hom.completion_zero AddMonoidHom.completion_zero
 
+/- warning: add_monoid_hom.completion_add -> AddMonoidHom.completion_add is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) g)), Eq.{max (succ u2) (succ u1)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u2 u1} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.hasAdd.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toHasAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.to_continuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) f) (fun (x : α) => coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (fun (_x : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) => α -> γ) (AddMonoidHom.hasCoeToFun.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) g x) hf hg)) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u2 u1} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addMonoid.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.hasAdd.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.addMonoid.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.addCommGroup.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : UniformSpace.{u1} α] [_inst_2 : AddGroup.{u1} α] [_inst_3 : UniformAddGroup.{u1} α _inst_1 _inst_2] {γ : Type.{u2}} [_inst_7 : AddCommGroup.{u2} γ] [_inst_8 : UniformSpace.{u2} γ] [_inst_9 : UniformAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7)] (f : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (g : AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (hf : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f)) (hg : Continuous.{u1, u2} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) g)), Eq.{max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHom.add.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) f g) (Continuous.add.{u2, u1} α γ (UniformSpace.toTopologicalSpace.{u1} α _inst_1) (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (TopologicalAddGroup.toContinuousAdd.{u2} γ (UniformSpace.toTopologicalSpace.{u2} γ _inst_8) (AddCommGroup.toAddGroup.{u2} γ _inst_7) (UniformAddGroup.to_topologicalAddGroup.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7)))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (SubNegMonoid.toAddMonoid.{u2} γ (AddGroup.toSubNegMonoid.{u2} γ (AddCommGroup.toAddGroup.{u2} γ _inst_7))))))) f) (fun (x : α) => FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => γ) _x) (AddHomClass.toFunLike.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2)))) (AddZeroClass.toAdd.{u2} γ (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) (AddMonoidHomClass.toAddHomClass.{max u1 u2, u1, u2} (AddMonoidHom.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))) α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7))) (AddMonoidHom.addMonoidHomClass.{u1, u2} α γ (AddMonoid.toAddZeroClass.{u1} α (SubNegMonoid.toAddMonoid.{u1} α (AddGroup.toSubNegMonoid.{u1} α _inst_2))) (AddMonoid.toAddZeroClass.{u2} γ (AddCommMonoid.toAddMonoid.{u2} γ (AddCommGroup.toAddCommMonoid.{u2} γ _inst_7)))))) g x) hf hg)) (HAdd.hAdd.{max u1 u2, max u1 u2, max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (instHAdd.{max u1 u2} (AddMonoidHom.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddMonoid.toAddZeroClass.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddMonoidCompletion.{u2} γ _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9))) (AddMonoidHom.add.{u1, u2} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.{u2} γ _inst_8) (AddMonoid.toAddZeroClass.{u1} (UniformSpace.Completion.{u1} α _inst_1) (UniformSpace.Completion.instAddMonoidCompletion.{u1} α _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (UniformSpace.Completion.{u2} γ _inst_8) (UniformSpace.Completion.instAddCommGroupCompletion.{u2} γ _inst_8 _inst_7 _inst_9)))) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 f hf) (AddMonoidHom.completion.{u1, u2} α γ _inst_1 _inst_2 _inst_3 _inst_8 (AddCommGroup.toAddGroup.{u2} γ _inst_7) _inst_9 g hg))
+Case conversion may be inaccurate. Consider using '#align add_monoid_hom.completion_add AddMonoidHom.completion_addₓ'. -/
 theorem AddMonoidHom.completion_add {γ : Type _} [AddCommGroup γ] [UniformSpace γ]
     [UniformAddGroup γ] (f g : α →+ γ) (hf : Continuous f) (hg : Continuous g) :
     (f + g).Completion (hf.add hg) = f.Completion hf + g.Completion hg :=
Diff
@@ -70,7 +70,7 @@ open UniformSpace
 section Zero
 
 instance [UniformSpace α] [MonoidWithZero M] [Zero α] [MulActionWithZero M α]
-    [HasUniformContinuousConstSmul M α] : MulActionWithZero M (Completion α) :=
+    [UniformContinuousConstSMul M α] : MulActionWithZero M (Completion α) :=
   { Completion.mulAction M α with
     smul := (· • ·)
     smul_zero := fun r => by rw [← coe_zero, ← coe_smul, MulActionWithZero.smul_zero r]
@@ -168,7 +168,7 @@ instance : AddGroup (Completion α) :=
 instance : UniformAddGroup (Completion α) :=
   ⟨uniformContinuous_map₂ Sub.sub⟩
 
-instance {M} [Monoid M] [DistribMulAction M α] [HasUniformContinuousConstSmul M α] :
+instance {M} [Monoid M] [DistribMulAction M α] [UniformContinuousConstSMul M α] :
     DistribMulAction M (Completion α) :=
   { Completion.mulAction M α with
     smul := (· • ·)
@@ -215,7 +215,7 @@ instance : AddCommGroup (Completion α) :=
         change ↑x + ↑y = ↑y + ↑x
         rw [← coe_add, ← coe_add, add_comm] }
 
-instance [Semiring R] [Module R α] [HasUniformContinuousConstSmul R α] : Module R (Completion α) :=
+instance [Semiring R] [Module R α] [UniformContinuousConstSMul R α] : Module R (Completion α) :=
   { Completion.distribMulAction,
     Completion.mulActionWithZero with
     smul := (· • ·)
Diff
@@ -239,7 +239,7 @@ open UniformSpace UniformSpace.Completion
 /-- Extension to the completion of a continuous group hom. -/
 def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β) (hf : Continuous f) :
     Completion α →+ β :=
-  have hf : UniformContinuous f := uniform_continuous_add_monoid_hom_of_continuous hf
+  have hf : UniformContinuous f := uniformContinuous_addMonoidHom_of_continuous hf
   { toFun := Completion.extension f
     map_zero' := by rw [← coe_zero, extension_coe hf, f.map_zero]
     map_add' := fun a b =>
@@ -253,7 +253,7 @@ def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ 
 
 theorem AddMonoidHom.extension_coe [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
     (hf : Continuous f) (a : α) : f.extension hf a = f a :=
-  extension_coe (uniform_continuous_add_monoid_hom_of_continuous hf) a
+  extension_coe (uniformContinuous_addMonoidHom_of_continuous hf) a
 #align add_monoid_hom.extension_coe AddMonoidHom.extension_coe
 
 @[continuity]
@@ -275,7 +275,7 @@ theorem AddMonoidHom.continuous_completion (f : α →+ β) (hf : Continuous f)
 
 theorem AddMonoidHom.completion_coe (f : α →+ β) (hf : Continuous f) (a : α) :
     f.Completion hf a = f a :=
-  map_coe (uniform_continuous_add_monoid_hom_of_continuous hf) a
+  map_coe (uniformContinuous_addMonoidHom_of_continuous hf) a
 #align add_monoid_hom.completion_coe AddMonoidHom.completion_coe
 
 theorem AddMonoidHom.completion_zero : (0 : α →+ β).Completion continuous_const = 0 :=
Diff
@@ -270,7 +270,7 @@ def AddMonoidHom.completion (f : α →+ β) (hf : Continuous f) : Completion α
 @[continuity]
 theorem AddMonoidHom.continuous_completion (f : α →+ β) (hf : Continuous f) :
     Continuous (f.Completion hf : Completion α → Completion β) :=
-  continuous_map
+  ContinuousMap
 #align add_monoid_hom.continuous_completion AddMonoidHom.continuous_completion
 
 theorem AddMonoidHom.completion_coe (f : α →+ β) (hf : Continuous f) (a : α) :

Changes in mathlib4

mathlib3
mathlib4
change the order of operation in zsmulRec and nsmulRec (#11451)

We change the following field in the definition of an additive commutative monoid:

 nsmul_succ : ∀ (n : ℕ) (x : G),
-  AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
+  AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x

where the latter is more natural

We adjust the definitions of ^ in monoids, groups, etc. Originally there was a warning comment about why this natural order was preferred

use x * npowRec n x and not npowRec n x * x in the definition to make sure that definitional unfolding of npowRec is blocked, to avoid deep recursion issues.

but it seems to no longer apply.

Remarks on the PR :

  • pow_succ and pow_succ' have switched their meanings.
  • Most of the time, the proofs were adjusted by priming/unpriming one lemma, or exchanging left and right; a few proofs were more complicated to adjust.
  • In particular, [Mathlib/NumberTheory/RamificationInertia.lean] used Ideal.IsPrime.mul_mem_pow which is defined in [Mathlib/RingTheory/DedekindDomain/Ideal.lean]. Changing the order of operation forced me to add the symmetric lemma Ideal.IsPrime.mem_pow_mul.
  • the docstring for Cauchy condensation test in [Mathlib/Analysis/PSeries.lean] was mathematically incorrect, I added the mention that the function is antitone.
Diff
@@ -122,8 +122,8 @@ instance : AddMonoid (Completion α) :=
         show 0 • (a : Completion α) = 0 by rw [← coe_smul, ← coe_zero, zero_smul]
     nsmul_succ := fun n a ↦
       Completion.induction_on a
-        (isClosed_eq continuous_map <| continuous_map₂ continuous_id continuous_map) fun a ↦
-        show (n + 1) • (a : Completion α) = (a : Completion α) + n • (a : Completion α) by
+        (isClosed_eq continuous_map <| continuous_map₂ continuous_map continuous_id) fun a ↦
+        show (n + 1) • (a : Completion α) = n • (a : Completion α) + (a : Completion α) by
           rw [← coe_smul, succ_nsmul, coe_add, coe_smul] }
 
 instance : SubNegMonoid (Completion α) :=
@@ -141,9 +141,9 @@ instance : SubNegMonoid (Completion α) :=
         show (0 : ℤ) • (a : Completion α) = 0 by rw [← coe_smul, ← coe_zero, zero_smul]
     zsmul_succ' := fun n a ↦
       Completion.induction_on a
-        (isClosed_eq continuous_map <| continuous_map₂ continuous_id continuous_map) fun a ↦
+        (isClosed_eq continuous_map <| continuous_map₂ continuous_map continuous_id) fun a ↦
           show Int.ofNat n.succ • (a : Completion α) = _ by
-            rw [← coe_smul, show Int.ofNat n.succ • a = a + Int.ofNat n • a from
+            rw [← coe_smul, show Int.ofNat n.succ • a = Int.ofNat n • a + a from
               SubNegMonoid.zsmul_succ' n a, coe_add, coe_smul]
     zsmul_neg' := fun n a ↦
       Completion.induction_on a
refactor(UniformSpace): drop separationRel (#10644)

We had duplicated API between topological spaces and uniform spaces. In this PR I mostly deduplicate it with some exceptions:

  • SeparationQuotient.lift' and SeparationQuotient.map are leftovers from the old version that are designed to work with uniform spaces;
  • probably, some theorems/instances still assume UniformSpace when TopologicalSpace would work.

Outside of UniformSpace/Separation, I mostly changed SeparatedSpace to T0Space and separationRel to Inseparable. I also rewrote a few proofs that were broken by the API change.

Fixes #2031

Diff
@@ -233,7 +233,7 @@ variable [UniformSpace α] [AddGroup α] [UniformAddGroup α] [UniformSpace β]
 open UniformSpace UniformSpace.Completion
 
 /-- Extension to the completion of a continuous group hom. -/
-def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β) (hf : Continuous f) :
+def AddMonoidHom.extension [CompleteSpace β] [T0Space β] (f : α →+ β) (hf : Continuous f) :
     Completion α →+ β :=
   have hf : UniformContinuous f := uniformContinuous_addMonoidHom_of_continuous hf
   { toFun := Completion.extension f
@@ -248,13 +248,13 @@ def AddMonoidHom.extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ 
         rw_mod_cast [extension_coe hf, extension_coe hf, extension_coe hf, f.map_add] }
 #align add_monoid_hom.extension AddMonoidHom.extension
 
-theorem AddMonoidHom.extension_coe [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
+theorem AddMonoidHom.extension_coe [CompleteSpace β] [T0Space β] (f : α →+ β)
     (hf : Continuous f) (a : α) : f.extension hf a = f a :=
   UniformSpace.Completion.extension_coe (uniformContinuous_addMonoidHom_of_continuous hf) a
 #align add_monoid_hom.extension_coe AddMonoidHom.extension_coe
 
 @[continuity]
-theorem AddMonoidHom.continuous_extension [CompleteSpace β] [SeparatedSpace β] (f : α →+ β)
+theorem AddMonoidHom.continuous_extension [CompleteSpace β] [T0Space β] (f : α →+ β)
     (hf : Continuous f) : Continuous (f.extension hf) :=
   UniformSpace.Completion.continuous_extension
 #align add_monoid_hom.continuous_extension AddMonoidHom.continuous_extension
chore(*): replace $ with <| (#9319)

See Zulip thread for the discussion.

Diff
@@ -68,7 +68,7 @@ section Zero
 
 instance [UniformSpace α] [MonoidWithZero M] [Zero α] [MulActionWithZero M α]
     [UniformContinuousConstSMul M α] : MulActionWithZero M (Completion α) :=
-  { (inferInstance : MulAction M $ Completion α) with
+  { (inferInstance : MulAction M <| Completion α) with
     smul_zero := fun r ↦ by rw [← coe_zero, ← coe_smul, MulActionWithZero.smul_zero r]
     zero_smul :=
       ext' (continuous_const_smul _) continuous_const fun a ↦ by
@@ -96,8 +96,8 @@ theorem coe_add (a b : α) : ((a + b : α) : Completion α) = a + b :=
 #align uniform_space.completion.coe_add UniformSpace.Completion.coe_add
 
 instance : AddMonoid (Completion α) :=
-  { (inferInstance : Zero $ Completion α),
-    (inferInstance : Add $ Completion α) with
+  { (inferInstance : Zero <| Completion α),
+    (inferInstance : Add <| Completion α) with
     zero_add := fun a ↦
       Completion.induction_on a
         (isClosed_eq (continuous_map₂ continuous_const continuous_id) continuous_id) fun a ↦
@@ -127,9 +127,9 @@ instance : AddMonoid (Completion α) :=
           rw [← coe_smul, succ_nsmul, coe_add, coe_smul] }
 
 instance : SubNegMonoid (Completion α) :=
-  { (inferInstance : AddMonoid $ Completion α),
-    (inferInstance : Neg $ Completion α),
-    (inferInstance : Sub $ Completion α) with
+  { (inferInstance : AddMonoid <| Completion α),
+    (inferInstance : Neg <| Completion α),
+    (inferInstance : Sub <| Completion α) with
     sub_eq_add_neg := fun a b ↦
       Completion.induction_on₂ a b
         (isClosed_eq (continuous_map₂ continuous_fst continuous_snd)
@@ -153,7 +153,7 @@ instance : SubNegMonoid (Completion α) :=
               SubNegMonoid.zsmul_neg' n a, coe_neg, coe_smul] }
 
 instance addGroup : AddGroup (Completion α) :=
-  { (inferInstance : SubNegMonoid $ Completion α) with
+  { (inferInstance : SubNegMonoid <| Completion α) with
     add_left_neg := fun a ↦
       Completion.induction_on a
         (isClosed_eq (continuous_map₂ Completion.continuous_map continuous_id) continuous_const)
@@ -167,7 +167,7 @@ instance uniformAddGroup : UniformAddGroup (Completion α) :=
 
 instance {M} [Monoid M] [DistribMulAction M α] [UniformContinuousConstSMul M α] :
     DistribMulAction M (Completion α) :=
-  { (inferInstance : MulAction M $ Completion α) with
+  { (inferInstance : MulAction M <| Completion α) with
     smul_add := fun r x y ↦
       induction_on₂ x y
         (isClosed_eq ((continuous_fst.add continuous_snd).const_smul _)
@@ -202,7 +202,7 @@ section UniformAddCommGroup
 variable [UniformSpace α] [AddCommGroup α] [UniformAddGroup α]
 
 instance : AddCommGroup (Completion α) :=
-  { (inferInstance : AddGroup $ Completion α) with
+  { (inferInstance : AddGroup <| Completion α) with
     add_comm := fun a b ↦
       Completion.induction_on₂ a b
         (isClosed_eq (continuous_map₂ continuous_fst continuous_snd)
@@ -213,8 +213,8 @@ instance : AddCommGroup (Completion α) :=
 
 instance instModule [Semiring R] [Module R α] [UniformContinuousConstSMul R α] :
     Module R (Completion α) :=
-  { (inferInstance : DistribMulAction R $ Completion α),
-    (inferInstance : MulActionWithZero R $ Completion α) with
+  { (inferInstance : DistribMulAction R <| Completion α),
+    (inferInstance : MulActionWithZero R <| Completion α) with
     add_smul := fun a b ↦
       ext' (continuous_const_smul _) ((continuous_const_smul _).add (continuous_const_smul _))
         fun x ↦ by
chore: replace exact_mod_cast tactic with mod_cast elaborator where possible (#8404)

We still have the exact_mod_cast tactic, used in a few places, which somehow (?) works a little bit harder to prevent the expected type influencing the elaboration of the term. I would like to get to the bottom of this, and it will be easier once the only usages of exact_mod_cast are the ones that don't work using the term elaborator by itself.

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

Diff
@@ -134,7 +134,7 @@ instance : SubNegMonoid (Completion α) :=
       Completion.induction_on₂ a b
         (isClosed_eq (continuous_map₂ continuous_fst continuous_snd)
           (continuous_map₂ continuous_fst (Completion.continuous_map.comp continuous_snd)))
-        fun a b ↦ by exact_mod_cast congr_arg ((↑) : α → Completion α) (sub_eq_add_neg a b)
+        fun a b ↦ mod_cast congr_arg ((↑) : α → Completion α) (sub_eq_add_neg a b)
     zsmul := (· • ·)
     zsmul_zero' := fun a ↦
       Completion.induction_on a (isClosed_eq continuous_map continuous_const) fun a ↦
perf: remove overspecified fields (#6965)

This removes redundant field values of the form add := add for smaller terms and less unfolding during unification.

A list of all files containing a structure instance of the form { a1, ... with x1 := val, ... } where some xi is a field of some aj was generated by modifying the structure instance elaboration algorithm to print such overlaps to stdout in a custom toolchain.

Using that toolchain, I went through each file on the list and attempted to remove algebraic fields that overlapped and were redundant, eg add := add and not toFun (though some other ones did creep in). If things broke (which was the case in a couple of cases), I did not push further and reverted.

It is possible that pushing harder and trying to remove all redundant overlaps will yield further improvements.

Diff
@@ -69,7 +69,6 @@ section Zero
 instance [UniformSpace α] [MonoidWithZero M] [Zero α] [MulActionWithZero M α]
     [UniformContinuousConstSMul M α] : MulActionWithZero M (Completion α) :=
   { (inferInstance : MulAction M $ Completion α) with
-    smul := (· • ·)
     smul_zero := fun r ↦ by rw [← coe_zero, ← coe_smul, MulActionWithZero.smul_zero r]
     zero_smul :=
       ext' (continuous_const_smul _) continuous_const fun a ↦ by
@@ -169,7 +168,6 @@ instance uniformAddGroup : UniformAddGroup (Completion α) :=
 instance {M} [Monoid M] [DistribMulAction M α] [UniformContinuousConstSMul M α] :
     DistribMulAction M (Completion α) :=
   { (inferInstance : MulAction M $ Completion α) with
-    smul := (· • ·)
     smul_add := fun r x y ↦
       induction_on₂ x y
         (isClosed_eq ((continuous_fst.add continuous_snd).const_smul _)
@@ -217,7 +215,6 @@ instance instModule [Semiring R] [Module R α] [UniformContinuousConstSMul R α]
     Module R (Completion α) :=
   { (inferInstance : DistribMulAction R $ Completion α),
     (inferInstance : MulActionWithZero R $ Completion α) with
-    smul := (· • ·)
     add_smul := fun a b ↦
       ext' (continuous_const_smul _) ((continuous_const_smul _).add (continuous_const_smul _))
         fun x ↦ by
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
@@ -33,7 +33,7 @@ the main constructions deal with continuous group morphisms.
 
 noncomputable section
 
-variable {M R α β : Type _}
+variable {M R α β : Type*}
 
 section Group
 
@@ -288,7 +288,7 @@ theorem AddMonoidHom.completion_zero :
     simp [(0 : α →+ β).completion_coe continuous_const, coe_zero]
 #align add_monoid_hom.completion_zero AddMonoidHom.completion_zero
 
-theorem AddMonoidHom.completion_add {γ : Type _} [AddCommGroup γ] [UniformSpace γ]
+theorem AddMonoidHom.completion_add {γ : Type*} [AddCommGroup γ] [UniformSpace γ]
     [UniformAddGroup γ] (f g : α →+ γ) (hf : Continuous f) (hg : Continuous g) :
     AddMonoidHom.completion (f + g) (hf.add hg) =
     AddMonoidHom.completion f hf + AddMonoidHom.completion g hg := by
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,16 +2,13 @@
 Copyright (c) 2018 Patrick Massot. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Johannes Hölzl
-
-! This file was ported from Lean 3 source module topology.algebra.group_completion
-! leanprover-community/mathlib commit a148d797a1094ab554ad4183a4ad6f130358ef64
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Topology.Algebra.UniformGroup
 import Mathlib.Topology.Algebra.UniformMulAction
 import Mathlib.Topology.UniformSpace.Completion
 
+#align_import topology.algebra.group_completion from "leanprover-community/mathlib"@"a148d797a1094ab554ad4183a4ad6f130358ef64"
+
 /-!
 # Completion of topological groups:
 
feat: port Analysis.NormedSpace.Completion (#4072)
Diff
@@ -216,7 +216,8 @@ instance : AddCommGroup (Completion α) :=
         change (x : Completion α) + ↑y = ↑y + ↑x
         rw [← coe_add, ← coe_add, add_comm] }
 
-instance [Semiring R] [Module R α] [UniformContinuousConstSMul R α] : Module R (Completion α) :=
+instance instModule [Semiring R] [Module R α] [UniformContinuousConstSMul R α] :
+    Module R (Completion α) :=
   { (inferInstance : DistribMulAction R $ Completion α),
     (inferInstance : MulActionWithZero R $ Completion α) with
     smul := (· • ·)
@@ -224,6 +225,7 @@ instance [Semiring R] [Module R α] [UniformContinuousConstSMul R α] : Module R
       ext' (continuous_const_smul _) ((continuous_const_smul _).add (continuous_const_smul _))
         fun x ↦ by
           rw [← coe_smul, add_smul, coe_add, coe_smul, coe_smul] }
+#align uniform_space.completion.module UniformSpace.Completion.instModule
 
 end UniformAddCommGroup
 
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
@@ -162,8 +162,7 @@ instance addGroup : AddGroup (Completion α) :=
       Completion.induction_on a
         (isClosed_eq (continuous_map₂ Completion.continuous_map continuous_id) continuous_const)
         fun a ↦
-        show -(a : Completion α) + a = 0
-          by
+        show -(a : Completion α) + a = 0 by
           rw_mod_cast [add_left_neg]
           rfl }
 
chore: tidy various files (#2742)
Diff
@@ -16,9 +16,9 @@ import Mathlib.Topology.UniformSpace.Completion
 # Completion of topological groups:
 
 This files endows the completion of a topological abelian group with a group structure.
-More precisely the instance `UniformSpace.Completion.instAddGroup` builds an abelian group structure
+More precisely the instance `UniformSpace.Completion.addGroup` builds an abelian group structure
 on the completion of an abelian group endowed with a compatible uniform structure.
-Then the instance `UniformSpace.Completion.instUniformAddGroup` proves this group structure is
+Then the instance `UniformSpace.Completion.uniformAddGroup` proves this group structure is
 compatible with the completed uniform structure. The compatibility condition is `UniformAddGroup`.
 
 ## Main declarations:
@@ -156,7 +156,7 @@ instance : SubNegMonoid (Completion α) :=
             rw [← coe_smul, show (Int.negSucc n) • a = -((n.succ : ℤ) • a) from
               SubNegMonoid.zsmul_neg' n a, coe_neg, coe_smul] }
 
-instance instAddGroup : AddGroup (Completion α) :=
+instance addGroup : AddGroup (Completion α) :=
   { (inferInstance : SubNegMonoid $ Completion α) with
     add_left_neg := fun a ↦
       Completion.induction_on a
@@ -167,7 +167,7 @@ instance instAddGroup : AddGroup (Completion α) :=
           rw_mod_cast [add_left_neg]
           rfl }
 
-instance instUniformAddGroup : UniformAddGroup (Completion α) :=
+instance uniformAddGroup : UniformAddGroup (Completion α) :=
   ⟨uniformContinuous_map₂ Sub.sub⟩
 
 instance {M} [Monoid M] [DistribMulAction M α] [UniformContinuousConstSMul M α] :
feat: port Topology.Algebra.GroupCompletion (#2637)

Dependencies 9 + 403

404 files ported (97.8%)
177359 lines ported (97.2%)
Show graph

The unported dependencies are