topology.algebra.affine
⟷
Mathlib.Topology.Algebra.Affine
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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2020 Frédéric Dupuis. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Frédéric Dupuis
-/
-import Mathbin.LinearAlgebra.AffineSpace.AffineMap
-import Mathbin.Topology.Algebra.Group.Basic
-import Mathbin.Topology.Algebra.MulAction
+import LinearAlgebra.AffineSpace.AffineMap
+import Topology.Algebra.Group.Basic
+import Topology.Algebra.MulAction
#align_import topology.algebra.affine from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2020 Frédéric Dupuis. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Frédéric Dupuis
-
-! This file was ported from Lean 3 source module topology.algebra.affine
-! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.LinearAlgebra.AffineSpace.AffineMap
import Mathbin.Topology.Algebra.Group.Basic
import Mathbin.Topology.Algebra.MulAction
+#align_import topology.algebra.affine from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
+
/-!
# Topological properties of affine spaces and maps
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -39,6 +39,7 @@ section Ring
variable [Ring R] [Module R E] [Module R F]
+#print AffineMap.continuous_iff /-
/-- An affine map is continuous iff its underlying linear map is continuous. See also
`affine_map.continuous_linear_iff`. -/
theorem continuous_iff {f : E →ᵃ[R] F} : Continuous f ↔ Continuous f.linear :=
@@ -53,7 +54,9 @@ theorem continuous_iff {f : E →ᵃ[R] F} : Continuous f ↔ Continuous f.linea
have := hc.add continuous_const
exact this
#align affine_map.continuous_iff AffineMap.continuous_iff
+-/
+#print AffineMap.lineMap_continuous /-
/-- The line map is continuous. -/
@[continuity]
theorem lineMap_continuous [TopologicalSpace R] [ContinuousSMul R F] {p v : F} :
@@ -61,6 +64,7 @@ theorem lineMap_continuous [TopologicalSpace R] [ContinuousSMul R F] {p v : F} :
continuous_iff.mpr <|
(continuous_id.smul continuous_const).add <| @continuous_const _ _ _ _ (0 : F)
#align affine_map.line_map_continuous AffineMap.lineMap_continuous
+-/
end Ring
@@ -84,10 +88,12 @@ section Field
variable [Field R] [Module R F] [ContinuousConstSMul R F]
+#print AffineMap.homothety_isOpenMap /-
theorem homothety_isOpenMap (x : F) (t : R) (ht : t ≠ 0) : IsOpenMap <| homothety x t := by
apply IsOpenMap.of_inverse (homothety_continuous x t⁻¹) <;> intro e <;>
simp [← AffineMap.comp_apply, ← homothety_mul, ht]
#align affine_map.homothety_is_open_map AffineMap.homothety_isOpenMap
+-/
end Field
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -39,9 +39,6 @@ section Ring
variable [Ring R] [Module R E] [Module R F]
-/- warning: affine_map.continuous_iff -> AffineMap.continuous_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_map.continuous_iff AffineMap.continuous_iffₓ'. -/
/-- An affine map is continuous iff its underlying linear map is continuous. See also
`affine_map.continuous_linear_iff`. -/
theorem continuous_iff {f : E →ᵃ[R] F} : Continuous f ↔ Continuous f.linear :=
@@ -57,12 +54,6 @@ theorem continuous_iff {f : E →ᵃ[R] F} : Continuous f ↔ Continuous f.linea
exact this
#align affine_map.continuous_iff AffineMap.continuous_iff
-/- warning: affine_map.line_map_continuous -> AffineMap.lineMap_continuous is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {F : Type.{u2}} [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : TopologicalSpace.{u2} F] [_inst_5 : TopologicalAddGroup.{u2} F _inst_4 (AddCommGroup.toAddGroup.{u2} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_8 : Module.{u1, u2} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_9 : TopologicalSpace.{u1} R] [_inst_10 : ContinuousSMul.{u1, u2} R F (SMulZeroClass.toHasSmul.{u1, u2} R F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R F (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_6))))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R F (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (Module.toMulActionWithZero.{u1, u2} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u1, u2} R F _inst_9 _inst_4 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (fun (_x : AffineMap.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) => R -> F) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (AffineMap.lineMap.{u1, u2, u2} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) p v))
-but is expected to have type
- forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u2} R] [_inst_8 : Module.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_9 : TopologicalSpace.{u2} R] [_inst_10 : ContinuousSMul.{u2, u1} R F (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6)) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u2, u1} R F _inst_9 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u2, u2, u2, u1, u1} R R R F F _inst_6 (Ring.toAddCommGroup.{u2} R _inst_6) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_6)) (addGroupIsAddTorsor.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (Ring.toAddGroupWithOne.{u2} R _inst_6))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => F) _x) (AffineMap.funLike.{u2, u2, u2, u1, u1} R R R F F _inst_6 (Ring.toAddCommGroup.{u2} R _inst_6) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_6)) (addGroupIsAddTorsor.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (Ring.toAddGroupWithOne.{u2} R _inst_6))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) (AffineMap.lineMap.{u2, u1, u1} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) p v))
-Case conversion may be inaccurate. Consider using '#align affine_map.line_map_continuous AffineMap.lineMap_continuousₓ'. -/
/-- The line map is continuous. -/
@[continuity]
theorem lineMap_continuous [TopologicalSpace R] [ContinuousSMul R F] {p v : F} :
@@ -93,12 +84,6 @@ section Field
variable [Field R] [Module R F] [ContinuousConstSMul R F]
-/- warning: affine_map.homothety_is_open_map -> AffineMap.homothety_isOpenMap is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {F : Type.{u2}} [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : TopologicalSpace.{u2} F] [_inst_5 : TopologicalAddGroup.{u2} F _inst_4 (AddCommGroup.toAddGroup.{u2} F _inst_3)] [_inst_6 : Field.{u1} R] [_inst_7 : Module.{u1, u2} R F (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_8 : ContinuousConstSMul.{u1, u2} R F _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} R F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R F (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))))))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R F (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6)))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (Module.toMulActionWithZero.{u1, u2} R F (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_7))))] (x : F) (t : R), (Ne.{succ u1} R t (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))))))))))) -> (IsOpenMap.{u2, u2} F F _inst_4 _inst_4 (coeFn.{succ u2, succ u2} (AffineMap.{u1, u2, u2, u2, u2} R F F F F (CommRing.toRing.{u1} R (Field.toCommRing.{u1} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u2, u2} R F F F F (CommRing.toRing.{u1} R (Field.toCommRing.{u1} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) => F -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u2, u2} R F F F F (CommRing.toRing.{u1} R (Field.toCommRing.{u1} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (AffineMap.homothety.{u1, u2, u2} R F F (Field.toCommRing.{u1} R _inst_6) _inst_3 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_7 x t)))
-but is expected to have type
- forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Field.{u2} R] [_inst_7 : Module.{u2, u1} R F (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_8 : ContinuousConstSMul.{u2, u1} R F _inst_4 (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (CommMonoidWithZero.toZero.{u2} R (CommGroupWithZero.toCommMonoidWithZero.{u2} R (Semifield.toCommGroupWithZero.{u2} R (Field.toSemifield.{u2} R _inst_6)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7))))] (x : F) (t : R), (Ne.{succ u2} R t (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommGroupWithZero.toCommMonoidWithZero.{u2} R (Semifield.toCommGroupWithZero.{u2} R (Field.toSemifield.{u2} R _inst_6))))))) -> (IsOpenMap.{u1, u1} F F _inst_4 _inst_4 (FunLike.coe.{succ u1, succ u1, succ u1} (AffineMap.{u2, u1, u1, u1, u1} R F F F F (CommRing.toRing.{u2} R (Field.toCommRing.{u2} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) F (fun (_x : F) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : F) => F) _x) (AffineMap.funLike.{u2, u1, u1, u1, u1} R F F F F (CommRing.toRing.{u2} R (Field.toCommRing.{u2} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) (AffineMap.homothety.{u2, u1, u1} R F F (Field.toCommRing.{u2} R _inst_6) _inst_3 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_7 x t)))
-Case conversion may be inaccurate. Consider using '#align affine_map.homothety_is_open_map AffineMap.homothety_isOpenMapₓ'. -/
theorem homothety_isOpenMap (x : F) (t : R) (ht : t ≠ 0) : IsOpenMap <| homothety x t := by
apply IsOpenMap.of_inverse (homothety_continuous x t⁻¹) <;> intro e <;>
simp [← AffineMap.comp_apply, ← homothety_mul, ht]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -81,10 +81,7 @@ variable [CommRing R] [Module R F] [ContinuousConstSMul R F]
@[continuity]
theorem homothety_continuous (x : F) (t : R) : Continuous <| homothety x t :=
by
- suffices ⇑(homothety x t) = fun y => t • (y - x) + x
- by
- rw [this]
- continuity
+ suffices ⇑(homothety x t) = fun y => t • (y - x) + x by rw [this]; continuity
ext y
simp [homothety_apply]
#align affine_map.homothety_continuous AffineMap.homothety_continuous
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -40,10 +40,7 @@ section Ring
variable [Ring R] [Module R E] [Module R F]
/- warning: affine_map.continuous_iff -> AffineMap.continuous_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : TopologicalSpace.{u3} F] [_inst_5 : TopologicalAddGroup.{u3} F _inst_4 (AddCommGroup.toAddGroup.{u3} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_7 : Module.{u1, u2} R E (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u1, u3} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {f : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))}, Iff (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f)) (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R E F (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6)))) (AffineMap.linear.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3)) f)))
-but is expected to have type
- forall {R : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u3} R] [_inst_7 : Module.{u3, u2} R E (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u3, u1} R F (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {f : AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))}, Iff (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f)) (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R E F (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6)))) (AffineMap.linear.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_map.continuous_iff AffineMap.continuous_iffₓ'. -/
/-- An affine map is continuous iff its underlying linear map is continuous. See also
`affine_map.continuous_linear_iff`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -43,7 +43,7 @@ variable [Ring R] [Module R E] [Module R F]
lean 3 declaration is
forall {R : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : TopologicalSpace.{u3} F] [_inst_5 : TopologicalAddGroup.{u3} F _inst_4 (AddCommGroup.toAddGroup.{u3} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_7 : Module.{u1, u2} R E (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u1, u3} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {f : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))}, Iff (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f)) (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R E F (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6)))) (AffineMap.linear.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3)) f)))
but is expected to have type
- forall {R : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u3} R] [_inst_7 : Module.{u3, u2} R E (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u3, u1} R F (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {f : AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))}, Iff (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f)) (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R E F (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6)))) (AffineMap.linear.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)))
+ forall {R : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u3} R] [_inst_7 : Module.{u3, u2} R E (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u3, u1} R F (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {f : AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))}, Iff (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f)) (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R E F (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6)))) (AffineMap.linear.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)))
Case conversion may be inaccurate. Consider using '#align affine_map.continuous_iff AffineMap.continuous_iffₓ'. -/
/-- An affine map is continuous iff its underlying linear map is continuous. See also
`affine_map.continuous_linear_iff`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -43,7 +43,7 @@ variable [Ring R] [Module R E] [Module R F]
lean 3 declaration is
forall {R : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : TopologicalSpace.{u3} F] [_inst_5 : TopologicalAddGroup.{u3} F _inst_4 (AddCommGroup.toAddGroup.{u3} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_7 : Module.{u1, u2} R E (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u1, u3} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {f : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))}, Iff (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f)) (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R E F (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6)))) (AffineMap.linear.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3)) f)))
but is expected to have type
- forall {R : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u3} R] [_inst_7 : Module.{u3, u2} R E (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u3, u1} R F (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {f : AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))}, Iff (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f)) (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R E F (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6)))) (AffineMap.linear.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)))
+ forall {R : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u3} R] [_inst_7 : Module.{u3, u2} R E (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u3, u1} R F (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {f : AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))}, Iff (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f)) (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R E F (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6)))) (AffineMap.linear.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)))
Case conversion may be inaccurate. Consider using '#align affine_map.continuous_iff AffineMap.continuous_iffₓ'. -/
/-- An affine map is continuous iff its underlying linear map is continuous. See also
`affine_map.continuous_linear_iff`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -43,7 +43,7 @@ variable [Ring R] [Module R E] [Module R F]
lean 3 declaration is
forall {R : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : TopologicalSpace.{u3} F] [_inst_5 : TopologicalAddGroup.{u3} F _inst_4 (AddCommGroup.toAddGroup.{u3} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_7 : Module.{u1, u2} R E (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u1, u3} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {f : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))}, Iff (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f)) (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R E F (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6)))) (AffineMap.linear.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3)) f)))
but is expected to have type
- forall {R : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u3} R] [_inst_7 : Module.{u3, u2} R E (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u3, u1} R F (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {f : AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))}, Iff (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f)) (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R E F (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6)))) (AffineMap.linear.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)))
+ forall {R : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u3} R] [_inst_7 : Module.{u3, u2} R E (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u3, u1} R F (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {f : AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))}, Iff (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f)) (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R E F (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6)))) (AffineMap.linear.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)))
Case conversion may be inaccurate. Consider using '#align affine_map.continuous_iff AffineMap.continuous_iffₓ'. -/
/-- An affine map is continuous iff its underlying linear map is continuous. See also
`affine_map.continuous_linear_iff`. -/
@@ -64,7 +64,7 @@ theorem continuous_iff {f : E →ᵃ[R] F} : Continuous f ↔ Continuous f.linea
lean 3 declaration is
forall {R : Type.{u1}} {F : Type.{u2}} [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : TopologicalSpace.{u2} F] [_inst_5 : TopologicalAddGroup.{u2} F _inst_4 (AddCommGroup.toAddGroup.{u2} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_8 : Module.{u1, u2} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_9 : TopologicalSpace.{u1} R] [_inst_10 : ContinuousSMul.{u1, u2} R F (SMulZeroClass.toHasSmul.{u1, u2} R F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R F (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_6))))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R F (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (Module.toMulActionWithZero.{u1, u2} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u1, u2} R F _inst_9 _inst_4 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (fun (_x : AffineMap.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) => R -> F) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (AffineMap.lineMap.{u1, u2, u2} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) p v))
but is expected to have type
- forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u2} R] [_inst_8 : Module.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_9 : TopologicalSpace.{u2} R] [_inst_10 : ContinuousSMul.{u2, u1} R F (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6)) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u2, u1} R F _inst_9 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u2, u2, u2, u1, u1} R R R F F _inst_6 (Ring.toAddCommGroup.{u2} R _inst_6) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_6) (addGroupIsAddTorsor.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (Ring.toAddGroupWithOne.{u2} R _inst_6))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => F) _x) (AffineMap.funLike.{u2, u2, u2, u1, u1} R R R F F _inst_6 (Ring.toAddCommGroup.{u2} R _inst_6) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_6) (addGroupIsAddTorsor.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (Ring.toAddGroupWithOne.{u2} R _inst_6))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) (AffineMap.lineMap.{u2, u1, u1} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) p v))
+ forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u2} R] [_inst_8 : Module.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_9 : TopologicalSpace.{u2} R] [_inst_10 : ContinuousSMul.{u2, u1} R F (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6)) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u2, u1} R F _inst_9 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u2, u2, u2, u1, u1} R R R F F _inst_6 (Ring.toAddCommGroup.{u2} R _inst_6) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_6)) (addGroupIsAddTorsor.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (Ring.toAddGroupWithOne.{u2} R _inst_6))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => F) _x) (AffineMap.funLike.{u2, u2, u2, u1, u1} R R R F F _inst_6 (Ring.toAddCommGroup.{u2} R _inst_6) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_6)) (addGroupIsAddTorsor.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (Ring.toAddGroupWithOne.{u2} R _inst_6))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) (AffineMap.lineMap.{u2, u1, u1} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) p v))
Case conversion may be inaccurate. Consider using '#align affine_map.line_map_continuous AffineMap.lineMap_continuousₓ'. -/
/-- The line map is continuous. -/
@[continuity]
@@ -103,7 +103,7 @@ variable [Field R] [Module R F] [ContinuousConstSMul R F]
lean 3 declaration is
forall {R : Type.{u1}} {F : Type.{u2}} [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : TopologicalSpace.{u2} F] [_inst_5 : TopologicalAddGroup.{u2} F _inst_4 (AddCommGroup.toAddGroup.{u2} F _inst_3)] [_inst_6 : Field.{u1} R] [_inst_7 : Module.{u1, u2} R F (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_8 : ContinuousConstSMul.{u1, u2} R F _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} R F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R F (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))))))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R F (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6)))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (Module.toMulActionWithZero.{u1, u2} R F (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_7))))] (x : F) (t : R), (Ne.{succ u1} R t (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))))))))))) -> (IsOpenMap.{u2, u2} F F _inst_4 _inst_4 (coeFn.{succ u2, succ u2} (AffineMap.{u1, u2, u2, u2, u2} R F F F F (CommRing.toRing.{u1} R (Field.toCommRing.{u1} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u2, u2} R F F F F (CommRing.toRing.{u1} R (Field.toCommRing.{u1} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) => F -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u2, u2} R F F F F (CommRing.toRing.{u1} R (Field.toCommRing.{u1} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (AffineMap.homothety.{u1, u2, u2} R F F (Field.toCommRing.{u1} R _inst_6) _inst_3 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_7 x t)))
but is expected to have type
- forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Field.{u2} R] [_inst_7 : Module.{u2, u1} R F (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_8 : ContinuousConstSMul.{u2, u1} R F _inst_4 (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (CommMonoidWithZero.toZero.{u2} R (CommGroupWithZero.toCommMonoidWithZero.{u2} R (Semifield.toCommGroupWithZero.{u2} R (Field.toSemifield.{u2} R _inst_6)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7))))] (x : F) (t : R), (Ne.{succ u2} R t (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommGroupWithZero.toCommMonoidWithZero.{u2} R (Semifield.toCommGroupWithZero.{u2} R (Field.toSemifield.{u2} R _inst_6))))))) -> (IsOpenMap.{u1, u1} F F _inst_4 _inst_4 (FunLike.coe.{succ u1, succ u1, succ u1} (AffineMap.{u2, u1, u1, u1, u1} R F F F F (CommRing.toRing.{u2} R (Field.toCommRing.{u2} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) F (fun (_x : F) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : F) => F) _x) (AffineMap.funLike.{u2, u1, u1, u1, u1} R F F F F (CommRing.toRing.{u2} R (Field.toCommRing.{u2} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) (AffineMap.homothety.{u2, u1, u1} R F F (Field.toCommRing.{u2} R _inst_6) _inst_3 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_7 x t)))
+ forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Field.{u2} R] [_inst_7 : Module.{u2, u1} R F (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_8 : ContinuousConstSMul.{u2, u1} R F _inst_4 (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (CommMonoidWithZero.toZero.{u2} R (CommGroupWithZero.toCommMonoidWithZero.{u2} R (Semifield.toCommGroupWithZero.{u2} R (Field.toSemifield.{u2} R _inst_6)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7))))] (x : F) (t : R), (Ne.{succ u2} R t (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommGroupWithZero.toCommMonoidWithZero.{u2} R (Semifield.toCommGroupWithZero.{u2} R (Field.toSemifield.{u2} R _inst_6))))))) -> (IsOpenMap.{u1, u1} F F _inst_4 _inst_4 (FunLike.coe.{succ u1, succ u1, succ u1} (AffineMap.{u2, u1, u1, u1, u1} R F F F F (CommRing.toRing.{u2} R (Field.toCommRing.{u2} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) F (fun (_x : F) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : F) => F) _x) (AffineMap.funLike.{u2, u1, u1, u1, u1} R F F F F (CommRing.toRing.{u2} R (Field.toCommRing.{u2} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) (AffineMap.homothety.{u2, u1, u1} R F F (Field.toCommRing.{u2} R _inst_6) _inst_3 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_7 x t)))
Case conversion may be inaccurate. Consider using '#align affine_map.homothety_is_open_map AffineMap.homothety_isOpenMapₓ'. -/
theorem homothety_isOpenMap (x : F) (t : R) (ht : t ≠ 0) : IsOpenMap <| homothety x t := by
apply IsOpenMap.of_inverse (homothety_continuous x t⁻¹) <;> intro e <;>
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce86f4e05e9a9b8da5e316b22c76ce76440c56a1
@@ -62,7 +62,7 @@ theorem continuous_iff {f : E →ᵃ[R] F} : Continuous f ↔ Continuous f.linea
/- warning: affine_map.line_map_continuous -> AffineMap.lineMap_continuous is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {F : Type.{u2}} [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : TopologicalSpace.{u2} F] [_inst_5 : TopologicalAddGroup.{u2} F _inst_4 (AddCommGroup.toAddGroup.{u2} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_8 : Module.{u1, u2} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_9 : TopologicalSpace.{u1} R] [_inst_10 : ContinuousSMul.{u1, u2} R F (SMulZeroClass.toHasSmul.{u1, u2} R F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R F (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_6))))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R F (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (Module.toMulActionWithZero.{u1, u2} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u1, u2} R F _inst_9 _inst_4 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (fun (_x : AffineMap.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) => R -> F) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (AffineMap.lineMap.{u1, u2, u2} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) p v))
+ forall {R : Type.{u1}} {F : Type.{u2}} [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : TopologicalSpace.{u2} F] [_inst_5 : TopologicalAddGroup.{u2} F _inst_4 (AddCommGroup.toAddGroup.{u2} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_8 : Module.{u1, u2} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_9 : TopologicalSpace.{u1} R] [_inst_10 : ContinuousSMul.{u1, u2} R F (SMulZeroClass.toHasSmul.{u1, u2} R F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R F (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_6))))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R F (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (Module.toMulActionWithZero.{u1, u2} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u1, u2} R F _inst_9 _inst_4 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (fun (_x : AffineMap.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) => R -> F) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (AffineMap.lineMap.{u1, u2, u2} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) p v))
but is expected to have type
forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u2} R] [_inst_8 : Module.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_9 : TopologicalSpace.{u2} R] [_inst_10 : ContinuousSMul.{u2, u1} R F (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6)) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u2, u1} R F _inst_9 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u2, u2, u2, u1, u1} R R R F F _inst_6 (Ring.toAddCommGroup.{u2} R _inst_6) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_6) (addGroupIsAddTorsor.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (Ring.toAddGroupWithOne.{u2} R _inst_6))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => F) _x) (AffineMap.funLike.{u2, u2, u2, u1, u1} R R R F F _inst_6 (Ring.toAddCommGroup.{u2} R _inst_6) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_6) (addGroupIsAddTorsor.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (Ring.toAddGroupWithOne.{u2} R _inst_6))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) (AffineMap.lineMap.{u2, u1, u1} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) p v))
Case conversion may be inaccurate. Consider using '#align affine_map.line_map_continuous AffineMap.lineMap_continuousₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/da3fc4a33ff6bc75f077f691dc94c217b8d41559
@@ -43,7 +43,7 @@ variable [Ring R] [Module R E] [Module R F]
lean 3 declaration is
forall {R : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : TopologicalSpace.{u3} F] [_inst_5 : TopologicalAddGroup.{u3} F _inst_4 (AddCommGroup.toAddGroup.{u3} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_7 : Module.{u1, u2} R E (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u1, u3} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {f : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))}, Iff (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f)) (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R E F (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6)))) (AffineMap.linear.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3)) f)))
but is expected to have type
- forall {R : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u3} R] [_inst_7 : Module.{u3, u2} R E (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u3, u1} R F (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {f : AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))}, Iff (Continuous.{u2, u1} E F _inst_2 _inst_4 (AffineMap.toFun.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)) (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R E F (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6)))) (AffineMap.linear.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)))
+ forall {R : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u3} R] [_inst_7 : Module.{u3, u2} R E (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u3, u1} R F (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {f : AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))}, Iff (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f)) (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R E F (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6)))) (AffineMap.linear.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)))
Case conversion may be inaccurate. Consider using '#align affine_map.continuous_iff AffineMap.continuous_iffₓ'. -/
/-- An affine map is continuous iff its underlying linear map is continuous. See also
`affine_map.continuous_linear_iff`. -/
@@ -64,7 +64,7 @@ theorem continuous_iff {f : E →ᵃ[R] F} : Continuous f ↔ Continuous f.linea
lean 3 declaration is
forall {R : Type.{u1}} {F : Type.{u2}} [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : TopologicalSpace.{u2} F] [_inst_5 : TopologicalAddGroup.{u2} F _inst_4 (AddCommGroup.toAddGroup.{u2} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_8 : Module.{u1, u2} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_9 : TopologicalSpace.{u1} R] [_inst_10 : ContinuousSMul.{u1, u2} R F (SMulZeroClass.toHasSmul.{u1, u2} R F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R F (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_6))))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R F (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (Module.toMulActionWithZero.{u1, u2} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u1, u2} R F _inst_9 _inst_4 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (fun (_x : AffineMap.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) => R -> F) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (AffineMap.lineMap.{u1, u2, u2} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) p v))
but is expected to have type
- forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u2} R] [_inst_8 : Module.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_9 : TopologicalSpace.{u2} R] [_inst_10 : ContinuousSMul.{u2, u1} R F (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6)) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u2, u1} R F _inst_9 _inst_4 (AffineMap.toFun.{u2, u2, u2, u1, u1} R R R F F _inst_6 (Ring.toAddCommGroup.{u2} R _inst_6) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_6) (addGroupIsAddTorsor.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (Ring.toAddGroupWithOne.{u2} R _inst_6))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) (AffineMap.lineMap.{u2, u1, u1} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) p v))
+ forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u2} R] [_inst_8 : Module.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_9 : TopologicalSpace.{u2} R] [_inst_10 : ContinuousSMul.{u2, u1} R F (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6)) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u2, u1} R F _inst_9 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u2, u2, u2, u1, u1} R R R F F _inst_6 (Ring.toAddCommGroup.{u2} R _inst_6) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_6) (addGroupIsAddTorsor.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (Ring.toAddGroupWithOne.{u2} R _inst_6))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => F) _x) (AffineMap.funLike.{u2, u2, u2, u1, u1} R R R F F _inst_6 (Ring.toAddCommGroup.{u2} R _inst_6) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_6) (addGroupIsAddTorsor.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (Ring.toAddGroupWithOne.{u2} R _inst_6))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) (AffineMap.lineMap.{u2, u1, u1} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) p v))
Case conversion may be inaccurate. Consider using '#align affine_map.line_map_continuous AffineMap.lineMap_continuousₓ'. -/
/-- The line map is continuous. -/
@[continuity]
@@ -103,7 +103,7 @@ variable [Field R] [Module R F] [ContinuousConstSMul R F]
lean 3 declaration is
forall {R : Type.{u1}} {F : Type.{u2}} [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : TopologicalSpace.{u2} F] [_inst_5 : TopologicalAddGroup.{u2} F _inst_4 (AddCommGroup.toAddGroup.{u2} F _inst_3)] [_inst_6 : Field.{u1} R] [_inst_7 : Module.{u1, u2} R F (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_8 : ContinuousConstSMul.{u1, u2} R F _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} R F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R F (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))))))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R F (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6)))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (Module.toMulActionWithZero.{u1, u2} R F (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_7))))] (x : F) (t : R), (Ne.{succ u1} R t (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))))))))))) -> (IsOpenMap.{u2, u2} F F _inst_4 _inst_4 (coeFn.{succ u2, succ u2} (AffineMap.{u1, u2, u2, u2, u2} R F F F F (CommRing.toRing.{u1} R (Field.toCommRing.{u1} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u2, u2} R F F F F (CommRing.toRing.{u1} R (Field.toCommRing.{u1} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) => F -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u2, u2} R F F F F (CommRing.toRing.{u1} R (Field.toCommRing.{u1} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (AffineMap.homothety.{u1, u2, u2} R F F (Field.toCommRing.{u1} R _inst_6) _inst_3 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_7 x t)))
but is expected to have type
- forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Field.{u2} R] [_inst_7 : Module.{u2, u1} R F (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_8 : ContinuousConstSMul.{u2, u1} R F _inst_4 (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (CommMonoidWithZero.toZero.{u2} R (CommGroupWithZero.toCommMonoidWithZero.{u2} R (Semifield.toCommGroupWithZero.{u2} R (Field.toSemifield.{u2} R _inst_6)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7))))] (x : F) (t : R), (Ne.{succ u2} R t (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommGroupWithZero.toCommMonoidWithZero.{u2} R (Semifield.toCommGroupWithZero.{u2} R (Field.toSemifield.{u2} R _inst_6))))))) -> (IsOpenMap.{u1, u1} F F _inst_4 _inst_4 (AffineMap.toFun.{u2, u1, u1, u1, u1} R F F F F (CommRing.toRing.{u2} R (Field.toCommRing.{u2} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) (AffineMap.homothety.{u2, u1, u1} R F F (Field.toCommRing.{u2} R _inst_6) _inst_3 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_7 x t)))
+ forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Field.{u2} R] [_inst_7 : Module.{u2, u1} R F (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_8 : ContinuousConstSMul.{u2, u1} R F _inst_4 (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (CommMonoidWithZero.toZero.{u2} R (CommGroupWithZero.toCommMonoidWithZero.{u2} R (Semifield.toCommGroupWithZero.{u2} R (Field.toSemifield.{u2} R _inst_6)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7))))] (x : F) (t : R), (Ne.{succ u2} R t (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommGroupWithZero.toCommMonoidWithZero.{u2} R (Semifield.toCommGroupWithZero.{u2} R (Field.toSemifield.{u2} R _inst_6))))))) -> (IsOpenMap.{u1, u1} F F _inst_4 _inst_4 (FunLike.coe.{succ u1, succ u1, succ u1} (AffineMap.{u2, u1, u1, u1, u1} R F F F F (CommRing.toRing.{u2} R (Field.toCommRing.{u2} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) F (fun (_x : F) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : F) => F) _x) (AffineMap.funLike.{u2, u1, u1, u1, u1} R F F F F (CommRing.toRing.{u2} R (Field.toCommRing.{u2} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) (AffineMap.homothety.{u2, u1, u1} R F F (Field.toCommRing.{u2} R _inst_6) _inst_3 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_7 x t)))
Case conversion may be inaccurate. Consider using '#align affine_map.homothety_is_open_map AffineMap.homothety_isOpenMapₓ'. -/
theorem homothety_isOpenMap (x : F) (t : R) (ht : t ≠ 0) : IsOpenMap <| homothety x t := by
apply IsOpenMap.of_inverse (homothety_continuous x t⁻¹) <;> intro e <;>
mathlib commit https://github.com/leanprover-community/mathlib/commit/2196ab363eb097c008d4497125e0dde23fb36db2
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Frédéric Dupuis
! This file was ported from Lean 3 source module topology.algebra.affine
-! leanprover-community/mathlib commit 717c073262cd9d59b1a1dcda7e8ab570c5b63370
+! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
! 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.Algebra.MulAction
/-!
# Topological properties of affine spaces and maps
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
For now, this contains only a few facts regarding the continuity of affine maps in the special
case when the point space and vector space are the same.
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -40,7 +40,7 @@ variable [Ring R] [Module R E] [Module R F]
lean 3 declaration is
forall {R : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : TopologicalSpace.{u3} F] [_inst_5 : TopologicalAddGroup.{u3} F _inst_4 (AddCommGroup.toAddGroup.{u3} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_7 : Module.{u1, u2} R E (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u1, u3} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {f : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))}, Iff (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f)) (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R E F (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6)))) (AffineMap.linear.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3)) f)))
but is expected to have type
- forall {R : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u3} R] [_inst_7 : Module.{u3, u2} R E (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u3, u1} R F (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {f : AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))}, Iff (Continuous.{u2, u1} E F _inst_2 _inst_4 (AffineMap.toFun.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)) (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R E F (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6)))) (AffineMap.linear.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)))
+ forall {R : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u3} R] [_inst_7 : Module.{u3, u2} R E (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u3, u1} R F (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {f : AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))}, Iff (Continuous.{u2, u1} E F _inst_2 _inst_4 (AffineMap.toFun.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)) (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R E F (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6)))) (AffineMap.linear.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)))
Case conversion may be inaccurate. Consider using '#align affine_map.continuous_iff AffineMap.continuous_iffₓ'. -/
/-- An affine map is continuous iff its underlying linear map is continuous. See also
`affine_map.continuous_linear_iff`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/38f16f960f5006c6c0c2bac7b0aba5273188f4e5
@@ -36,6 +36,12 @@ section Ring
variable [Ring R] [Module R E] [Module R F]
+/- warning: affine_map.continuous_iff -> AffineMap.continuous_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : TopologicalSpace.{u3} F] [_inst_5 : TopologicalAddGroup.{u3} F _inst_4 (AddCommGroup.toAddGroup.{u3} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_7 : Module.{u1, u2} R E (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u1, u3} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {f : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))}, Iff (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f)) (Continuous.{u2, u3} E F _inst_2 _inst_4 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R E F (Ring.toSemiring.{u1} R _inst_6) (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_6)))) (AffineMap.linear.{u1, u2, u2, u3, u3} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3)) f)))
+but is expected to have type
+ forall {R : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : AddCommGroup.{u2} E] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u3} R] [_inst_7 : Module.{u3, u2} R E (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1)] [_inst_8 : Module.{u3, u1} R F (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {f : AffineMap.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))}, Iff (Continuous.{u2, u1} E F _inst_2 _inst_4 (AffineMap.toFun.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)) (Continuous.{u2, u1} E F _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6))) E F (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R E F (Ring.toSemiring.{u3} R _inst_6) (Ring.toSemiring.{u3} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} E _inst_1) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7 _inst_8 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_6)))) (AffineMap.linear.{u3, u2, u2, u1, u1} R E E F F _inst_6 _inst_1 _inst_7 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_1)) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) f)))
+Case conversion may be inaccurate. Consider using '#align affine_map.continuous_iff AffineMap.continuous_iffₓ'. -/
/-- An affine map is continuous iff its underlying linear map is continuous. See also
`affine_map.continuous_linear_iff`. -/
theorem continuous_iff {f : E →ᵃ[R] F} : Continuous f ↔ Continuous f.linear :=
@@ -51,6 +57,12 @@ theorem continuous_iff {f : E →ᵃ[R] F} : Continuous f ↔ Continuous f.linea
exact this
#align affine_map.continuous_iff AffineMap.continuous_iff
+/- warning: affine_map.line_map_continuous -> AffineMap.lineMap_continuous is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {F : Type.{u2}} [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : TopologicalSpace.{u2} F] [_inst_5 : TopologicalAddGroup.{u2} F _inst_4 (AddCommGroup.toAddGroup.{u2} F _inst_3)] [_inst_6 : Ring.{u1} R] [_inst_8 : Module.{u1, u2} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_9 : TopologicalSpace.{u1} R] [_inst_10 : ContinuousSMul.{u1, u2} R F (SMulZeroClass.toHasSmul.{u1, u2} R F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R F (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_6))))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R F (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (Module.toMulActionWithZero.{u1, u2} R F (Ring.toSemiring.{u1} R _inst_6) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u1, u2} R F _inst_9 _inst_4 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (fun (_x : AffineMap.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) => R -> F) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u2} R R R F F _inst_6 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_6)) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_6)))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (AffineMap.lineMap.{u1, u2, u2} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) p v))
+but is expected to have type
+ forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Ring.{u2} R] [_inst_8 : Module.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_9 : TopologicalSpace.{u2} R] [_inst_10 : ContinuousSMul.{u2, u1} R F (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_6)) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (Ring.toSemiring.{u2} R _inst_6) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_8)))) _inst_9 _inst_4] {p : F} {v : F}, Continuous.{u2, u1} R F _inst_9 _inst_4 (AffineMap.toFun.{u2, u2, u2, u1, u1} R R R F F _inst_6 (Ring.toAddCommGroup.{u2} R _inst_6) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} R _inst_6) (addGroupIsAddTorsor.{u2} R (AddGroupWithOne.toAddGroup.{u2} R (Ring.toAddGroupWithOne.{u2} R _inst_6))) _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) (AffineMap.lineMap.{u2, u1, u1} R F F _inst_6 _inst_3 _inst_8 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) p v))
+Case conversion may be inaccurate. Consider using '#align affine_map.line_map_continuous AffineMap.lineMap_continuousₓ'. -/
/-- The line map is continuous. -/
@[continuity]
theorem lineMap_continuous [TopologicalSpace R] [ContinuousSMul R F] {p v : F} :
@@ -65,6 +77,7 @@ section CommRing
variable [CommRing R] [Module R F] [ContinuousConstSMul R F]
+#print AffineMap.homothety_continuous /-
@[continuity]
theorem homothety_continuous (x : F) (t : R) : Continuous <| homothety x t :=
by
@@ -75,6 +88,7 @@ theorem homothety_continuous (x : F) (t : R) : Continuous <| homothety x t :=
ext y
simp [homothety_apply]
#align affine_map.homothety_continuous AffineMap.homothety_continuous
+-/
end CommRing
@@ -82,6 +96,12 @@ section Field
variable [Field R] [Module R F] [ContinuousConstSMul R F]
+/- warning: affine_map.homothety_is_open_map -> AffineMap.homothety_isOpenMap is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {F : Type.{u2}} [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : TopologicalSpace.{u2} F] [_inst_5 : TopologicalAddGroup.{u2} F _inst_4 (AddCommGroup.toAddGroup.{u2} F _inst_3)] [_inst_6 : Field.{u1} R] [_inst_7 : Module.{u1, u2} R F (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_8 : ContinuousConstSMul.{u1, u2} R F _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} R F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R F (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))))))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R F (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6)))) (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (AddCommMonoid.toAddMonoid.{u2} F (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)))) (Module.toMulActionWithZero.{u1, u2} R F (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_7))))] (x : F) (t : R), (Ne.{succ u1} R t (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_6))))))))))) -> (IsOpenMap.{u2, u2} F F _inst_4 _inst_4 (coeFn.{succ u2, succ u2} (AffineMap.{u1, u2, u2, u2, u2} R F F F F (CommRing.toRing.{u1} R (Field.toCommRing.{u1} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u2, u2} R F F F F (CommRing.toRing.{u1} R (Field.toCommRing.{u1} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) => F -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u2, u2} R F F F F (CommRing.toRing.{u1} R (Field.toCommRing.{u1} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) (AffineMap.homothety.{u1, u2, u2} R F F (Field.toCommRing.{u1} R _inst_6) _inst_3 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3)) _inst_7 x t)))
+but is expected to have type
+ forall {R : Type.{u2}} {F : Type.{u1}} [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : TopologicalSpace.{u1} F] [_inst_5 : TopologicalAddGroup.{u1} F _inst_4 (AddCommGroup.toAddGroup.{u1} F _inst_3)] [_inst_6 : Field.{u2} R] [_inst_7 : Module.{u2, u1} R F (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] [_inst_8 : ContinuousConstSMul.{u2, u1} R F _inst_4 (SMulZeroClass.toSMul.{u2, u1} R F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R F (CommMonoidWithZero.toZero.{u2} R (CommGroupWithZero.toCommMonoidWithZero.{u2} R (Semifield.toCommGroupWithZero.{u2} R (Field.toSemifield.{u2} R _inst_6)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R F (Semiring.toMonoidWithZero.{u2} R (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_3))))) (Module.toMulActionWithZero.{u2, u1} R F (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (Field.toSemifield.{u2} R _inst_6))) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3) _inst_7))))] (x : F) (t : R), (Ne.{succ u2} R t (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommGroupWithZero.toCommMonoidWithZero.{u2} R (Semifield.toCommGroupWithZero.{u2} R (Field.toSemifield.{u2} R _inst_6))))))) -> (IsOpenMap.{u1, u1} F F _inst_4 _inst_4 (AffineMap.toFun.{u2, u1, u1, u1, u1} R F F F F (CommRing.toRing.{u2} R (Field.toCommRing.{u2} R _inst_6)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_3 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) (AffineMap.homothety.{u2, u1, u1} R F F (Field.toCommRing.{u2} R _inst_6) _inst_3 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3)) _inst_7 x t)))
+Case conversion may be inaccurate. Consider using '#align affine_map.homothety_is_open_map AffineMap.homothety_isOpenMapₓ'. -/
theorem homothety_isOpenMap (x : F) (t : R) (ht : t ≠ 0) : IsOpenMap <| homothety x t := by
apply IsOpenMap.of_inverse (homothety_continuous x t⁻¹) <;> intro e <;>
simp [← AffineMap.comp_apply, ← homothety_mul, ht]
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -24,9 +24,7 @@ we do have some results in this direction under the assumption that the topologi
namespace AffineMap
variable {R E F : Type*}
-
variable [AddCommGroup E] [TopologicalSpace E]
-
variable [AddCommGroup F] [TopologicalSpace F] [TopologicalAddGroup F]
section Ring
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -23,7 +23,7 @@ we do have some results in this direction under the assumption that the topologi
namespace AffineMap
-variable {R E F : Type _}
+variable {R E F : Type*}
variable [AddCommGroup E] [TopologicalSpace E]
@@ -2,16 +2,13 @@
Copyright (c) 2020 Frédéric Dupuis. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Frédéric Dupuis
-
-! This file was ported from Lean 3 source module topology.algebra.affine
-! leanprover-community/mathlib commit 717c073262cd9d59b1a1dcda7e8ab570c5b63370
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.LinearAlgebra.AffineSpace.AffineMap
import Mathlib.Topology.Algebra.Group.Basic
import Mathlib.Topology.Algebra.MulAction
+#align_import topology.algebra.affine from "leanprover-community/mathlib"@"717c073262cd9d59b1a1dcda7e8ab570c5b63370"
+
/-!
# Topological properties of affine spaces and maps
by
s! (#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 by
s".
@@ -64,8 +64,7 @@ variable [CommRing R] [Module R F] [ContinuousConstSMul R F]
@[continuity]
theorem homothety_continuous (x : F) (t : R) : Continuous <| homothety x t := by
- suffices ⇑(homothety x t) = fun y => t • (y - x) + x
- by
+ suffices ⇑(homothety x t) = fun y => t • (y - x) + x by
rw [this]
exact ((continuous_id.sub continuous_const).const_smul _).add continuous_const
-- Porting note: proof was `by continuity`
The unported dependencies are