analysis.normed.group.SemiNormedGroup.completion
⟷
Mathlib.Analysis.Normed.Group.SemiNormedGroupCat.Completion
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Riccardo Brasca, Johan Commelin
-/
-import Analysis.Normed.Group.SemiNormedGroup
+import Analysis.Normed.Group.SemiNormedGroupCat
import CategoryTheory.Preadditive.AdditiveFunctor
import Analysis.Normed.Group.HomCompletion
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -122,7 +122,7 @@ instance : Functor.Additive completion where map_add' X Y := (completion.mapHom
/-- Given a normed group hom `f : V → W` with `W` complete, this provides a lift of `f` to
the completion of `V`. The lemmas `lift_unique` and `lift_comp_incl` provide the api for the
universal property of the completion. -/
-def completion.lift {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace W] (f : V ⟶ W) :
+def completion.lift {V W : SemiNormedGroupCat} [CompleteSpace W] [T0Space W] (f : V ⟶ W) :
completion.obj V ⟶ W where
toFun := f.extension
map_add' := f.extension.toAddMonoidHom.map_add'
@@ -131,16 +131,16 @@ def completion.lift {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace
-/
#print SemiNormedGroupCat.completion.lift_comp_incl /-
-theorem completion.lift_comp_incl {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace W]
+theorem completion.lift_comp_incl {V W : SemiNormedGroupCat} [CompleteSpace W] [T0Space W]
(f : V ⟶ W) : completion.incl ≫ completion.lift f = f := by ext;
apply NormedAddGroupHom.extension_coe
#align SemiNormedGroup.Completion.lift_comp_incl SemiNormedGroupCat.completion.lift_comp_incl
-/
#print SemiNormedGroupCat.completion.lift_unique /-
-theorem completion.lift_unique {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace W]
- (f : V ⟶ W) (g : completion.obj V ⟶ W) : completion.incl ≫ g = f → g = completion.lift f :=
- fun h => (NormedAddGroupHom.extension_unique _ fun v => ((ext_iff.1 h) v).symm).symm
+theorem completion.lift_unique {V W : SemiNormedGroupCat} [CompleteSpace W] [T0Space W] (f : V ⟶ W)
+ (g : completion.obj V ⟶ W) : completion.incl ≫ g = f → g = completion.lift f := fun h =>
+ (NormedAddGroupHom.extension_unique _ fun v => ((ext_iff.1 h) v).symm).symm
#align SemiNormedGroup.Completion.lift_unique SemiNormedGroupCat.completion.lift_unique
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -51,7 +51,7 @@ def completion : SemiNormedGroupCat.{u} ⥤ SemiNormedGroupCat.{u}
where
obj V := SemiNormedGroupCat.of (completion V)
map V W f := f.Completion
- map_id' V := completion_id
+ map_id'' V := completion_id
map_comp' U V W f g := (completion_comp f g).symm
#align SemiNormedGroup.Completion SemiNormedGroupCat.completion
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Riccardo Brasca, Johan Commelin
-/
-import Mathbin.Analysis.Normed.Group.SemiNormedGroup
-import Mathbin.CategoryTheory.Preadditive.AdditiveFunctor
-import Mathbin.Analysis.Normed.Group.HomCompletion
+import Analysis.Normed.Group.SemiNormedGroup
+import CategoryTheory.Preadditive.AdditiveFunctor
+import Analysis.Normed.Group.HomCompletion
#align_import analysis.normed.group.SemiNormedGroup.completion from "leanprover-community/mathlib"@"2fe465deb81bcd7ccafa065bb686888a82f15372"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2021 Riccardo Brasca. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Riccardo Brasca, Johan Commelin
-
-! This file was ported from Lean 3 source module analysis.normed.group.SemiNormedGroup.completion
-! leanprover-community/mathlib commit 2fe465deb81bcd7ccafa065bb686888a82f15372
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Analysis.Normed.Group.SemiNormedGroup
import Mathbin.CategoryTheory.Preadditive.AdditiveFunctor
import Mathbin.Analysis.Normed.Group.HomCompletion
+#align_import analysis.normed.group.SemiNormedGroup.completion from "leanprover-community/mathlib"@"2fe465deb81bcd7ccafa065bb686888a82f15372"
+
/-!
# Completions of normed groups
mathlib commit https://github.com/leanprover-community/mathlib/commit/2fe465deb81bcd7ccafa065bb686888a82f15372
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Riccardo Brasca, Johan Commelin
! This file was ported from Lean 3 source module analysis.normed.group.SemiNormedGroup.completion
-! leanprover-community/mathlib commit 17ef379e997badd73e5eabb4d38f11919ab3c4b3
+! leanprover-community/mathlib commit 2fe465deb81bcd7ccafa065bb686888a82f15372
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -15,6 +15,9 @@ import Mathbin.Analysis.Normed.Group.HomCompletion
/-!
# Completions of normed groups
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file contains an API for completions of seminormed groups (basic facts about
objects and morphisms).
mathlib commit https://github.com/leanprover-community/mathlib/commit/1a51edf13debfcbe223fa06b1cb353b9ed9751cc
@@ -44,6 +44,7 @@ open UniformSpace MulOpposite CategoryTheory NormedAddGroupHom
namespace SemiNormedGroupCat
+#print SemiNormedGroupCat.completion /-
/-- The completion of a seminormed group, as an endofunctor on `SemiNormedGroup`. -/
@[simps]
def completion : SemiNormedGroupCat.{u} ⥤ SemiNormedGroupCat.{u}
@@ -53,11 +54,15 @@ def completion : SemiNormedGroupCat.{u} ⥤ SemiNormedGroupCat.{u}
map_id' V := completion_id
map_comp' U V W f g := (completion_comp f g).symm
#align SemiNormedGroup.Completion SemiNormedGroupCat.completion
+-/
+#print SemiNormedGroupCat.completion_completeSpace /-
instance completion_completeSpace {V : SemiNormedGroupCat} : CompleteSpace (completion.obj V) :=
Completion.completeSpace _
#align SemiNormedGroup.Completion_complete_space SemiNormedGroupCat.completion_completeSpace
+-/
+#print SemiNormedGroupCat.completion.incl /-
/-- The canonical morphism from a seminormed group `V` to its completion. -/
@[simps]
def completion.incl {V : SemiNormedGroupCat} : V ⟶ completion.obj V
@@ -66,18 +71,24 @@ def completion.incl {V : SemiNormedGroupCat} : V ⟶ completion.obj V
map_add' := Completion.coe_add
bound' := ⟨1, fun v => by simp⟩
#align SemiNormedGroup.Completion.incl SemiNormedGroupCat.completion.incl
+-/
+#print SemiNormedGroupCat.completion.norm_incl_eq /-
theorem completion.norm_incl_eq {V : SemiNormedGroupCat} {v : V} : ‖completion.incl v‖ = ‖v‖ := by
simp
#align SemiNormedGroup.Completion.norm_incl_eq SemiNormedGroupCat.completion.norm_incl_eq
+-/
+#print SemiNormedGroupCat.completion.map_normNoninc /-
theorem completion.map_normNoninc {V W : SemiNormedGroupCat} {f : V ⟶ W} (hf : f.NormNoninc) :
(completion.map f).NormNoninc :=
NormedAddGroupHom.NormNoninc.normNoninc_iff_norm_le_one.2 <|
(NormedAddGroupHom.norm_completion f).le.trans <|
NormedAddGroupHom.NormNoninc.normNoninc_iff_norm_le_one.1 hf
#align SemiNormedGroup.Completion.map_norm_noninc SemiNormedGroupCat.completion.map_normNoninc
+-/
+#print SemiNormedGroupCat.completion.mapHom /-
/-- Given a normed group hom `V ⟶ W`, this defines the associated morphism
from the completion of `V` to the completion of `W`.
The difference from the definition obtained from the functoriality of completion is in that the
@@ -86,11 +97,14 @@ def completion.mapHom (V W : SemiNormedGroupCat.{u}) :
(V ⟶ W) →+ (completion.obj V ⟶ completion.obj W) :=
AddMonoidHom.mk' (CategoryTheory.Functor.map completion) fun f g => f.completion_add g
#align SemiNormedGroup.Completion.map_hom SemiNormedGroupCat.completion.mapHom
+-/
+#print SemiNormedGroupCat.completion.map_zero /-
@[simp]
theorem completion.map_zero (V W : SemiNormedGroupCat) : completion.map (0 : V ⟶ W) = 0 :=
(completion.mapHom V W).map_zero
#align SemiNormedGroup.Completion.map_zero SemiNormedGroupCat.completion.map_zero
+-/
instance : Preadditive SemiNormedGroupCat.{u}
where
@@ -104,6 +118,7 @@ instance : Preadditive SemiNormedGroupCat.{u}
instance : Functor.Additive completion where map_add' X Y := (completion.mapHom _ _).map_add
+#print SemiNormedGroupCat.completion.lift /-
/-- Given a normed group hom `f : V → W` with `W` complete, this provides a lift of `f` to
the completion of `V`. The lemmas `lift_unique` and `lift_comp_incl` provide the api for the
universal property of the completion. -/
@@ -113,16 +128,21 @@ def completion.lift {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace
map_add' := f.extension.toAddMonoidHom.map_add'
bound' := f.extension.bound'
#align SemiNormedGroup.Completion.lift SemiNormedGroupCat.completion.lift
+-/
+#print SemiNormedGroupCat.completion.lift_comp_incl /-
theorem completion.lift_comp_incl {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace W]
(f : V ⟶ W) : completion.incl ≫ completion.lift f = f := by ext;
apply NormedAddGroupHom.extension_coe
#align SemiNormedGroup.Completion.lift_comp_incl SemiNormedGroupCat.completion.lift_comp_incl
+-/
+#print SemiNormedGroupCat.completion.lift_unique /-
theorem completion.lift_unique {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace W]
(f : V ⟶ W) (g : completion.obj V ⟶ W) : completion.incl ≫ g = f → g = completion.lift f :=
fun h => (NormedAddGroupHom.extension_unique _ fun v => ((ext_iff.1 h) v).symm).symm
#align SemiNormedGroup.Completion.lift_unique SemiNormedGroupCat.completion.lift_unique
+-/
end SemiNormedGroupCat
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -42,56 +42,57 @@ universe u
open UniformSpace MulOpposite CategoryTheory NormedAddGroupHom
-namespace SemiNormedGroup
+namespace SemiNormedGroupCat
/-- The completion of a seminormed group, as an endofunctor on `SemiNormedGroup`. -/
@[simps]
-def completion : SemiNormedGroup.{u} ⥤ SemiNormedGroup.{u}
+def completion : SemiNormedGroupCat.{u} ⥤ SemiNormedGroupCat.{u}
where
- obj V := SemiNormedGroup.of (completion V)
+ obj V := SemiNormedGroupCat.of (completion V)
map V W f := f.Completion
map_id' V := completion_id
map_comp' U V W f g := (completion_comp f g).symm
-#align SemiNormedGroup.Completion SemiNormedGroup.completion
+#align SemiNormedGroup.Completion SemiNormedGroupCat.completion
-instance completion_completeSpace {V : SemiNormedGroup} : CompleteSpace (completion.obj V) :=
+instance completion_completeSpace {V : SemiNormedGroupCat} : CompleteSpace (completion.obj V) :=
Completion.completeSpace _
-#align SemiNormedGroup.Completion_complete_space SemiNormedGroup.completion_completeSpace
+#align SemiNormedGroup.Completion_complete_space SemiNormedGroupCat.completion_completeSpace
/-- The canonical morphism from a seminormed group `V` to its completion. -/
@[simps]
-def completion.incl {V : SemiNormedGroup} : V ⟶ completion.obj V
+def completion.incl {V : SemiNormedGroupCat} : V ⟶ completion.obj V
where
toFun v := (v : completion V)
map_add' := Completion.coe_add
bound' := ⟨1, fun v => by simp⟩
-#align SemiNormedGroup.Completion.incl SemiNormedGroup.completion.incl
+#align SemiNormedGroup.Completion.incl SemiNormedGroupCat.completion.incl
-theorem completion.norm_incl_eq {V : SemiNormedGroup} {v : V} : ‖completion.incl v‖ = ‖v‖ := by simp
-#align SemiNormedGroup.Completion.norm_incl_eq SemiNormedGroup.completion.norm_incl_eq
+theorem completion.norm_incl_eq {V : SemiNormedGroupCat} {v : V} : ‖completion.incl v‖ = ‖v‖ := by
+ simp
+#align SemiNormedGroup.Completion.norm_incl_eq SemiNormedGroupCat.completion.norm_incl_eq
-theorem completion.map_normNoninc {V W : SemiNormedGroup} {f : V ⟶ W} (hf : f.NormNoninc) :
+theorem completion.map_normNoninc {V W : SemiNormedGroupCat} {f : V ⟶ W} (hf : f.NormNoninc) :
(completion.map f).NormNoninc :=
NormedAddGroupHom.NormNoninc.normNoninc_iff_norm_le_one.2 <|
(NormedAddGroupHom.norm_completion f).le.trans <|
NormedAddGroupHom.NormNoninc.normNoninc_iff_norm_le_one.1 hf
-#align SemiNormedGroup.Completion.map_norm_noninc SemiNormedGroup.completion.map_normNoninc
+#align SemiNormedGroup.Completion.map_norm_noninc SemiNormedGroupCat.completion.map_normNoninc
/-- Given a normed group hom `V ⟶ W`, this defines the associated morphism
from the completion of `V` to the completion of `W`.
The difference from the definition obtained from the functoriality of completion is in that the
map sending a morphism `f` to the associated morphism of completions is itself additive. -/
-def completion.mapHom (V W : SemiNormedGroup.{u}) :
+def completion.mapHom (V W : SemiNormedGroupCat.{u}) :
(V ⟶ W) →+ (completion.obj V ⟶ completion.obj W) :=
AddMonoidHom.mk' (CategoryTheory.Functor.map completion) fun f g => f.completion_add g
-#align SemiNormedGroup.Completion.map_hom SemiNormedGroup.completion.mapHom
+#align SemiNormedGroup.Completion.map_hom SemiNormedGroupCat.completion.mapHom
@[simp]
-theorem completion.map_zero (V W : SemiNormedGroup) : completion.map (0 : V ⟶ W) = 0 :=
+theorem completion.map_zero (V W : SemiNormedGroupCat) : completion.map (0 : V ⟶ W) = 0 :=
(completion.mapHom V W).map_zero
-#align SemiNormedGroup.Completion.map_zero SemiNormedGroup.completion.map_zero
+#align SemiNormedGroup.Completion.map_zero SemiNormedGroupCat.completion.map_zero
-instance : Preadditive SemiNormedGroup.{u}
+instance : Preadditive SemiNormedGroupCat.{u}
where
homGroup P Q := inferInstance
add_comp := by
@@ -106,22 +107,22 @@ instance : Functor.Additive completion where map_add' X Y := (completion.mapHom
/-- Given a normed group hom `f : V → W` with `W` complete, this provides a lift of `f` to
the completion of `V`. The lemmas `lift_unique` and `lift_comp_incl` provide the api for the
universal property of the completion. -/
-def completion.lift {V W : SemiNormedGroup} [CompleteSpace W] [SeparatedSpace W] (f : V ⟶ W) :
+def completion.lift {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace W] (f : V ⟶ W) :
completion.obj V ⟶ W where
toFun := f.extension
map_add' := f.extension.toAddMonoidHom.map_add'
bound' := f.extension.bound'
-#align SemiNormedGroup.Completion.lift SemiNormedGroup.completion.lift
+#align SemiNormedGroup.Completion.lift SemiNormedGroupCat.completion.lift
-theorem completion.lift_comp_incl {V W : SemiNormedGroup} [CompleteSpace W] [SeparatedSpace W]
+theorem completion.lift_comp_incl {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace W]
(f : V ⟶ W) : completion.incl ≫ completion.lift f = f := by ext;
apply NormedAddGroupHom.extension_coe
-#align SemiNormedGroup.Completion.lift_comp_incl SemiNormedGroup.completion.lift_comp_incl
+#align SemiNormedGroup.Completion.lift_comp_incl SemiNormedGroupCat.completion.lift_comp_incl
-theorem completion.lift_unique {V W : SemiNormedGroup} [CompleteSpace W] [SeparatedSpace W]
+theorem completion.lift_unique {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace W]
(f : V ⟶ W) (g : completion.obj V ⟶ W) : completion.incl ≫ g = f → g = completion.lift f :=
fun h => (NormedAddGroupHom.extension_unique _ fun v => ((ext_iff.1 h) v).symm).symm
-#align SemiNormedGroup.Completion.lift_unique SemiNormedGroup.completion.lift_unique
+#align SemiNormedGroup.Completion.lift_unique SemiNormedGroupCat.completion.lift_unique
-end SemiNormedGroup
+end SemiNormedGroupCat
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -95,10 +95,10 @@ instance : Preadditive SemiNormedGroup.{u}
where
homGroup P Q := inferInstance
add_comp := by
- intros ; ext
+ intros; ext
simp only [NormedAddGroupHom.add_apply, CategoryTheory.comp_apply, map_add]
comp_add := by
- intros ; ext
+ intros; ext
simp only [NormedAddGroupHom.add_apply, CategoryTheory.comp_apply, map_add]
instance : Functor.Additive completion where map_add' X Y := (completion.mapHom _ _).map_add
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -95,12 +95,10 @@ instance : Preadditive SemiNormedGroup.{u}
where
homGroup P Q := inferInstance
add_comp := by
- intros
- ext
+ intros ; ext
simp only [NormedAddGroupHom.add_apply, CategoryTheory.comp_apply, map_add]
comp_add := by
- intros
- ext
+ intros ; ext
simp only [NormedAddGroupHom.add_apply, CategoryTheory.comp_apply, map_add]
instance : Functor.Additive completion where map_add' X Y := (completion.mapHom _ _).map_add
@@ -116,9 +114,7 @@ def completion.lift {V W : SemiNormedGroup} [CompleteSpace W] [SeparatedSpace W]
#align SemiNormedGroup.Completion.lift SemiNormedGroup.completion.lift
theorem completion.lift_comp_incl {V W : SemiNormedGroup} [CompleteSpace W] [SeparatedSpace W]
- (f : V ⟶ W) : completion.incl ≫ completion.lift f = f :=
- by
- ext
+ (f : V ⟶ W) : completion.incl ≫ completion.lift f = f := by ext;
apply NormedAddGroupHom.extension_coe
#align SemiNormedGroup.Completion.lift_comp_incl SemiNormedGroup.completion.lift_comp_incl
mathlib commit https://github.com/leanprover-community/mathlib/commit/21e3562c5e12d846c7def5eff8cdbc520d7d4936
@@ -94,11 +94,11 @@ theorem completion.map_zero (V W : SemiNormedGroup) : completion.map (0 : V ⟶
instance : Preadditive SemiNormedGroup.{u}
where
homGroup P Q := inferInstance
- add_comp' := by
+ add_comp := by
intros
ext
simp only [NormedAddGroupHom.add_apply, CategoryTheory.comp_apply, map_add]
- comp_add' := by
+ comp_add := by
intros
ext
simp only [NormedAddGroupHom.add_apply, CategoryTheory.comp_apply, map_add]
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
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;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
@@ -125,19 +125,19 @@ instance : Functor.Additive completion where
/-- Given a normed group hom `f : V → W` with `W` complete, this provides a lift of `f` to
the completion of `V`. The lemmas `lift_unique` and `lift_comp_incl` provide the api for the
universal property of the completion. -/
-def completion.lift {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace W] (f : V ⟶ W) :
+def completion.lift {V W : SemiNormedGroupCat} [CompleteSpace W] [T0Space W] (f : V ⟶ W) :
completion.obj V ⟶ W where
toFun := f.extension
map_add' := f.extension.toAddMonoidHom.map_add'
bound' := f.extension.bound'
#align SemiNormedGroup.Completion.lift SemiNormedGroupCat.completion.lift
-theorem completion.lift_comp_incl {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace W]
+theorem completion.lift_comp_incl {V W : SemiNormedGroupCat} [CompleteSpace W] [T0Space W]
(f : V ⟶ W) : completion.incl ≫ completion.lift f = f :=
ext <| NormedAddGroupHom.extension_coe _
#align SemiNormedGroup.Completion.lift_comp_incl SemiNormedGroupCat.completion.lift_comp_incl
-theorem completion.lift_unique {V W : SemiNormedGroupCat} [CompleteSpace W] [SeparatedSpace W]
+theorem completion.lift_unique {V W : SemiNormedGroupCat} [CompleteSpace W] [T0Space W]
(f : V ⟶ W) (g : completion.obj V ⟶ W) : completion.incl ≫ g = f → g = completion.lift f :=
fun h => (NormedAddGroupHom.extension_unique _ fun v => ((ext_iff.1 h) v).symm).symm
#align SemiNormedGroup.Completion.lift_unique SemiNormedGroupCat.completion.lift_unique
@@ -17,17 +17,17 @@ objects and morphisms).
## Main definitions
-- `SemiNormedGroup.Completion : SemiNormedGroup ⥤ SemiNormedGroup` : the completion of a
- seminormed group (defined as a functor on `SemiNormedGroup` to itself).
-- `SemiNormedGroup.Completion.lift (f : V ⟶ W) : (Completion.obj V ⟶ W)` : a normed group hom
+- `SemiNormedGroupCat.Completion : SemiNormedGroupCat ⥤ SemiNormedGroupCat` : the completion of a
+ seminormed group (defined as a functor on `SemiNormedGroupCat` to itself).
+- `SemiNormedGroupCat.Completion.lift (f : V ⟶ W) : (Completion.obj V ⟶ W)` : a normed group hom
from `V` to complete `W` extends ("lifts") to a seminormed group hom from the completion of
`V` to `W`.
## Projects
-1. Construct the category of complete seminormed groups, say `CompleteSemiNormedGroup`
+1. Construct the category of complete seminormed groups, say `CompleteSemiNormedGroupCat`
and promote the `Completion` functor below to a functor landing in this category.
-2. Prove that the functor `Completion : SemiNormedGroup ⥤ CompleteSemiNormedGroup`
+2. Prove that the functor `Completion : SemiNormedGroupCat ⥤ CompleteSemiNormedGroupCat`
is left adjoint to the forgetful functor.
-/
@@ -42,7 +42,7 @@ set_option linter.uppercaseLean3 false
namespace SemiNormedGroupCat
-/-- The completion of a seminormed group, as an endofunctor on `SemiNormedGroup`. -/
+/-- The completion of a seminormed group, as an endofunctor on `SemiNormedGroupCat`. -/
@[simps]
def completion : SemiNormedGroupCat.{u} ⥤ SemiNormedGroupCat.{u} where
obj V := SemiNormedGroupCat.of (Completion V)
@@ -85,8 +85,8 @@ The difference from the definition obtained from the functoriality of completion
map sending a morphism `f` to the associated morphism of completions is itself additive. -/
def completion.mapHom (V W : SemiNormedGroupCat.{u}) :
-- Porting note: cannot see instances through concrete cats
- have (V W : SemiNormedGroupCat.{u}) : AddGroup (V ⟶ W) := inferInstanceAs <| AddGroup
- <| NormedAddGroupHom V W
+ have (V W : SemiNormedGroupCat.{u}) : AddGroup (V ⟶ W) :=
+ inferInstanceAs <| AddGroup <| NormedAddGroupHom V W
(V ⟶ W) →+ (completion.obj V ⟶ completion.obj W) :=
@AddMonoidHom.mk' _ _ (_) (_) completion.map fun f g => f.completion_add g
#align SemiNormedGroup.Completion.map_hom SemiNormedGroupCat.completion.mapHom
@@ -99,8 +99,8 @@ theorem completion.map_zero (V W : SemiNormedGroupCat) : completion.map (0 : V
instance : Preadditive SemiNormedGroupCat.{u} where
homGroup P Q := inferInstanceAs <| AddCommGroup <| NormedAddGroupHom P Q
- add_comp := by
- intros _ Q _ f f' g; ext x
+ add_comp _ Q _ f f' g := by
+ ext x
-- Porting note: failing simps probably due to instance synthesis issues with concrete
-- cats; see the gymnastics below for what used to be
-- simp only [add_apply, comp_apply. map_add]
@@ -108,8 +108,8 @@ instance : Preadditive SemiNormedGroupCat.{u} where
rw [NormedAddGroupHom.add_apply]; erw [CategoryTheory.comp_apply, CategoryTheory.comp_apply,
CategoryTheory.comp_apply, @NormedAddGroupHom.add_apply _ _ (_) (_)]
convert map_add g (f x) (f' x)
- comp_add := by
- intros; ext
+ comp_add _ _ _ _ _ _ := by
+ ext
-- Porting note: failing simps probably due to instance synthesis issues with concrete
-- cats; see the gymnastics below for what used to be
-- simp only [add_apply, comp_apply. map_add]
@@ -63,6 +63,9 @@ def completion.incl {V : SemiNormedGroupCat} : V ⟶ completion.obj V where
bound' := ⟨1, fun v => by simp⟩
#align SemiNormedGroup.Completion.incl SemiNormedGroupCat.completion.incl
+-- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
+attribute [nolint simpNF] SemiNormedGroupCat.completion.incl_apply
+
theorem completion.norm_incl_eq {V : SemiNormedGroupCat} {v : V} : ‖completion.incl v‖ = ‖v‖ :=
UniformSpace.Completion.norm_coe _
#align SemiNormedGroup.Completion.norm_incl_eq SemiNormedGroupCat.completion.norm_incl_eq
@@ -101,7 +104,8 @@ instance : Preadditive SemiNormedGroupCat.{u} where
-- Porting note: failing simps probably due to instance synthesis issues with concrete
-- cats; see the gymnastics below for what used to be
-- simp only [add_apply, comp_apply. map_add]
- rw [NormedAddGroupHom.add_apply, CategoryTheory.comp_apply, CategoryTheory.comp_apply,
+ -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+ rw [NormedAddGroupHom.add_apply]; erw [CategoryTheory.comp_apply, CategoryTheory.comp_apply,
CategoryTheory.comp_apply, @NormedAddGroupHom.add_apply _ _ (_) (_)]
convert map_add g (f x) (f' x)
comp_add := by
@@ -109,8 +113,11 @@ instance : Preadditive SemiNormedGroupCat.{u} where
-- Porting note: failing simps probably due to instance synthesis issues with concrete
-- cats; see the gymnastics below for what used to be
-- simp only [add_apply, comp_apply. map_add]
- rw [NormedAddGroupHom.add_apply, CategoryTheory.comp_apply, CategoryTheory.comp_apply,
+ rw [NormedAddGroupHom.add_apply]
+ -- This used to be a single `rw`, but we need `erw` after leanprover/lean4#2644
+ erw [CategoryTheory.comp_apply, CategoryTheory.comp_apply,
CategoryTheory.comp_apply, @NormedAddGroupHom.add_apply _ _ (_) (_)]
+ rfl
instance : Functor.Additive completion where
map_add := NormedAddGroupHom.completion_add _ _
@@ -136,4 +143,3 @@ theorem completion.lift_unique {V W : SemiNormedGroupCat} [CompleteSpace W] [Sep
#align SemiNormedGroup.Completion.lift_unique SemiNormedGroupCat.completion.lift_unique
end SemiNormedGroupCat
-
@@ -63,9 +63,6 @@ def completion.incl {V : SemiNormedGroupCat} : V ⟶ completion.obj V where
bound' := ⟨1, fun v => by simp⟩
#align SemiNormedGroup.Completion.incl SemiNormedGroupCat.completion.incl
--- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
-attribute [nolint simpNF] SemiNormedGroupCat.completion.incl_apply
-
theorem completion.norm_incl_eq {V : SemiNormedGroupCat} {v : V} : ‖completion.incl v‖ = ‖v‖ :=
UniformSpace.Completion.norm_coe _
#align SemiNormedGroup.Completion.norm_incl_eq SemiNormedGroupCat.completion.norm_incl_eq
@@ -104,8 +101,7 @@ instance : Preadditive SemiNormedGroupCat.{u} where
-- Porting note: failing simps probably due to instance synthesis issues with concrete
-- cats; see the gymnastics below for what used to be
-- simp only [add_apply, comp_apply. map_add]
- -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
- rw [NormedAddGroupHom.add_apply]; erw [CategoryTheory.comp_apply, CategoryTheory.comp_apply,
+ rw [NormedAddGroupHom.add_apply, CategoryTheory.comp_apply, CategoryTheory.comp_apply,
CategoryTheory.comp_apply, @NormedAddGroupHom.add_apply _ _ (_) (_)]
convert map_add g (f x) (f' x)
comp_add := by
@@ -113,11 +109,8 @@ instance : Preadditive SemiNormedGroupCat.{u} where
-- Porting note: failing simps probably due to instance synthesis issues with concrete
-- cats; see the gymnastics below for what used to be
-- simp only [add_apply, comp_apply. map_add]
- rw [NormedAddGroupHom.add_apply]
- -- This used to be a single `rw`, but we need `erw` after leanprover/lean4#2644
- erw [CategoryTheory.comp_apply, CategoryTheory.comp_apply,
+ rw [NormedAddGroupHom.add_apply, CategoryTheory.comp_apply, CategoryTheory.comp_apply,
CategoryTheory.comp_apply, @NormedAddGroupHom.add_apply _ _ (_) (_)]
- rfl
instance : Functor.Additive completion where
map_add := NormedAddGroupHom.completion_add _ _
@@ -143,3 +136,4 @@ theorem completion.lift_unique {V W : SemiNormedGroupCat} [CompleteSpace W] [Sep
#align SemiNormedGroup.Completion.lift_unique SemiNormedGroupCat.completion.lift_unique
end SemiNormedGroupCat
+
@@ -63,6 +63,9 @@ def completion.incl {V : SemiNormedGroupCat} : V ⟶ completion.obj V where
bound' := ⟨1, fun v => by simp⟩
#align SemiNormedGroup.Completion.incl SemiNormedGroupCat.completion.incl
+-- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
+attribute [nolint simpNF] SemiNormedGroupCat.completion.incl_apply
+
theorem completion.norm_incl_eq {V : SemiNormedGroupCat} {v : V} : ‖completion.incl v‖ = ‖v‖ :=
UniformSpace.Completion.norm_coe _
#align SemiNormedGroup.Completion.norm_incl_eq SemiNormedGroupCat.completion.norm_incl_eq
@@ -101,7 +104,8 @@ instance : Preadditive SemiNormedGroupCat.{u} where
-- Porting note: failing simps probably due to instance synthesis issues with concrete
-- cats; see the gymnastics below for what used to be
-- simp only [add_apply, comp_apply. map_add]
- rw [NormedAddGroupHom.add_apply, CategoryTheory.comp_apply, CategoryTheory.comp_apply,
+ -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+ rw [NormedAddGroupHom.add_apply]; erw [CategoryTheory.comp_apply, CategoryTheory.comp_apply,
CategoryTheory.comp_apply, @NormedAddGroupHom.add_apply _ _ (_) (_)]
convert map_add g (f x) (f' x)
comp_add := by
@@ -109,8 +113,11 @@ instance : Preadditive SemiNormedGroupCat.{u} where
-- Porting note: failing simps probably due to instance synthesis issues with concrete
-- cats; see the gymnastics below for what used to be
-- simp only [add_apply, comp_apply. map_add]
- rw [NormedAddGroupHom.add_apply, CategoryTheory.comp_apply, CategoryTheory.comp_apply,
+ rw [NormedAddGroupHom.add_apply]
+ -- This used to be a single `rw`, but we need `erw` after leanprover/lean4#2644
+ erw [CategoryTheory.comp_apply, CategoryTheory.comp_apply,
CategoryTheory.comp_apply, @NormedAddGroupHom.add_apply _ _ (_) (_)]
+ rfl
instance : Functor.Additive completion where
map_add := NormedAddGroupHom.completion_add _ _
@@ -136,4 +143,3 @@ theorem completion.lift_unique {V W : SemiNormedGroupCat} [CompleteSpace W] [Sep
#align SemiNormedGroup.Completion.lift_unique SemiNormedGroupCat.completion.lift_unique
end SemiNormedGroupCat
-
@@ -2,16 +2,13 @@
Copyright (c) 2021 Riccardo Brasca. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Riccardo Brasca, Johan Commelin
-
-! This file was ported from Lean 3 source module analysis.normed.group.SemiNormedGroup.completion
-! leanprover-community/mathlib commit 17ef379e997badd73e5eabb4d38f11919ab3c4b3
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Analysis.Normed.Group.SemiNormedGroupCat
import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor
import Mathlib.Analysis.Normed.Group.HomCompletion
+#align_import analysis.normed.group.SemiNormedGroup.completion from "leanprover-community/mathlib"@"17ef379e997badd73e5eabb4d38f11919ab3c4b3"
+
/-!
# Completions of normed groups
The unported dependencies are
algebra.order.module
init.core
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file