linear_algebra.affine_space.affine_equiv
⟷
Mathlib.LinearAlgebra.AffineSpace.AffineEquiv
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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -5,7 +5,7 @@ Authors: Yury G. Kudryashov
-/
import LinearAlgebra.AffineSpace.AffineMap
import LinearAlgebra.GeneralLinearGroup
-import Algebra.Invertible
+import Algebra.Invertible.Defs
#align_import linear_algebra.affine_space.affine_equiv from "leanprover-community/mathlib"@"97eab48559068f3d6313da387714ef25768fb730"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -90,7 +90,7 @@ theorem linear_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : e.toAffineMap.linear = e.
theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂) → P₁ →ᵃ[k] P₂) :=
by
rintro ⟨e, el, h⟩ ⟨e', el', h'⟩ H
- simp only [to_affine_map_mk, Equiv.coe_inj, LinearEquiv.toLinearMap_inj] at H
+ simp only [to_affine_map_mk, Equiv.coe_inj, LinearEquiv.toLinearMap_inj] at H
congr
exacts [H.1, H.2]
#align affine_equiv.to_affine_map_injective AffineEquiv.toAffineMap_injective
@@ -770,7 +770,7 @@ theorem injective_pointReflection_left_of_module [Invertible (2 : k)] :
∀ y, Injective fun x : P₁ => pointReflection k x y :=
injective_pointReflection_left_of_injective_bit0 k fun x y h => by
rwa [bit0, bit0, ← two_smul k x, ← two_smul k y,
- (isUnit_of_invertible (2 : k)).smul_left_cancel] at h
+ (isUnit_of_invertible (2 : k)).smul_left_cancel] at h
#align affine_equiv.injective_point_reflection_left_of_module AffineEquiv.injective_pointReflection_left_of_module
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -110,12 +110,12 @@ instance equivLike : EquivLike (P₁ ≃ᵃ[k] P₂) P₁ P₂
inv f := f.invFun
left_inv f := f.left_inv
right_inv f := f.right_inv
- coe_injective' f g h _ := toAffineMap_injective (FunLike.coe_injective h)
+ coe_injective' f g h _ := toAffineMap_injective (DFunLike.coe_injective h)
#align affine_equiv.equiv_like AffineEquiv.equivLike
-/
instance : CoeFun (P₁ ≃ᵃ[k] P₂) fun _ => P₁ → P₂ :=
- FunLike.hasCoeToFun
+ DFunLike.hasCoeToFun
instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ ≃ P₂) :=
⟨AffineEquiv.toEquiv⟩
@@ -163,13 +163,13 @@ theorem coe_linear (e : P₁ ≃ᵃ[k] P₂) : (e : P₁ →ᵃ[k] P₂).linear
#print AffineEquiv.ext /-
@[ext]
theorem ext {e e' : P₁ ≃ᵃ[k] P₂} (h : ∀ x, e x = e' x) : e = e' :=
- FunLike.ext _ _ h
+ DFunLike.ext _ _ h
#align affine_equiv.ext AffineEquiv.ext
-/
#print AffineEquiv.coeFn_injective /-
theorem coeFn_injective : @Injective (P₁ ≃ᵃ[k] P₂) (P₁ → P₂) coeFn :=
- FunLike.coe_injective
+ DFunLike.coe_injective
#align affine_equiv.coe_fn_injective AffineEquiv.coeFn_injective
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2020 Yury G. Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
-/
-import Mathbin.LinearAlgebra.AffineSpace.AffineMap
-import Mathbin.LinearAlgebra.GeneralLinearGroup
-import Mathbin.Algebra.Invertible
+import LinearAlgebra.AffineSpace.AffineMap
+import LinearAlgebra.GeneralLinearGroup
+import Algebra.Invertible
#align_import linear_algebra.affine_space.affine_equiv from "leanprover-community/mathlib"@"97eab48559068f3d6313da387714ef25768fb730"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -499,7 +499,7 @@ instance : Group (P₁ ≃ᵃ[k] P₁) where
mul_assoc e₁ e₂ e₃ := trans_assoc _ _ _
one_mul := trans_refl
mul_one := refl_trans
- mul_left_inv := self_trans_symm
+ hMul_left_inv := self_trans_symm
#print AffineEquiv.one_def /-
theorem one_def : (1 : P₁ ≃ᵃ[k] P₁) = refl k P₁ :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2020 Yury G. Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
-
-! This file was ported from Lean 3 source module linear_algebra.affine_space.affine_equiv
-! leanprover-community/mathlib commit 97eab48559068f3d6313da387714ef25768fb730
-! 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.LinearAlgebra.GeneralLinearGroup
import Mathbin.Algebra.Invertible
+#align_import linear_algebra.affine_space.affine_equiv from "leanprover-community/mathlib"@"97eab48559068f3d6313da387714ef25768fb730"
+
/-!
# Affine equivalences
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -59,7 +59,6 @@ structure AffineEquiv (k P₁ P₂ : Type _) {V₁ V₂ : Type _} [Ring k] [AddC
#align affine_equiv AffineEquiv
-/
--- mathport name: «expr ≃ᵃ[ ] »
notation:25 P₁ " ≃ᵃ[" k:25 "] " P₂:0 => AffineEquiv k P₁ P₂
variable {k P₁ P₂ P₃ P₄ V₁ V₂ V₃ V₄ : Type _} [Ring k] [AddCommGroup V₁] [Module k V₁]
@@ -68,8 +67,6 @@ variable {k P₁ P₂ P₃ P₄ V₁ V₂ V₃ V₄ : Type _} [Ring k] [AddCommG
namespace AffineEquiv
-include V₁ V₂
-
#print AffineEquiv.toAffineMap /-
/-- Reinterpret an `affine_equiv` as an `affine_map`. -/
def toAffineMap (e : P₁ ≃ᵃ[k] P₂) : P₁ →ᵃ[k] P₂ :=
@@ -77,17 +74,22 @@ def toAffineMap (e : P₁ ≃ᵃ[k] P₂) : P₁ →ᵃ[k] P₂ :=
#align affine_equiv.to_affine_map AffineEquiv.toAffineMap
-/
+#print AffineEquiv.toAffineMap_mk /-
@[simp]
theorem toAffineMap_mk (f : P₁ ≃ P₂) (f' : V₁ ≃ₗ[k] V₂) (h) :
toAffineMap (mk f f' h) = ⟨f, f', h⟩ :=
rfl
#align affine_equiv.to_affine_map_mk AffineEquiv.toAffineMap_mk
+-/
+#print AffineEquiv.linear_toAffineMap /-
@[simp]
theorem linear_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : e.toAffineMap.linear = e.linear :=
rfl
#align affine_equiv.linear_to_affine_map AffineEquiv.linear_toAffineMap
+-/
+#print AffineEquiv.toAffineMap_injective /-
theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂) → P₁ →ᵃ[k] P₂) :=
by
rintro ⟨e, el, h⟩ ⟨e', el', h'⟩ H
@@ -95,11 +97,14 @@ theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂)
congr
exacts [H.1, H.2]
#align affine_equiv.to_affine_map_injective AffineEquiv.toAffineMap_injective
+-/
+#print AffineEquiv.toAffineMap_inj /-
@[simp]
theorem toAffineMap_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toAffineMap = e'.toAffineMap ↔ e = e' :=
toAffineMap_injective.eq_iff
#align affine_equiv.to_affine_map_inj AffineEquiv.toAffineMap_inj
+-/
#print AffineEquiv.equivLike /-
instance equivLike : EquivLike (P₁ ≃ᵃ[k] P₂) P₁ P₂
@@ -120,38 +125,50 @@ instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ ≃ P₂) :=
variable {k P₁}
+#print AffineEquiv.map_vadd /-
@[simp]
theorem map_vadd (e : P₁ ≃ᵃ[k] P₂) (p : P₁) (v : V₁) : e (v +ᵥ p) = e.linear v +ᵥ e p :=
e.map_vadd' p v
#align affine_equiv.map_vadd AffineEquiv.map_vadd
+-/
+#print AffineEquiv.coe_toEquiv /-
@[simp]
theorem coe_toEquiv (e : P₁ ≃ᵃ[k] P₂) : ⇑e.toEquiv = e :=
rfl
#align affine_equiv.coe_to_equiv AffineEquiv.coe_toEquiv
+-/
instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ →ᵃ[k] P₂) :=
⟨toAffineMap⟩
+#print AffineEquiv.coe_toAffineMap /-
@[simp]
theorem coe_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : (e.toAffineMap : P₁ → P₂) = (e : P₁ → P₂) :=
rfl
#align affine_equiv.coe_to_affine_map AffineEquiv.coe_toAffineMap
+-/
+#print AffineEquiv.coe_coe /-
@[norm_cast, simp]
theorem coe_coe (e : P₁ ≃ᵃ[k] P₂) : ((e : P₁ →ᵃ[k] P₂) : P₁ → P₂) = e :=
rfl
#align affine_equiv.coe_coe AffineEquiv.coe_coe
+-/
+#print AffineEquiv.coe_linear /-
@[simp]
theorem coe_linear (e : P₁ ≃ᵃ[k] P₂) : (e : P₁ →ᵃ[k] P₂).linear = e.linear :=
rfl
#align affine_equiv.coe_linear AffineEquiv.coe_linear
+-/
+#print AffineEquiv.ext /-
@[ext]
theorem ext {e e' : P₁ ≃ᵃ[k] P₂} (h : ∀ x, e x = e' x) : e = e' :=
FunLike.ext _ _ h
#align affine_equiv.ext AffineEquiv.ext
+-/
#print AffineEquiv.coeFn_injective /-
theorem coeFn_injective : @Injective (P₁ ≃ᵃ[k] P₂) (P₁ → P₂) coeFn :=
@@ -159,25 +176,34 @@ theorem coeFn_injective : @Injective (P₁ ≃ᵃ[k] P₂) (P₁ → P₂) coeFn
#align affine_equiv.coe_fn_injective AffineEquiv.coeFn_injective
-/
+#print AffineEquiv.coeFn_inj /-
@[simp, norm_cast]
theorem coeFn_inj {e e' : P₁ ≃ᵃ[k] P₂} : (e : P₁ → P₂) = e' ↔ e = e' :=
coeFn_injective.eq_iff
#align affine_equiv.coe_fn_inj AffineEquiv.coeFn_inj
+-/
+#print AffineEquiv.toEquiv_injective /-
theorem toEquiv_injective : Injective (toEquiv : (P₁ ≃ᵃ[k] P₂) → P₁ ≃ P₂) := fun e e' H =>
ext <| Equiv.ext_iff.1 H
#align affine_equiv.to_equiv_injective AffineEquiv.toEquiv_injective
+-/
+#print AffineEquiv.toEquiv_inj /-
@[simp]
theorem toEquiv_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toEquiv = e'.toEquiv ↔ e = e' :=
toEquiv_injective.eq_iff
#align affine_equiv.to_equiv_inj AffineEquiv.toEquiv_inj
+-/
+#print AffineEquiv.coe_mk /-
@[simp]
theorem coe_mk (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (h) : ((⟨e, e', h⟩ : P₁ ≃ᵃ[k] P₂) : P₁ → P₂) = e :=
rfl
#align affine_equiv.coe_mk AffineEquiv.coe_mk
+-/
+#print AffineEquiv.mk' /-
/-- Construct an affine equivalence by verifying the relation between the map and its linear part at
one base point. Namely, this function takes a map `e : P₁ → P₂`, a linear equivalence
`e' : V₁ ≃ₗ[k] V₂`, and a point `p` such that for any other point `p'` we have
@@ -191,16 +217,21 @@ def mk' (e : P₁ → P₂) (e' : V₁ ≃ₗ[k] V₂) (p : P₁) (h : ∀ p' :
linear := e'
map_vadd' p' v := by simp [h p', h (v +ᵥ p'), vadd_vsub_assoc, vadd_vadd]
#align affine_equiv.mk' AffineEquiv.mk'
+-/
+#print AffineEquiv.coe_mk' /-
@[simp]
theorem coe_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : ⇑(mk' e e' p h) = e :=
rfl
#align affine_equiv.coe_mk' AffineEquiv.coe_mk'
+-/
+#print AffineEquiv.linear_mk' /-
@[simp]
theorem linear_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : (mk' e e' p h).linear = e' :=
rfl
#align affine_equiv.linear_mk' AffineEquiv.linear_mk'
+-/
#print AffineEquiv.symm /-
/-- Inverse of an affine equivalence as an affine equivalence. -/
@@ -215,15 +246,19 @@ def symm (e : P₁ ≃ᵃ[k] P₂) : P₂ ≃ᵃ[k] P₁
#align affine_equiv.symm AffineEquiv.symm
-/
+#print AffineEquiv.symm_toEquiv /-
@[simp]
theorem symm_toEquiv (e : P₁ ≃ᵃ[k] P₂) : e.toEquiv.symm = e.symm.toEquiv :=
rfl
#align affine_equiv.symm_to_equiv AffineEquiv.symm_toEquiv
+-/
+#print AffineEquiv.symm_linear /-
@[simp]
theorem symm_linear (e : P₁ ≃ᵃ[k] P₂) : e.linear.symm = e.symm.linear :=
rfl
#align affine_equiv.symm_linear AffineEquiv.symm_linear
+-/
#print AffineEquiv.Simps.apply /-
/-- See Note [custom simps projection] -/
@@ -242,17 +277,23 @@ def Simps.symm_apply (e : P₁ ≃ᵃ[k] P₂) : P₂ → P₁ :=
initialize_simps_projections AffineEquiv (to_equiv_to_fun → apply, to_equiv_inv_fun → symm_apply,
linear → linear, as_prefix linear, -toEquiv)
+#print AffineEquiv.bijective /-
protected theorem bijective (e : P₁ ≃ᵃ[k] P₂) : Bijective e :=
e.toEquiv.Bijective
#align affine_equiv.bijective AffineEquiv.bijective
+-/
+#print AffineEquiv.surjective /-
protected theorem surjective (e : P₁ ≃ᵃ[k] P₂) : Surjective e :=
e.toEquiv.Surjective
#align affine_equiv.surjective AffineEquiv.surjective
+-/
+#print AffineEquiv.injective /-
protected theorem injective (e : P₁ ≃ᵃ[k] P₂) : Injective e :=
e.toEquiv.Injective
#align affine_equiv.injective AffineEquiv.injective
+-/
#print AffineEquiv.ofBijective /-
/-- Bijective affine maps are affine isomorphisms. -/
@@ -266,49 +307,63 @@ noncomputable def ofBijective {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijecti
#align affine_equiv.of_bijective AffineEquiv.ofBijective
-/
+#print AffineEquiv.ofBijective.symm_eq /-
theorem ofBijective.symm_eq {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijective φ) :
(ofBijective hφ).symm.toEquiv = (Equiv.ofBijective _ hφ).symm :=
rfl
#align affine_equiv.of_bijective.symm_eq AffineEquiv.ofBijective.symm_eq
+-/
+#print AffineEquiv.range_eq /-
@[simp]
theorem range_eq (e : P₁ ≃ᵃ[k] P₂) : range e = univ :=
e.Surjective.range_eq
#align affine_equiv.range_eq AffineEquiv.range_eq
+-/
+#print AffineEquiv.apply_symm_apply /-
@[simp]
theorem apply_symm_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₂) : e (e.symm p) = p :=
e.toEquiv.apply_symm_apply p
#align affine_equiv.apply_symm_apply AffineEquiv.apply_symm_apply
+-/
+#print AffineEquiv.symm_apply_apply /-
@[simp]
theorem symm_apply_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₁) : e.symm (e p) = p :=
e.toEquiv.symm_apply_apply p
#align affine_equiv.symm_apply_apply AffineEquiv.symm_apply_apply
+-/
+#print AffineEquiv.apply_eq_iff_eq_symm_apply /-
theorem apply_eq_iff_eq_symm_apply (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂} : e p₁ = p₂ ↔ p₁ = e.symm p₂ :=
e.toEquiv.apply_eq_iff_eq_symm_apply
#align affine_equiv.apply_eq_iff_eq_symm_apply AffineEquiv.apply_eq_iff_eq_symm_apply
+-/
+#print AffineEquiv.apply_eq_iff_eq /-
@[simp]
theorem apply_eq_iff_eq (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂ : P₁} : e p₁ = e p₂ ↔ p₁ = p₂ :=
e.toEquiv.apply_eq_iff_eq
#align affine_equiv.apply_eq_iff_eq AffineEquiv.apply_eq_iff_eq
+-/
+#print AffineEquiv.image_symm /-
@[simp]
theorem image_symm (f : P₁ ≃ᵃ[k] P₂) (s : Set P₂) : f.symm '' s = f ⁻¹' s :=
f.symm.toEquiv.image_eq_preimage _
#align affine_equiv.image_symm AffineEquiv.image_symm
+-/
+#print AffineEquiv.preimage_symm /-
@[simp]
theorem preimage_symm (f : P₁ ≃ᵃ[k] P₂) (s : Set P₁) : f.symm ⁻¹' s = f '' s :=
(f.symm.image_symm _).symm
#align affine_equiv.preimage_symm AffineEquiv.preimage_symm
+-/
variable (k P₁)
-omit V₂
-
#print AffineEquiv.refl /-
/-- Identity map as an `affine_equiv`. -/
@[refl]
@@ -319,40 +374,50 @@ def refl : P₁ ≃ᵃ[k] P₁ where
#align affine_equiv.refl AffineEquiv.refl
-/
+#print AffineEquiv.coe_refl /-
@[simp]
theorem coe_refl : ⇑(refl k P₁) = id :=
rfl
#align affine_equiv.coe_refl AffineEquiv.coe_refl
+-/
+#print AffineEquiv.coe_refl_to_affineMap /-
@[simp]
theorem coe_refl_to_affineMap : ↑(refl k P₁) = AffineMap.id k P₁ :=
rfl
#align affine_equiv.coe_refl_to_affine_map AffineEquiv.coe_refl_to_affineMap
+-/
+#print AffineEquiv.refl_apply /-
@[simp]
theorem refl_apply (x : P₁) : refl k P₁ x = x :=
rfl
#align affine_equiv.refl_apply AffineEquiv.refl_apply
+-/
+#print AffineEquiv.toEquiv_refl /-
@[simp]
theorem toEquiv_refl : (refl k P₁).toEquiv = Equiv.refl P₁ :=
rfl
#align affine_equiv.to_equiv_refl AffineEquiv.toEquiv_refl
+-/
+#print AffineEquiv.linear_refl /-
@[simp]
theorem linear_refl : (refl k P₁).linear = LinearEquiv.refl k V₁ :=
rfl
#align affine_equiv.linear_refl AffineEquiv.linear_refl
+-/
+#print AffineEquiv.symm_refl /-
@[simp]
theorem symm_refl : (refl k P₁).symm = refl k P₁ :=
rfl
#align affine_equiv.symm_refl AffineEquiv.symm_refl
+-/
variable {k P₁}
-include V₂ V₃
-
#print AffineEquiv.trans /-
/-- Composition of two `affine_equiv`alences, applied left to right. -/
@[trans]
@@ -365,58 +430,70 @@ def trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : P₁ ≃ᵃ[k]
#align affine_equiv.trans AffineEquiv.trans
-/
+#print AffineEquiv.coe_trans /-
@[simp]
theorem coe_trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : ⇑(e.trans e') = e' ∘ e :=
rfl
#align affine_equiv.coe_trans AffineEquiv.coe_trans
+-/
+#print AffineEquiv.coe_trans_to_affineMap /-
@[simp]
theorem coe_trans_to_affineMap (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) :
(e.trans e' : P₁ →ᵃ[k] P₃) = (e' : P₂ →ᵃ[k] P₃).comp e :=
rfl
#align affine_equiv.coe_trans_to_affine_map AffineEquiv.coe_trans_to_affineMap
+-/
+#print AffineEquiv.trans_apply /-
@[simp]
theorem trans_apply (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) (p : P₁) : e.trans e' p = e' (e p) :=
rfl
#align affine_equiv.trans_apply AffineEquiv.trans_apply
+-/
-include V₄
-
+#print AffineEquiv.trans_assoc /-
theorem trans_assoc (e₁ : P₁ ≃ᵃ[k] P₂) (e₂ : P₂ ≃ᵃ[k] P₃) (e₃ : P₃ ≃ᵃ[k] P₄) :
(e₁.trans e₂).trans e₃ = e₁.trans (e₂.trans e₃) :=
ext fun _ => rfl
#align affine_equiv.trans_assoc AffineEquiv.trans_assoc
+-/
-omit V₃ V₄
-
+#print AffineEquiv.trans_refl /-
@[simp]
theorem trans_refl (e : P₁ ≃ᵃ[k] P₂) : e.trans (refl k P₂) = e :=
ext fun _ => rfl
#align affine_equiv.trans_refl AffineEquiv.trans_refl
+-/
+#print AffineEquiv.refl_trans /-
@[simp]
theorem refl_trans (e : P₁ ≃ᵃ[k] P₂) : (refl k P₁).trans e = e :=
ext fun _ => rfl
#align affine_equiv.refl_trans AffineEquiv.refl_trans
+-/
+#print AffineEquiv.self_trans_symm /-
@[simp]
theorem self_trans_symm (e : P₁ ≃ᵃ[k] P₂) : e.trans e.symm = refl k P₁ :=
ext e.symm_apply_apply
#align affine_equiv.self_trans_symm AffineEquiv.self_trans_symm
+-/
+#print AffineEquiv.symm_trans_self /-
@[simp]
theorem symm_trans_self (e : P₁ ≃ᵃ[k] P₂) : e.symm.trans e = refl k P₂ :=
ext e.apply_symm_apply
#align affine_equiv.symm_trans_self AffineEquiv.symm_trans_self
+-/
+#print AffineEquiv.apply_lineMap /-
@[simp]
theorem apply_lineMap (e : P₁ ≃ᵃ[k] P₂) (a b : P₁) (c : k) :
e (AffineMap.lineMap a b c) = AffineMap.lineMap (e a) (e b) c :=
e.toAffineMap.apply_lineMap a b c
#align affine_equiv.apply_line_map AffineEquiv.apply_lineMap
-
-omit V₂
+-/
instance : Group (P₁ ≃ᵃ[k] P₁) where
one := refl k P₁
@@ -427,27 +504,37 @@ instance : Group (P₁ ≃ᵃ[k] P₁) where
mul_one := refl_trans
mul_left_inv := self_trans_symm
+#print AffineEquiv.one_def /-
theorem one_def : (1 : P₁ ≃ᵃ[k] P₁) = refl k P₁ :=
rfl
#align affine_equiv.one_def AffineEquiv.one_def
+-/
+#print AffineEquiv.coe_one /-
@[simp]
theorem coe_one : ⇑(1 : P₁ ≃ᵃ[k] P₁) = id :=
rfl
#align affine_equiv.coe_one AffineEquiv.coe_one
+-/
+#print AffineEquiv.mul_def /-
theorem mul_def (e e' : P₁ ≃ᵃ[k] P₁) : e * e' = e'.trans e :=
rfl
#align affine_equiv.mul_def AffineEquiv.mul_def
+-/
+#print AffineEquiv.coe_mul /-
@[simp]
theorem coe_mul (e e' : P₁ ≃ᵃ[k] P₁) : ⇑(e * e') = e ∘ e' :=
rfl
#align affine_equiv.coe_mul AffineEquiv.coe_mul
+-/
+#print AffineEquiv.inv_def /-
theorem inv_def (e : P₁ ≃ᵃ[k] P₁) : e⁻¹ = e.symm :=
rfl
#align affine_equiv.inv_def AffineEquiv.inv_def
+-/
#print AffineEquiv.linearHom /-
/-- `affine_equiv.linear` on automorphisms is a `monoid_hom`. -/
@@ -460,6 +547,7 @@ def linearHom : (P₁ ≃ᵃ[k] P₁) →* V₁ ≃ₗ[k] V₁
#align affine_equiv.linear_hom AffineEquiv.linearHom
-/
+#print AffineEquiv.equivUnitsAffineMap /-
/-- The group of `affine_equiv`s are equivalent to the group of units of `affine_map`.
This is the affine version of `linear_map.general_linear_group.general_linear_equiv`. -/
@@ -479,6 +567,7 @@ def equivUnitsAffineMap : (P₁ ≃ᵃ[k] P₁) ≃* (P₁ →ᵃ[k] P₁)ˣ
right_inv u := Units.ext <| AffineMap.ext fun x => rfl
map_mul' e₁ e₂ := rfl
#align affine_equiv.equiv_units_affine_map AffineEquiv.equivUnitsAffineMap
+-/
variable (k)
@@ -504,15 +593,19 @@ def constVSub (p : P₁) : P₁ ≃ᵃ[k] V₁
#align affine_equiv.const_vsub AffineEquiv.constVSub
-/
+#print AffineEquiv.coe_constVSub /-
@[simp]
theorem coe_constVSub (p : P₁) : ⇑(constVSub k p) = (· -ᵥ ·) p :=
rfl
#align affine_equiv.coe_const_vsub AffineEquiv.coe_constVSub
+-/
+#print AffineEquiv.coe_constVSub_symm /-
@[simp]
theorem coe_constVSub_symm (p : P₁) : ⇑(constVSub k p).symm = fun v => -v +ᵥ p :=
rfl
#align affine_equiv.coe_const_vsub_symm AffineEquiv.coe_constVSub_symm
+-/
variable (P₁)
@@ -530,21 +623,27 @@ def constVAdd (v : V₁) : P₁ ≃ᵃ[k] P₁
#align affine_equiv.const_vadd AffineEquiv.constVAdd
-/
+#print AffineEquiv.constVAdd_zero /-
@[simp]
theorem constVAdd_zero : constVAdd k P₁ 0 = AffineEquiv.refl _ _ :=
ext <| zero_vadd _
#align affine_equiv.const_vadd_zero AffineEquiv.constVAdd_zero
+-/
+#print AffineEquiv.constVAdd_add /-
@[simp]
theorem constVAdd_add (v w : V₁) :
constVAdd k P₁ (v + w) = (constVAdd k P₁ w).trans (constVAdd k P₁ v) :=
ext <| add_vadd _ _
#align affine_equiv.const_vadd_add AffineEquiv.constVAdd_add
+-/
+#print AffineEquiv.constVAdd_symm /-
@[simp]
theorem constVAdd_symm (v : V₁) : (constVAdd k P₁ v).symm = constVAdd k P₁ (-v) :=
ext fun _ => rfl
#align affine_equiv.const_vadd_symm AffineEquiv.constVAdd_symm
+-/
#print AffineEquiv.constVAddHom /-
/-- A more bundled version of `affine_equiv.const_vadd`. -/
@@ -557,46 +656,54 @@ def constVAddHom : Multiplicative V₁ →* P₁ ≃ᵃ[k] P₁
#align affine_equiv.const_vadd_hom AffineEquiv.constVAddHom
-/
+#print AffineEquiv.constVAdd_nsmul /-
theorem constVAdd_nsmul (n : ℕ) (v : V₁) : constVAdd k P₁ (n • v) = constVAdd k P₁ v ^ n :=
(constVAddHom k P₁).map_pow _ _
#align affine_equiv.const_vadd_nsmul AffineEquiv.constVAdd_nsmul
+-/
+#print AffineEquiv.constVAdd_zsmul /-
theorem constVAdd_zsmul (z : ℤ) (v : V₁) : constVAdd k P₁ (z • v) = constVAdd k P₁ v ^ z :=
(constVAddHom k P₁).map_zpow _ _
#align affine_equiv.const_vadd_zsmul AffineEquiv.constVAdd_zsmul
+-/
section Homothety
-omit V₁
-
variable {R V P : Type _} [CommRing R] [AddCommGroup V] [Module R V] [affine_space V P]
-include V
-
+#print AffineEquiv.homothetyUnitsMulHom /-
/-- Fixing a point in affine space, homothety about this point gives a group homomorphism from (the
centre of) the units of the scalars into the group of affine equivalences. -/
def homothetyUnitsMulHom (p : P) : Rˣ →* P ≃ᵃ[R] P :=
equivUnitsAffineMap.symm.toMonoidHom.comp <| Units.map (AffineMap.homothetyHom p)
#align affine_equiv.homothety_units_mul_hom AffineEquiv.homothetyUnitsMulHom
+-/
+#print AffineEquiv.coe_homothetyUnitsMulHom_apply /-
@[simp]
theorem coe_homothetyUnitsMulHom_apply (p : P) (t : Rˣ) :
(homothetyUnitsMulHom p t : P → P) = AffineMap.homothety p (t : R) :=
rfl
#align affine_equiv.coe_homothety_units_mul_hom_apply AffineEquiv.coe_homothetyUnitsMulHom_apply
+-/
+#print AffineEquiv.coe_homothetyUnitsMulHom_apply_symm /-
@[simp]
theorem coe_homothetyUnitsMulHom_apply_symm (p : P) (t : Rˣ) :
((homothetyUnitsMulHom p t).symm : P → P) = AffineMap.homothety p (↑t⁻¹ : R) :=
rfl
#align affine_equiv.coe_homothety_units_mul_hom_apply_symm AffineEquiv.coe_homothetyUnitsMulHom_apply_symm
+-/
+#print AffineEquiv.coe_homothetyUnitsMulHom_eq_homothetyHom_coe /-
@[simp]
theorem coe_homothetyUnitsMulHom_eq_homothetyHom_coe (p : P) :
(coe : (P ≃ᵃ[R] P) → P →ᵃ[R] P) ∘ homothetyUnitsMulHom p =
AffineMap.homothetyHom p ∘ (coe : Rˣ → R) :=
funext fun _ => rfl
#align affine_equiv.coe_homothety_units_mul_hom_eq_homothety_hom_coe AffineEquiv.coe_homothetyUnitsMulHom_eq_homothetyHom_coe
+-/
end Homothety
@@ -611,53 +718,71 @@ def pointReflection (x : P₁) : P₁ ≃ᵃ[k] P₁ :=
#align affine_equiv.point_reflection AffineEquiv.pointReflection
-/
+#print AffineEquiv.pointReflection_apply /-
theorem pointReflection_apply (x y : P₁) : pointReflection k x y = x -ᵥ y +ᵥ x :=
rfl
#align affine_equiv.point_reflection_apply AffineEquiv.pointReflection_apply
+-/
+#print AffineEquiv.pointReflection_symm /-
@[simp]
theorem pointReflection_symm (x : P₁) : (pointReflection k x).symm = pointReflection k x :=
toEquiv_injective <| Equiv.pointReflection_symm x
#align affine_equiv.point_reflection_symm AffineEquiv.pointReflection_symm
+-/
+#print AffineEquiv.toEquiv_pointReflection /-
@[simp]
theorem toEquiv_pointReflection (x : P₁) :
(pointReflection k x).toEquiv = Equiv.pointReflection x :=
rfl
#align affine_equiv.to_equiv_point_reflection AffineEquiv.toEquiv_pointReflection
+-/
+#print AffineEquiv.pointReflection_self /-
@[simp]
theorem pointReflection_self (x : P₁) : pointReflection k x x = x :=
vsub_vadd _ _
#align affine_equiv.point_reflection_self AffineEquiv.pointReflection_self
+-/
+#print AffineEquiv.pointReflection_involutive /-
theorem pointReflection_involutive (x : P₁) : Involutive (pointReflection k x : P₁ → P₁) :=
Equiv.pointReflection_involutive x
#align affine_equiv.point_reflection_involutive AffineEquiv.pointReflection_involutive
+-/
+#print AffineEquiv.pointReflection_fixed_iff_of_injective_bit0 /-
/-- `x` is the only fixed point of `point_reflection x`. This lemma requires
`x + x = y + y ↔ x = y`. There is no typeclass to use here, so we add it as an explicit argument. -/
theorem pointReflection_fixed_iff_of_injective_bit0 {x y : P₁} (h : Injective (bit0 : V₁ → V₁)) :
pointReflection k x y = y ↔ y = x :=
Equiv.pointReflection_fixed_iff_of_injective_bit0 h
#align affine_equiv.point_reflection_fixed_iff_of_injective_bit0 AffineEquiv.pointReflection_fixed_iff_of_injective_bit0
+-/
+#print AffineEquiv.injective_pointReflection_left_of_injective_bit0 /-
theorem injective_pointReflection_left_of_injective_bit0 (h : Injective (bit0 : V₁ → V₁)) (y : P₁) :
Injective fun x : P₁ => pointReflection k x y :=
Equiv.injective_pointReflection_left_of_injective_bit0 h y
#align affine_equiv.injective_point_reflection_left_of_injective_bit0 AffineEquiv.injective_pointReflection_left_of_injective_bit0
+-/
+#print AffineEquiv.injective_pointReflection_left_of_module /-
theorem injective_pointReflection_left_of_module [Invertible (2 : k)] :
∀ y, Injective fun x : P₁ => pointReflection k x y :=
injective_pointReflection_left_of_injective_bit0 k fun x y h => by
rwa [bit0, bit0, ← two_smul k x, ← two_smul k y,
(isUnit_of_invertible (2 : k)).smul_left_cancel] at h
#align affine_equiv.injective_point_reflection_left_of_module AffineEquiv.injective_pointReflection_left_of_module
+-/
+#print AffineEquiv.pointReflection_fixed_iff_of_module /-
theorem pointReflection_fixed_iff_of_module [Invertible (2 : k)] {x y : P₁} :
pointReflection k x y = y ↔ y = x :=
((injective_pointReflection_left_of_module k y).eq_iff' (pointReflection_self k y)).trans eq_comm
#align affine_equiv.point_reflection_fixed_iff_of_module AffineEquiv.pointReflection_fixed_iff_of_module
+-/
end AffineEquiv
@@ -673,10 +798,12 @@ def toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : V₁ ≃ᵃ[k] V₂
#align linear_equiv.to_affine_equiv LinearEquiv.toAffineEquiv
-/
+#print LinearEquiv.coe_toAffineEquiv /-
@[simp]
theorem coe_toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : ⇑e.toAffineEquiv = e :=
rfl
#align linear_equiv.coe_to_affine_equiv LinearEquiv.coe_toAffineEquiv
+-/
end LinearEquiv
@@ -684,12 +811,12 @@ namespace AffineMap
open AffineEquiv
-include V₁
-
+#print AffineMap.lineMap_vadd /-
theorem lineMap_vadd (v v' : V₁) (p : P₁) (c : k) :
lineMap v v' c +ᵥ p = lineMap (v +ᵥ p) (v' +ᵥ p) c :=
(vaddConst k p).apply_lineMap v v' c
#align affine_map.line_map_vadd AffineMap.lineMap_vadd
+-/
#print AffineMap.lineMap_vsub /-
theorem lineMap_vsub (p₁ p₂ p₃ : P₁) (c : k) :
@@ -705,16 +832,20 @@ theorem vsub_lineMap (p₁ p₂ p₃ : P₁) (c : k) :
#align affine_map.vsub_line_map AffineMap.vsub_lineMap
-/
+#print AffineMap.vadd_lineMap /-
theorem vadd_lineMap (v : V₁) (p₁ p₂ : P₁) (c : k) :
v +ᵥ lineMap p₁ p₂ c = lineMap (v +ᵥ p₁) (v +ᵥ p₂) c :=
(constVAdd k P₁ v).apply_lineMap p₁ p₂ c
#align affine_map.vadd_line_map AffineMap.vadd_lineMap
+-/
variable {R' : Type _} [CommRing R'] [Module R' V₁]
+#print AffineMap.homothety_neg_one_apply /-
theorem homothety_neg_one_apply (c p : P₁) : homothety c (-1 : R') p = pointReflection R' c p := by
simp [homothety_apply, point_reflection_apply]
#align affine_map.homothety_neg_one_apply AffineMap.homothety_neg_one_apply
+-/
end AffineMap
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -53,7 +53,7 @@ We define it using an `equiv` for the map and a `linear_equiv` for the linear pa
to allow affine equivalences with good definitional equalities. -/
@[nolint has_nonempty_instance]
structure AffineEquiv (k P₁ P₂ : Type _) {V₁ V₂ : Type _} [Ring k] [AddCommGroup V₁] [Module k V₁]
- [AddTorsor V₁ P₁] [AddCommGroup V₂] [Module k V₂] [AddTorsor V₂ P₂] extends P₁ ≃ P₂ where
+ [AddTorsor V₁ P₁] [AddCommGroup V₂] [Module k V₂] [AddTorsor V₂ P₂] extends P₁ ≃ P₂ where
linear : V₁ ≃ₗ[k] V₂
map_vadd' : ∀ (p : P₁) (v : V₁), to_equiv (v +ᵥ p) = linear v +ᵥ to_equiv p
#align affine_equiv AffineEquiv
@@ -91,9 +91,9 @@ theorem linear_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : e.toAffineMap.linear = e.
theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂) → P₁ →ᵃ[k] P₂) :=
by
rintro ⟨e, el, h⟩ ⟨e', el', h'⟩ H
- simp only [to_affine_map_mk, Equiv.coe_inj, LinearEquiv.toLinearMap_inj] at H
+ simp only [to_affine_map_mk, Equiv.coe_inj, LinearEquiv.toLinearMap_inj] at H
congr
- exacts[H.1, H.2]
+ exacts [H.1, H.2]
#align affine_equiv.to_affine_map_injective AffineEquiv.toAffineMap_injective
@[simp]
@@ -651,7 +651,7 @@ theorem injective_pointReflection_left_of_module [Invertible (2 : k)] :
∀ y, Injective fun x : P₁ => pointReflection k x y :=
injective_pointReflection_left_of_injective_bit0 k fun x y h => by
rwa [bit0, bit0, ← two_smul k x, ← two_smul k y,
- (isUnit_of_invertible (2 : k)).smul_left_cancel] at h
+ (isUnit_of_invertible (2 : k)).smul_left_cancel] at h
#align affine_equiv.injective_point_reflection_left_of_module AffineEquiv.injective_pointReflection_left_of_module
theorem pointReflection_fixed_iff_of_module [Invertible (2 : k)] {x y : P₁} :
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -43,7 +43,7 @@ affine space, affine equivalence
open Function Set
-open Affine
+open scoped Affine
#print AffineEquiv /-
/-- An affine equivalence is an equivalence between affine spaces such that both forward
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -77,29 +77,17 @@ def toAffineMap (e : P₁ ≃ᵃ[k] P₂) : P₁ →ᵃ[k] P₂ :=
#align affine_equiv.to_affine_map AffineEquiv.toAffineMap
-/
-/- warning: affine_equiv.to_affine_map_mk -> AffineEquiv.toAffineMap_mk is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.to_affine_map_mk AffineEquiv.toAffineMap_mkₓ'. -/
@[simp]
theorem toAffineMap_mk (f : P₁ ≃ P₂) (f' : V₁ ≃ₗ[k] V₂) (h) :
toAffineMap (mk f f' h) = ⟨f, f', h⟩ :=
rfl
#align affine_equiv.to_affine_map_mk AffineEquiv.toAffineMap_mk
-/- warning: affine_equiv.linear_to_affine_map -> AffineEquiv.linear_toAffineMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.linear_to_affine_map AffineEquiv.linear_toAffineMapₓ'. -/
@[simp]
theorem linear_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : e.toAffineMap.linear = e.linear :=
rfl
#align affine_equiv.linear_to_affine_map AffineEquiv.linear_toAffineMap
-/- warning: affine_equiv.to_affine_map_injective -> AffineEquiv.toAffineMap_injective is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)], Function.Injective.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
-but is expected to have type
- forall {k : Type.{u1}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u3}} {V₂ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u2} V₂] [_inst_6 : Module.{u1, u2} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_5)] [_inst_7 : AddTorsor.{u2, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_5)], Function.Injective.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2), max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)} (AffineEquiv.{u1, u5, u4, u3, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u3, u5, u2, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u5, u4, u3, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.to_affine_map_injective AffineEquiv.toAffineMap_injectiveₓ'. -/
theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂) → P₁ →ᵃ[k] P₂) :=
by
rintro ⟨e, el, h⟩ ⟨e', el', h'⟩ H
@@ -108,9 +96,6 @@ theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂)
exacts[H.1, H.2]
#align affine_equiv.to_affine_map_injective AffineEquiv.toAffineMap_injective
-/- warning: affine_equiv.to_affine_map_inj -> AffineEquiv.toAffineMap_inj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.to_affine_map_inj AffineEquiv.toAffineMap_injₓ'. -/
@[simp]
theorem toAffineMap_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toAffineMap = e'.toAffineMap ↔ e = e' :=
toAffineMap_injective.eq_iff
@@ -135,17 +120,11 @@ instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ ≃ P₂) :=
variable {k P₁}
-/- warning: affine_equiv.map_vadd -> AffineEquiv.map_vadd is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.map_vadd AffineEquiv.map_vaddₓ'. -/
@[simp]
theorem map_vadd (e : P₁ ≃ᵃ[k] P₂) (p : P₁) (v : V₁) : e (v +ᵥ p) = e.linear v +ᵥ e p :=
e.map_vadd' p v
#align affine_equiv.map_vadd AffineEquiv.map_vadd
-/- warning: affine_equiv.coe_to_equiv -> AffineEquiv.coe_toEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_to_equiv AffineEquiv.coe_toEquivₓ'. -/
@[simp]
theorem coe_toEquiv (e : P₁ ≃ᵃ[k] P₂) : ⇑e.toEquiv = e :=
rfl
@@ -154,33 +133,21 @@ theorem coe_toEquiv (e : P₁ ≃ᵃ[k] P₂) : ⇑e.toEquiv = e :=
instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ →ᵃ[k] P₂) :=
⟨toAffineMap⟩
-/- warning: affine_equiv.coe_to_affine_map -> AffineEquiv.coe_toAffineMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_to_affine_map AffineEquiv.coe_toAffineMapₓ'. -/
@[simp]
theorem coe_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : (e.toAffineMap : P₁ → P₂) = (e : P₁ → P₂) :=
rfl
#align affine_equiv.coe_to_affine_map AffineEquiv.coe_toAffineMap
-/- warning: affine_equiv.coe_coe -> AffineEquiv.coe_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_coe AffineEquiv.coe_coeₓ'. -/
@[norm_cast, simp]
theorem coe_coe (e : P₁ ≃ᵃ[k] P₂) : ((e : P₁ →ᵃ[k] P₂) : P₁ → P₂) = e :=
rfl
#align affine_equiv.coe_coe AffineEquiv.coe_coe
-/- warning: affine_equiv.coe_linear -> AffineEquiv.coe_linear is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_linear AffineEquiv.coe_linearₓ'. -/
@[simp]
theorem coe_linear (e : P₁ ≃ᵃ[k] P₂) : (e : P₁ →ᵃ[k] P₂).linear = e.linear :=
rfl
#align affine_equiv.coe_linear AffineEquiv.coe_linear
-/- warning: affine_equiv.ext -> AffineEquiv.ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.ext AffineEquiv.extₓ'. -/
@[ext]
theorem ext {e e' : P₁ ≃ᵃ[k] P₂} (h : ∀ x, e x = e' x) : e = e' :=
FunLike.ext _ _ h
@@ -192,43 +159,25 @@ theorem coeFn_injective : @Injective (P₁ ≃ᵃ[k] P₂) (P₁ → P₂) coeFn
#align affine_equiv.coe_fn_injective AffineEquiv.coeFn_injective
-/
-/- warning: affine_equiv.coe_fn_inj -> AffineEquiv.coeFn_inj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_fn_inj AffineEquiv.coeFn_injₓ'. -/
@[simp, norm_cast]
theorem coeFn_inj {e e' : P₁ ≃ᵃ[k] P₂} : (e : P₁ → P₂) = e' ↔ e = e' :=
coeFn_injective.eq_iff
#align affine_equiv.coe_fn_inj AffineEquiv.coeFn_inj
-/- warning: affine_equiv.to_equiv_injective -> AffineEquiv.toEquiv_injective is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)], Function.Injective.{max (succ u2) (succ u3) (succ u4) (succ u5), max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (Equiv.{succ u2, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
-but is expected to have type
- forall {k : Type.{u1}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u3}} {V₂ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u2} V₂] [_inst_6 : Module.{u1, u2} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_5)] [_inst_7 : AddTorsor.{u2, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_5)], Function.Injective.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2), max (succ u5) (succ u4)} (AffineEquiv.{u1, u5, u4, u3, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (Equiv.{succ u5, succ u4} P₁ P₂) (AffineEquiv.toEquiv.{u1, u5, u4, u3, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.to_equiv_injective AffineEquiv.toEquiv_injectiveₓ'. -/
theorem toEquiv_injective : Injective (toEquiv : (P₁ ≃ᵃ[k] P₂) → P₁ ≃ P₂) := fun e e' H =>
ext <| Equiv.ext_iff.1 H
#align affine_equiv.to_equiv_injective AffineEquiv.toEquiv_injective
-/- warning: affine_equiv.to_equiv_inj -> AffineEquiv.toEquiv_inj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.to_equiv_inj AffineEquiv.toEquiv_injₓ'. -/
@[simp]
theorem toEquiv_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toEquiv = e'.toEquiv ↔ e = e' :=
toEquiv_injective.eq_iff
#align affine_equiv.to_equiv_inj AffineEquiv.toEquiv_inj
-/- warning: affine_equiv.coe_mk -> AffineEquiv.coe_mk is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mk AffineEquiv.coe_mkₓ'. -/
@[simp]
theorem coe_mk (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (h) : ((⟨e, e', h⟩ : P₁ ≃ᵃ[k] P₂) : P₁ → P₂) = e :=
rfl
#align affine_equiv.coe_mk AffineEquiv.coe_mk
-/- warning: affine_equiv.mk' -> AffineEquiv.mk' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.mk' AffineEquiv.mk'ₓ'. -/
/-- Construct an affine equivalence by verifying the relation between the map and its linear part at
one base point. Namely, this function takes a map `e : P₁ → P₂`, a linear equivalence
`e' : V₁ ≃ₗ[k] V₂`, and a point `p` such that for any other point `p'` we have
@@ -243,17 +192,11 @@ def mk' (e : P₁ → P₂) (e' : V₁ ≃ₗ[k] V₂) (p : P₁) (h : ∀ p' :
map_vadd' p' v := by simp [h p', h (v +ᵥ p'), vadd_vsub_assoc, vadd_vadd]
#align affine_equiv.mk' AffineEquiv.mk'
-/- warning: affine_equiv.coe_mk' -> AffineEquiv.coe_mk' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mk' AffineEquiv.coe_mk'ₓ'. -/
@[simp]
theorem coe_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : ⇑(mk' e e' p h) = e :=
rfl
#align affine_equiv.coe_mk' AffineEquiv.coe_mk'
-/- warning: affine_equiv.linear_mk' -> AffineEquiv.linear_mk' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.linear_mk' AffineEquiv.linear_mk'ₓ'. -/
@[simp]
theorem linear_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : (mk' e e' p h).linear = e' :=
rfl
@@ -272,23 +215,11 @@ def symm (e : P₁ ≃ᵃ[k] P₂) : P₂ ≃ᵃ[k] P₁
#align affine_equiv.symm AffineEquiv.symm
-/
-/- warning: affine_equiv.symm_to_equiv -> AffineEquiv.symm_toEquiv is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max 1 (max (succ u3) (succ u2)) (succ u2) (succ u3)} (Equiv.{succ u3, succ u2} P₂ P₁) (Equiv.symm.{succ u2, succ u3} P₁ P₂ (AffineEquiv.toEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (AffineEquiv.toEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (Equiv.{succ u3, succ u4} P₂ P₁) (Equiv.symm.{succ u4, succ u3} P₁ P₂ (AffineEquiv.toEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (AffineEquiv.toEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
-Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_to_equiv AffineEquiv.symm_toEquivₓ'. -/
@[simp]
theorem symm_toEquiv (e : P₁ ≃ᵃ[k] P₂) : e.toEquiv.symm = e.symm.toEquiv :=
rfl
#align affine_equiv.symm_to_equiv AffineEquiv.symm_toEquiv
-/- warning: affine_equiv.symm_linear -> AffineEquiv.symm_linear is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u5) (succ u4)} (LinearEquiv.{u1, u1, u5, u4} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₂ V₁ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) _inst_6 _inst_3) (LinearEquiv.symm.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (AffineEquiv.linear.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u1)} (LinearEquiv.{u5, u5, u1, u2} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₂ V₁ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_6 _inst_3) (LinearEquiv.symm.{u5, u5, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (AffineEquiv.linear.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (AffineEquiv.linear.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
-Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_linear AffineEquiv.symm_linearₓ'. -/
@[simp]
theorem symm_linear (e : P₁ ≃ᵃ[k] P₂) : e.linear.symm = e.symm.linear :=
rfl
@@ -311,23 +242,14 @@ def Simps.symm_apply (e : P₁ ≃ᵃ[k] P₂) : P₂ → P₁ :=
initialize_simps_projections AffineEquiv (to_equiv_to_fun → apply, to_equiv_inv_fun → symm_apply,
linear → linear, as_prefix linear, -toEquiv)
-/- warning: affine_equiv.bijective -> AffineEquiv.bijective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.bijective AffineEquiv.bijectiveₓ'. -/
protected theorem bijective (e : P₁ ≃ᵃ[k] P₂) : Bijective e :=
e.toEquiv.Bijective
#align affine_equiv.bijective AffineEquiv.bijective
-/- warning: affine_equiv.surjective -> AffineEquiv.surjective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.surjective AffineEquiv.surjectiveₓ'. -/
protected theorem surjective (e : P₁ ≃ᵃ[k] P₂) : Surjective e :=
e.toEquiv.Surjective
#align affine_equiv.surjective AffineEquiv.surjective
-/- warning: affine_equiv.injective -> AffineEquiv.injective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.injective AffineEquiv.injectiveₓ'. -/
protected theorem injective (e : P₁ ≃ᵃ[k] P₂) : Injective e :=
e.toEquiv.Injective
#align affine_equiv.injective AffineEquiv.injective
@@ -344,64 +266,40 @@ noncomputable def ofBijective {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijecti
#align affine_equiv.of_bijective AffineEquiv.ofBijective
-/
-/- warning: affine_equiv.of_bijective.symm_eq -> AffineEquiv.ofBijective.symm_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.of_bijective.symm_eq AffineEquiv.ofBijective.symm_eqₓ'. -/
theorem ofBijective.symm_eq {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijective φ) :
(ofBijective hφ).symm.toEquiv = (Equiv.ofBijective _ hφ).symm :=
rfl
#align affine_equiv.of_bijective.symm_eq AffineEquiv.ofBijective.symm_eq
-/- warning: affine_equiv.range_eq -> AffineEquiv.range_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.range_eq AffineEquiv.range_eqₓ'. -/
@[simp]
theorem range_eq (e : P₁ ≃ᵃ[k] P₂) : range e = univ :=
e.Surjective.range_eq
#align affine_equiv.range_eq AffineEquiv.range_eq
-/- warning: affine_equiv.apply_symm_apply -> AffineEquiv.apply_symm_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_symm_apply AffineEquiv.apply_symm_applyₓ'. -/
@[simp]
theorem apply_symm_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₂) : e (e.symm p) = p :=
e.toEquiv.apply_symm_apply p
#align affine_equiv.apply_symm_apply AffineEquiv.apply_symm_apply
-/- warning: affine_equiv.symm_apply_apply -> AffineEquiv.symm_apply_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_apply_apply AffineEquiv.symm_apply_applyₓ'. -/
@[simp]
theorem symm_apply_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₁) : e.symm (e p) = p :=
e.toEquiv.symm_apply_apply p
#align affine_equiv.symm_apply_apply AffineEquiv.symm_apply_apply
-/- warning: affine_equiv.apply_eq_iff_eq_symm_apply -> AffineEquiv.apply_eq_iff_eq_symm_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_eq_iff_eq_symm_apply AffineEquiv.apply_eq_iff_eq_symm_applyₓ'. -/
theorem apply_eq_iff_eq_symm_apply (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂} : e p₁ = p₂ ↔ p₁ = e.symm p₂ :=
e.toEquiv.apply_eq_iff_eq_symm_apply
#align affine_equiv.apply_eq_iff_eq_symm_apply AffineEquiv.apply_eq_iff_eq_symm_apply
-/- warning: affine_equiv.apply_eq_iff_eq -> AffineEquiv.apply_eq_iff_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_eq_iff_eq AffineEquiv.apply_eq_iff_eqₓ'. -/
@[simp]
theorem apply_eq_iff_eq (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂ : P₁} : e p₁ = e p₂ ↔ p₁ = p₂ :=
e.toEquiv.apply_eq_iff_eq
#align affine_equiv.apply_eq_iff_eq AffineEquiv.apply_eq_iff_eq
-/- warning: affine_equiv.image_symm -> AffineEquiv.image_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.image_symm AffineEquiv.image_symmₓ'. -/
@[simp]
theorem image_symm (f : P₁ ≃ᵃ[k] P₂) (s : Set P₂) : f.symm '' s = f ⁻¹' s :=
f.symm.toEquiv.image_eq_preimage _
#align affine_equiv.image_symm AffineEquiv.image_symm
-/- warning: affine_equiv.preimage_symm -> AffineEquiv.preimage_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.preimage_symm AffineEquiv.preimage_symmₓ'. -/
@[simp]
theorem preimage_symm (f : P₁ ≃ᵃ[k] P₂) (s : Set P₁) : f.symm ⁻¹' s = f '' s :=
(f.symm.image_symm _).symm
@@ -421,67 +319,31 @@ def refl : P₁ ≃ᵃ[k] P₁ where
#align affine_equiv.refl AffineEquiv.refl
-/
-/- warning: affine_equiv.coe_refl -> AffineEquiv.coe_refl is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{succ u2} (P₁ -> P₁) (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (id.{succ u2} P₁)
-but is expected to have type
- forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{succ u3} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (id.{succ u3} P₁)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_refl AffineEquiv.coe_reflₓ'. -/
@[simp]
theorem coe_refl : ⇑(refl k P₁) = id :=
rfl
#align affine_equiv.coe_refl AffineEquiv.coe_refl
-/- warning: affine_equiv.coe_refl_to_affine_map -> AffineEquiv.coe_refl_to_affineMap is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{max (succ u3) (succ u2)} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u3) (succ u2)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u3) (succ u2)} a b] => self.0) (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (coeBase.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4)))) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (AffineMap.id.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)
-but is expected to have type
- forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{max (succ u3) (succ u2)} (AffineMap.{u1, u2, u3, u2, u3} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.toAffineMap.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (AffineMap.id.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_refl_to_affine_map AffineEquiv.coe_refl_to_affineMapₓ'. -/
@[simp]
theorem coe_refl_to_affineMap : ↑(refl k P₁) = AffineMap.id k P₁ :=
rfl
#align affine_equiv.coe_refl_to_affine_map AffineEquiv.coe_refl_to_affineMap
-/- warning: affine_equiv.refl_apply -> AffineEquiv.refl_apply is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4) x) x
-but is expected to have type
- forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4) x) x
-Case conversion may be inaccurate. Consider using '#align affine_equiv.refl_apply AffineEquiv.refl_applyₓ'. -/
@[simp]
theorem refl_apply (x : P₁) : refl k P₁ x = x :=
rfl
#align affine_equiv.refl_apply AffineEquiv.refl_apply
-/- warning: affine_equiv.to_equiv_refl -> AffineEquiv.toEquiv_refl is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{succ u2} (Equiv.{succ u2, succ u2} P₁ P₁) (AffineEquiv.toEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (Equiv.refl.{succ u2} P₁)
-but is expected to have type
- forall (k : Type.{u2}) (P₁ : Type.{u3}) {V₁ : Type.{u1}} [_inst_1 : Ring.{u2} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u2, u1} k V₁ (Ring.toSemiring.{u2} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)], Eq.{succ u3} (Equiv.{succ u3, succ u3} P₁ P₁) (AffineEquiv.toEquiv.{u2, u3, u3, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u2, u3, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (Equiv.refl.{succ u3} P₁)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.to_equiv_refl AffineEquiv.toEquiv_reflₓ'. -/
@[simp]
theorem toEquiv_refl : (refl k P₁).toEquiv = Equiv.refl P₁ :=
rfl
#align affine_equiv.to_equiv_refl AffineEquiv.toEquiv_refl
-/- warning: affine_equiv.linear_refl -> AffineEquiv.linear_refl is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{succ u3} (LinearEquiv.{u1, u1, u3, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₁ (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2) _inst_3 _inst_3) (AffineEquiv.linear.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (LinearEquiv.refl.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2) _inst_3)
-but is expected to have type
- forall (k : Type.{u2}) (P₁ : Type.{u1}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u2} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u2, u3} k V₁ (Ring.toSemiring.{u2} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u1} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{succ u3} (LinearEquiv.{u2, u2, u3, u3} k k (Ring.toSemiring.{u2} k _inst_1) (Ring.toSemiring.{u2} k _inst_1) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k _inst_1))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k _inst_1))) (RingHomInvPair.ids.{u2} k (Ring.toSemiring.{u2} k _inst_1)) (RingHomInvPair.ids.{u2} k (Ring.toSemiring.{u2} k _inst_1)) V₁ V₁ (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2) _inst_3 _inst_3) (AffineEquiv.linear.{u2, u1, u1, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u2, u1, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (LinearEquiv.refl.{u2, u3} k V₁ (Ring.toSemiring.{u2} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2) _inst_3)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.linear_refl AffineEquiv.linear_reflₓ'. -/
@[simp]
theorem linear_refl : (refl k P₁).linear = LinearEquiv.refl k V₁ :=
rfl
#align affine_equiv.linear_refl AffineEquiv.linear_refl
-/- warning: affine_equiv.symm_refl -> AffineEquiv.symm_refl is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
-but is expected to have type
- forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_refl AffineEquiv.symm_reflₓ'. -/
@[simp]
theorem symm_refl : (refl k P₁).symm = refl k P₁ :=
rfl
@@ -503,26 +365,17 @@ def trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : P₁ ≃ᵃ[k]
#align affine_equiv.trans AffineEquiv.trans
-/
-/- warning: affine_equiv.coe_trans -> AffineEquiv.coe_trans is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_trans AffineEquiv.coe_transₓ'. -/
@[simp]
theorem coe_trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : ⇑(e.trans e') = e' ∘ e :=
rfl
#align affine_equiv.coe_trans AffineEquiv.coe_trans
-/- warning: affine_equiv.coe_trans_to_affine_map -> AffineEquiv.coe_trans_to_affineMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_trans_to_affine_map AffineEquiv.coe_trans_to_affineMapₓ'. -/
@[simp]
theorem coe_trans_to_affineMap (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) :
(e.trans e' : P₁ →ᵃ[k] P₃) = (e' : P₂ →ᵃ[k] P₃).comp e :=
rfl
#align affine_equiv.coe_trans_to_affine_map AffineEquiv.coe_trans_to_affineMap
-/- warning: affine_equiv.trans_apply -> AffineEquiv.trans_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.trans_apply AffineEquiv.trans_applyₓ'. -/
@[simp]
theorem trans_apply (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) (p : P₁) : e.trans e' p = e' (e p) :=
rfl
@@ -530,9 +383,6 @@ theorem trans_apply (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) (p : P
include V₄
-/- warning: affine_equiv.trans_assoc -> AffineEquiv.trans_assoc is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.trans_assoc AffineEquiv.trans_assocₓ'. -/
theorem trans_assoc (e₁ : P₁ ≃ᵃ[k] P₂) (e₂ : P₂ ≃ᵃ[k] P₃) (e₃ : P₃ ≃ᵃ[k] P₄) :
(e₁.trans e₂).trans e₃ = e₁.trans (e₂.trans e₃) :=
ext fun _ => rfl
@@ -540,41 +390,26 @@ theorem trans_assoc (e₁ : P₁ ≃ᵃ[k] P₂) (e₂ : P₂ ≃ᵃ[k] P₃) (e
omit V₃ V₄
-/- warning: affine_equiv.trans_refl -> AffineEquiv.trans_refl is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.trans_refl AffineEquiv.trans_reflₓ'. -/
@[simp]
theorem trans_refl (e : P₁ ≃ᵃ[k] P₂) : e.trans (refl k P₂) = e :=
ext fun _ => rfl
#align affine_equiv.trans_refl AffineEquiv.trans_refl
-/- warning: affine_equiv.refl_trans -> AffineEquiv.refl_trans is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.refl_trans AffineEquiv.refl_transₓ'. -/
@[simp]
theorem refl_trans (e : P₁ ≃ᵃ[k] P₂) : (refl k P₁).trans e = e :=
ext fun _ => rfl
#align affine_equiv.refl_trans AffineEquiv.refl_trans
-/- warning: affine_equiv.self_trans_symm -> AffineEquiv.self_trans_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.self_trans_symm AffineEquiv.self_trans_symmₓ'. -/
@[simp]
theorem self_trans_symm (e : P₁ ≃ᵃ[k] P₂) : e.trans e.symm = refl k P₁ :=
ext e.symm_apply_apply
#align affine_equiv.self_trans_symm AffineEquiv.self_trans_symm
-/- warning: affine_equiv.symm_trans_self -> AffineEquiv.symm_trans_self is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_trans_self AffineEquiv.symm_trans_selfₓ'. -/
@[simp]
theorem symm_trans_self (e : P₁ ≃ᵃ[k] P₂) : e.symm.trans e = refl k P₂ :=
ext e.apply_symm_apply
#align affine_equiv.symm_trans_self AffineEquiv.symm_trans_self
-/- warning: affine_equiv.apply_line_map -> AffineEquiv.apply_lineMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_line_map AffineEquiv.apply_lineMapₓ'. -/
@[simp]
theorem apply_lineMap (e : P₁ ≃ᵃ[k] P₂) (a b : P₁) (c : k) :
e (AffineMap.lineMap a b c) = AffineMap.lineMap (e a) (e b) c :=
@@ -592,48 +427,24 @@ instance : Group (P₁ ≃ᵃ[k] P₁) where
mul_one := refl_trans
mul_left_inv := self_trans_symm
-/- warning: affine_equiv.one_def -> AffineEquiv.one_def is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (OfNat.ofNat.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (OfNat.mk.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.one.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasOne.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))))) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
-but is expected to have type
- forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (OfNat.ofNat.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.toOfNat1.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (InvOneClass.toOne.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvOneMonoid.toInvOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivisionMonoid.toDivInvOneMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivisionMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))))) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.one_def AffineEquiv.one_defₓ'. -/
theorem one_def : (1 : P₁ ≃ᵃ[k] P₁) = refl k P₁ :=
rfl
#align affine_equiv.one_def AffineEquiv.one_def
-/- warning: affine_equiv.coe_one -> AffineEquiv.coe_one is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{succ u2} (P₁ -> P₁) (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (OfNat.ofNat.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (OfNat.mk.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.one.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasOne.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))))))) (id.{succ u2} P₁)
-but is expected to have type
- forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{succ u3} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (OfNat.ofNat.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.toOfNat1.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (InvOneClass.toOne.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvOneMonoid.toInvOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivisionMonoid.toDivInvOneMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivisionMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))))) (id.{succ u3} P₁)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_one AffineEquiv.coe_oneₓ'. -/
@[simp]
theorem coe_one : ⇑(1 : P₁ ≃ᵃ[k] P₁) = id :=
rfl
#align affine_equiv.coe_one AffineEquiv.coe_one
-/- warning: affine_equiv.mul_def -> AffineEquiv.mul_def is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.mul_def AffineEquiv.mul_defₓ'. -/
theorem mul_def (e e' : P₁ ≃ᵃ[k] P₁) : e * e' = e'.trans e :=
rfl
#align affine_equiv.mul_def AffineEquiv.mul_def
-/- warning: affine_equiv.coe_mul -> AffineEquiv.coe_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mul AffineEquiv.coe_mulₓ'. -/
@[simp]
theorem coe_mul (e e' : P₁ ≃ᵃ[k] P₁) : ⇑(e * e') = e ∘ e' :=
rfl
#align affine_equiv.coe_mul AffineEquiv.coe_mul
-/- warning: affine_equiv.inv_def -> AffineEquiv.inv_def is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (e : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{succ (max u2 u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Inv.inv.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toHasInv.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))) e) (AffineEquiv.symm.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 e)
-but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] (e : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Inv.inv.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (InvOneClass.toInv.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvOneMonoid.toInvOneClass.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivisionMonoid.toDivInvOneMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivisionMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))) e) (AffineEquiv.symm.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 e)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.inv_def AffineEquiv.inv_defₓ'. -/
theorem inv_def (e : P₁ ≃ᵃ[k] P₁) : e⁻¹ = e.symm :=
rfl
#align affine_equiv.inv_def AffineEquiv.inv_def
@@ -649,12 +460,6 @@ def linearHom : (P₁ ≃ᵃ[k] P₁) →* V₁ ≃ₗ[k] V₁
#align affine_equiv.linear_hom AffineEquiv.linearHom
-/
-/- warning: affine_equiv.equiv_units_affine_map -> AffineEquiv.equivUnitsAffineMap is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], MulEquiv.{max u2 u3, max u3 u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Units.{max u3 u2} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.monoid.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)) (MulOneClass.toHasMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))) (MulOneClass.toHasMul.{max u3 u2} (Units.{max u3 u2} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.monoid.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)) (Units.mulOneClass.{max u3 u2} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.monoid.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)))
-but is expected to have type
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], MulEquiv.{max u3 u2, max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Units.{max u2 u3} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.instMonoidAffineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)) (MulOneClass.toMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))) (MulOneClass.toMul.{max u2 u3} (Units.{max u2 u3} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.instMonoidAffineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)) (Units.instMulOneClassUnits.{max u2 u3} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.instMonoidAffineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)))
-Case conversion may be inaccurate. Consider using '#align affine_equiv.equiv_units_affine_map AffineEquiv.equivUnitsAffineMapₓ'. -/
/-- The group of `affine_equiv`s are equivalent to the group of units of `affine_map`.
This is the affine version of `linear_map.general_linear_group.general_linear_equiv`. -/
@@ -699,23 +504,11 @@ def constVSub (p : P₁) : P₁ ≃ᵃ[k] V₁
#align affine_equiv.const_vsub AffineEquiv.constVSub
-/
-/- warning: affine_equiv.coe_const_vsub -> AffineEquiv.coe_constVSub is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (p : P₁), Eq.{max (succ u2) (succ u3)} (P₁ -> V₁) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u3, u3} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (fun (_x : AffineEquiv.{u1, u2, u3, u3, u3} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) => P₁ -> V₁) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u3, u3} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AffineEquiv.constVSub.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p)) (VSub.vsub.{u3, u2} V₁ P₁ (AddTorsor.toHasVsub.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4) p)
-but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (p : P₁), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => V₁) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineEquiv.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => V₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u2} (AffineEquiv.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) P₁ V₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u2} (AffineEquiv.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) P₁ V₁ (AffineEquiv.equivLike.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))))) (AffineEquiv.constVSub.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p)) ((fun (x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6943 : P₁) (x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6945 : P₁) => VSub.vsub.{u2, u3} V₁ P₁ (AddTorsor.toVSub.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6943 x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6945) p)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_const_vsub AffineEquiv.coe_constVSubₓ'. -/
@[simp]
theorem coe_constVSub (p : P₁) : ⇑(constVSub k p) = (· -ᵥ ·) p :=
rfl
#align affine_equiv.coe_const_vsub AffineEquiv.coe_constVSub
-/- warning: affine_equiv.coe_const_vsub_symm -> AffineEquiv.coe_constVSub_symm is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (p : P₁), Eq.{max (succ u3) (succ u2)} (V₁ -> P₁) (coeFn.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u3, u3} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u3, u3} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) => V₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u3, u3} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u3, u3} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) (AffineEquiv.constVSub.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p))) (fun (v : V₁) => VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) (Neg.neg.{u3} V₁ (SubNegMonoid.toHasNeg.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) v) p)
-but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (p : P₁), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : V₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : V₁) => P₁) ᾰ) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (AffineEquiv.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) V₁ (fun (_x : V₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : V₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u3), succ u2, succ u3} (AffineEquiv.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) V₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u3), succ u2, succ u3} (AffineEquiv.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) V₁ P₁ (AffineEquiv.equivLike.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) (AffineEquiv.constVSub.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p))) (fun (v : V₁) => HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) (Neg.neg.{u2} V₁ (NegZeroClass.toNeg.{u2} V₁ (SubNegZeroMonoid.toNegZeroClass.{u2} V₁ (SubtractionMonoid.toSubNegZeroMonoid.{u2} V₁ (SubtractionCommMonoid.toSubtractionMonoid.{u2} V₁ (AddCommGroup.toDivisionAddCommMonoid.{u2} V₁ _inst_2))))) v) p)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_const_vsub_symm AffineEquiv.coe_constVSub_symmₓ'. -/
@[simp]
theorem coe_constVSub_symm (p : P₁) : ⇑(constVSub k p).symm = fun v => -v +ᵥ p :=
rfl
@@ -737,35 +530,17 @@ def constVAdd (v : V₁) : P₁ ≃ᵃ[k] P₁
#align affine_equiv.const_vadd AffineEquiv.constVAdd
-/
-/- warning: affine_equiv.const_vadd_zero -> AffineEquiv.constVAdd_zero is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{u3} V₁ 0 (OfNat.mk.{u3} V₁ 0 (Zero.zero.{u3} V₁ (AddZeroClass.toHasZero.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))))) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
-but is expected to have type
- forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{u2} V₁ 0 (Zero.toOfNat0.{u2} V₁ (NegZeroClass.toZero.{u2} V₁ (SubNegZeroMonoid.toNegZeroClass.{u2} V₁ (SubtractionMonoid.toSubNegZeroMonoid.{u2} V₁ (SubtractionCommMonoid.toSubtractionMonoid.{u2} V₁ (AddCommGroup.toDivisionAddCommMonoid.{u2} V₁ _inst_2)))))))) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.const_vadd_zero AffineEquiv.constVAdd_zeroₓ'. -/
@[simp]
theorem constVAdd_zero : constVAdd k P₁ 0 = AffineEquiv.refl _ _ :=
ext <| zero_vadd _
#align affine_equiv.const_vadd_zero AffineEquiv.constVAdd_zero
-/- warning: affine_equiv.const_vadd_add -> AffineEquiv.constVAdd_add is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁) (w : V₁), Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (HAdd.hAdd.{u3, u3, u3} V₁ V₁ V₁ (instHAdd.{u3} V₁ (AddZeroClass.toHasAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)))))) v w)) (AffineEquiv.trans.{u1, u2, u2, u2, u3, u3, u3} k P₁ P₁ P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 w) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v))
-but is expected to have type
- forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁) (w : V₁), Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (HAdd.hAdd.{u2, u2, u2} V₁ V₁ V₁ (instHAdd.{u2} V₁ (AddZeroClass.toAdd.{u2} V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)))))) v w)) (AffineEquiv.trans.{u1, u3, u3, u3, u2, u2, u2} k P₁ P₁ P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 w) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v))
-Case conversion may be inaccurate. Consider using '#align affine_equiv.const_vadd_add AffineEquiv.constVAdd_addₓ'. -/
@[simp]
theorem constVAdd_add (v w : V₁) :
constVAdd k P₁ (v + w) = (constVAdd k P₁ w).trans (constVAdd k P₁ v) :=
ext <| add_vadd _ _
#align affine_equiv.const_vadd_add AffineEquiv.constVAdd_add
-/- warning: affine_equiv.const_vadd_symm -> AffineEquiv.constVAdd_symm is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁), Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v)) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (Neg.neg.{u3} V₁ (SubNegMonoid.toHasNeg.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) v))
-but is expected to have type
- forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁), Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v)) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (Neg.neg.{u2} V₁ (NegZeroClass.toNeg.{u2} V₁ (SubNegZeroMonoid.toNegZeroClass.{u2} V₁ (SubtractionMonoid.toSubNegZeroMonoid.{u2} V₁ (SubtractionCommMonoid.toSubtractionMonoid.{u2} V₁ (AddCommGroup.toDivisionAddCommMonoid.{u2} V₁ _inst_2))))) v))
-Case conversion may be inaccurate. Consider using '#align affine_equiv.const_vadd_symm AffineEquiv.constVAdd_symmₓ'. -/
@[simp]
theorem constVAdd_symm (v : V₁) : (constVAdd k P₁ v).symm = constVAdd k P₁ (-v) :=
ext fun _ => rfl
@@ -782,22 +557,10 @@ def constVAddHom : Multiplicative V₁ →* P₁ ≃ᵃ[k] P₁
#align affine_equiv.const_vadd_hom AffineEquiv.constVAddHom
-/
-/- warning: affine_equiv.const_vadd_nsmul -> AffineEquiv.constVAdd_nsmul is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (n : Nat) (v : V₁), Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (SMul.smul.{0, u3} Nat V₁ (AddMonoid.SMul.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)))) n v)) (HPow.hPow.{max u2 u3, 0, max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Nat (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHPow.{max u2 u3, 0} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Nat (Monoid.Pow.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v) n)
-but is expected to have type
- forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (n : Nat) (v : V₁), Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (HSMul.hSMul.{0, u2, u2} Nat V₁ V₁ (instHSMul.{0, u2} Nat V₁ (AddMonoid.SMul.{u2} V₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))))) n v)) (HPow.hPow.{max u3 u2, 0, max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Nat (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHPow.{max u3 u2, 0} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Nat (Monoid.Pow.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v) n)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.const_vadd_nsmul AffineEquiv.constVAdd_nsmulₓ'. -/
theorem constVAdd_nsmul (n : ℕ) (v : V₁) : constVAdd k P₁ (n • v) = constVAdd k P₁ v ^ n :=
(constVAddHom k P₁).map_pow _ _
#align affine_equiv.const_vadd_nsmul AffineEquiv.constVAdd_nsmul
-/- warning: affine_equiv.const_vadd_zsmul -> AffineEquiv.constVAdd_zsmul is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (z : Int) (v : V₁), Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (SMul.smul.{0, u3} Int V₁ (SubNegMonoid.SMulInt.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) z v)) (HPow.hPow.{max u2 u3, 0, max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Int (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHPow.{max u2 u3, 0} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Int (DivInvMonoid.Pow.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v) z)
-but is expected to have type
- forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (z : Int) (v : V₁), Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (HSMul.hSMul.{0, u2, u2} Int V₁ V₁ (instHSMul.{0, u2} Int V₁ (SubNegMonoid.SMulInt.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)))) z v)) (HPow.hPow.{max u3 u2, 0, max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Int (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHPow.{max u3 u2, 0} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Int (DivInvMonoid.Pow.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v) z)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.const_vadd_zsmul AffineEquiv.constVAdd_zsmulₓ'. -/
theorem constVAdd_zsmul (z : ℤ) (v : V₁) : constVAdd k P₁ (z • v) = constVAdd k P₁ v ^ z :=
(constVAddHom k P₁).map_zpow _ _
#align affine_equiv.const_vadd_zsmul AffineEquiv.constVAdd_zsmul
@@ -810,39 +573,24 @@ variable {R V P : Type _} [CommRing R] [AddCommGroup V] [Module R V] [affine_spa
include V
-/- warning: affine_equiv.homothety_units_mul_hom -> AffineEquiv.homothetyUnitsMulHom is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)], P -> (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17)))))
-but is expected to have type
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)], P -> (MonoidHom.{u1, max u2 u3} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_14))))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17)))))
-Case conversion may be inaccurate. Consider using '#align affine_equiv.homothety_units_mul_hom AffineEquiv.homothetyUnitsMulHomₓ'. -/
/-- Fixing a point in affine space, homothety about this point gives a group homomorphism from (the
centre of) the units of the scalars into the group of affine equivalences. -/
def homothetyUnitsMulHom (p : P) : Rˣ →* P ≃ᵃ[R] P :=
equivUnitsAffineMap.symm.toMonoidHom.comp <| Units.map (AffineMap.homothetyHom p)
#align affine_equiv.homothety_units_mul_hom AffineEquiv.homothetyUnitsMulHom
-/- warning: affine_equiv.coe_homothety_units_mul_hom_apply -> AffineEquiv.coe_homothetyUnitsMulHom_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply AffineEquiv.coe_homothetyUnitsMulHom_applyₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply (p : P) (t : Rˣ) :
(homothetyUnitsMulHom p t : P → P) = AffineMap.homothety p (t : R) :=
rfl
#align affine_equiv.coe_homothety_units_mul_hom_apply AffineEquiv.coe_homothetyUnitsMulHom_apply
-/- warning: affine_equiv.coe_homothety_units_mul_hom_apply_symm -> AffineEquiv.coe_homothetyUnitsMulHom_apply_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply_symm AffineEquiv.coe_homothetyUnitsMulHom_apply_symmₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply_symm (p : P) (t : Rˣ) :
((homothetyUnitsMulHom p t).symm : P → P) = AffineMap.homothety p (↑t⁻¹ : R) :=
rfl
#align affine_equiv.coe_homothety_units_mul_hom_apply_symm AffineEquiv.coe_homothetyUnitsMulHom_apply_symm
-/- warning: affine_equiv.coe_homothety_units_mul_hom_eq_homothety_hom_coe -> AffineEquiv.coe_homothetyUnitsMulHom_eq_homothetyHom_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_eq_homothety_hom_coe AffineEquiv.coe_homothetyUnitsMulHom_eq_homothetyHom_coeₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_eq_homothetyHom_coe (p : P) :
(coe : (P ≃ᵃ[R] P) → P →ᵃ[R] P) ∘ homothetyUnitsMulHom p =
@@ -863,60 +611,30 @@ def pointReflection (x : P₁) : P₁ ≃ᵃ[k] P₁ :=
#align affine_equiv.point_reflection AffineEquiv.pointReflection
-/
-/- warning: affine_equiv.point_reflection_apply -> AffineEquiv.pointReflection_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_apply AffineEquiv.pointReflection_applyₓ'. -/
theorem pointReflection_apply (x y : P₁) : pointReflection k x y = x -ᵥ y +ᵥ x :=
rfl
#align affine_equiv.point_reflection_apply AffineEquiv.pointReflection_apply
-/- warning: affine_equiv.point_reflection_symm -> AffineEquiv.pointReflection_symm is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x)) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x)
-but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x)) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_symm AffineEquiv.pointReflection_symmₓ'. -/
@[simp]
theorem pointReflection_symm (x : P₁) : (pointReflection k x).symm = pointReflection k x :=
toEquiv_injective <| Equiv.pointReflection_symm x
#align affine_equiv.point_reflection_symm AffineEquiv.pointReflection_symm
-/- warning: affine_equiv.to_equiv_point_reflection -> AffineEquiv.toEquiv_pointReflection is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Eq.{succ u2} (Equiv.{succ u2, succ u2} P₁ P₁) (AffineEquiv.toEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x)) (Equiv.pointReflection.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4 x)
-but is expected to have type
- forall (k : Type.{u2}) {P₁ : Type.{u3}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u2} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u2, u1} k V₁ (Ring.toSemiring.{u2} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] (x : P₁), Eq.{succ u3} (Equiv.{succ u3, succ u3} P₁ P₁) (AffineEquiv.toEquiv.{u2, u3, u3, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.pointReflection.{u2, u3, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x)) (Equiv.pointReflection.{u1, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2) _inst_4 x)
-Case conversion may be inaccurate. Consider using '#align affine_equiv.to_equiv_point_reflection AffineEquiv.toEquiv_pointReflectionₓ'. -/
@[simp]
theorem toEquiv_pointReflection (x : P₁) :
(pointReflection k x).toEquiv = Equiv.pointReflection x :=
rfl
#align affine_equiv.to_equiv_point_reflection AffineEquiv.toEquiv_pointReflection
-/- warning: affine_equiv.point_reflection_self -> AffineEquiv.pointReflection_self is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) x) x
-but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) x) x
-Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_self AffineEquiv.pointReflection_selfₓ'. -/
@[simp]
theorem pointReflection_self (x : P₁) : pointReflection k x x = x :=
vsub_vadd _ _
#align affine_equiv.point_reflection_self AffineEquiv.pointReflection_self
-/- warning: affine_equiv.point_reflection_involutive -> AffineEquiv.pointReflection_involutive is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Function.Involutive.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x))
-but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Function.Involutive.{succ u3} P₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x))
-Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_involutive AffineEquiv.pointReflection_involutiveₓ'. -/
theorem pointReflection_involutive (x : P₁) : Involutive (pointReflection k x : P₁ → P₁) :=
Equiv.pointReflection_involutive x
#align affine_equiv.point_reflection_involutive AffineEquiv.pointReflection_involutive
-/- warning: affine_equiv.point_reflection_fixed_iff_of_injective_bit0 -> AffineEquiv.pointReflection_fixed_iff_of_injective_bit0 is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_fixed_iff_of_injective_bit0 AffineEquiv.pointReflection_fixed_iff_of_injective_bit0ₓ'. -/
/-- `x` is the only fixed point of `point_reflection x`. This lemma requires
`x + x = y + y ↔ x = y`. There is no typeclass to use here, so we add it as an explicit argument. -/
theorem pointReflection_fixed_iff_of_injective_bit0 {x y : P₁} (h : Injective (bit0 : V₁ → V₁)) :
@@ -924,17 +642,11 @@ theorem pointReflection_fixed_iff_of_injective_bit0 {x y : P₁} (h : Injective
Equiv.pointReflection_fixed_iff_of_injective_bit0 h
#align affine_equiv.point_reflection_fixed_iff_of_injective_bit0 AffineEquiv.pointReflection_fixed_iff_of_injective_bit0
-/- warning: affine_equiv.injective_point_reflection_left_of_injective_bit0 -> AffineEquiv.injective_pointReflection_left_of_injective_bit0 is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.injective_point_reflection_left_of_injective_bit0 AffineEquiv.injective_pointReflection_left_of_injective_bit0ₓ'. -/
theorem injective_pointReflection_left_of_injective_bit0 (h : Injective (bit0 : V₁ → V₁)) (y : P₁) :
Injective fun x : P₁ => pointReflection k x y :=
Equiv.injective_pointReflection_left_of_injective_bit0 h y
#align affine_equiv.injective_point_reflection_left_of_injective_bit0 AffineEquiv.injective_pointReflection_left_of_injective_bit0
-/- warning: affine_equiv.injective_point_reflection_left_of_module -> AffineEquiv.injective_pointReflection_left_of_module is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.injective_point_reflection_left_of_module AffineEquiv.injective_pointReflection_left_of_moduleₓ'. -/
theorem injective_pointReflection_left_of_module [Invertible (2 : k)] :
∀ y, Injective fun x : P₁ => pointReflection k x y :=
injective_pointReflection_left_of_injective_bit0 k fun x y h => by
@@ -942,9 +654,6 @@ theorem injective_pointReflection_left_of_module [Invertible (2 : k)] :
(isUnit_of_invertible (2 : k)).smul_left_cancel] at h
#align affine_equiv.injective_point_reflection_left_of_module AffineEquiv.injective_pointReflection_left_of_module
-/- warning: affine_equiv.point_reflection_fixed_iff_of_module -> AffineEquiv.pointReflection_fixed_iff_of_module is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_fixed_iff_of_module AffineEquiv.pointReflection_fixed_iff_of_moduleₓ'. -/
theorem pointReflection_fixed_iff_of_module [Invertible (2 : k)] {x y : P₁} :
pointReflection k x y = y ↔ y = x :=
((injective_pointReflection_left_of_module k y).eq_iff' (pointReflection_self k y)).trans eq_comm
@@ -964,9 +673,6 @@ def toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : V₁ ≃ᵃ[k] V₂
#align linear_equiv.to_affine_equiv LinearEquiv.toAffineEquiv
-/
-/- warning: linear_equiv.coe_to_affine_equiv -> LinearEquiv.coe_toAffineEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_to_affine_equiv LinearEquiv.coe_toAffineEquivₓ'. -/
@[simp]
theorem coe_toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : ⇑e.toAffineEquiv = e :=
rfl
@@ -980,9 +686,6 @@ open AffineEquiv
include V₁
-/- warning: affine_map.line_map_vadd -> AffineMap.lineMap_vadd is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_map.line_map_vadd AffineMap.lineMap_vaddₓ'. -/
theorem lineMap_vadd (v v' : V₁) (p : P₁) (c : k) :
lineMap v v' c +ᵥ p = lineMap (v +ᵥ p) (v' +ᵥ p) c :=
(vaddConst k p).apply_lineMap v v' c
@@ -1002,9 +705,6 @@ theorem vsub_lineMap (p₁ p₂ p₃ : P₁) (c : k) :
#align affine_map.vsub_line_map AffineMap.vsub_lineMap
-/
-/- warning: affine_map.vadd_line_map -> AffineMap.vadd_lineMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_map.vadd_line_map AffineMap.vadd_lineMapₓ'. -/
theorem vadd_lineMap (v : V₁) (p₁ p₂ : P₁) (c : k) :
v +ᵥ lineMap p₁ p₂ c = lineMap (v +ᵥ p₁) (v +ᵥ p₂) c :=
(constVAdd k P₁ v).apply_lineMap p₁ p₂ c
@@ -1012,12 +712,6 @@ theorem vadd_lineMap (v : V₁) (p₁ p₂ : P₁) (c : k) :
variable {R' : Type _} [CommRing R'] [Module R' V₁]
-/- warning: affine_map.homothety_neg_one_apply -> AffineMap.homothety_neg_one_apply is a dubious translation:
-lean 3 declaration is
- forall {P₁ : Type.{u1}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u1} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u3}} [_inst_14 : CommRing.{u3} R'] [_inst_15 : Module.{u3, u2} R' V₁ (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u1} P₁ (coeFn.{max (succ u2) (succ u1), succ u1} (AffineMap.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (fun (_x : AffineMap.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) => P₁ -> P₁) (AffineMap.hasCoeToFun.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u3, u2, u1} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u3} R' (SubNegMonoid.toHasNeg.{u3} R' (AddGroup.toSubNegMonoid.{u3} R' (AddGroupWithOne.toAddGroup.{u3} R' (AddCommGroupWithOne.toAddGroupWithOne.{u3} R' (Ring.toAddCommGroupWithOne.{u3} R' (CommRing.toRing.{u3} R' _inst_14)))))) (OfNat.ofNat.{u3} R' 1 (OfNat.mk.{u3} R' 1 (One.one.{u3} R' (AddMonoidWithOne.toOne.{u3} R' (AddGroupWithOne.toAddMonoidWithOne.{u3} R' (AddCommGroupWithOne.toAddGroupWithOne.{u3} R' (Ring.toAddCommGroupWithOne.{u3} R' (CommRing.toRing.{u3} R' _inst_14)))))))))) p) (coeFn.{max (succ u1) (succ u2), succ u1} (AffineEquiv.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (fun (_x : AffineEquiv.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineEquiv.pointReflection.{u3, u1, u2} R' P₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
-but is expected to have type
- forall {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u1}} [_inst_14 : CommRing.{u1} R'] [_inst_15 : Module.{u1, u2} R' V₁ (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₁) p) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u3} (AffineMap.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₁) _x) (AffineMap.funLike.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u1, u2, u3} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u1} R' (Ring.toNeg.{u1} R' (CommRing.toRing.{u1} R' _inst_14)) (OfNat.ofNat.{u1} R' 1 (One.toOfNat1.{u1} R' (Semiring.toOne.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_14))))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} R' P₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
-Case conversion may be inaccurate. Consider using '#align affine_map.homothety_neg_one_apply AffineMap.homothety_neg_one_applyₓ'. -/
theorem homothety_neg_one_apply (c p : P₁) : homothety c (-1 : R') p = pointReflection R' c p := by
simp [homothety_apply, point_reflection_apply]
#align affine_map.homothety_neg_one_apply AffineMap.homothety_neg_one_apply
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -78,10 +78,7 @@ def toAffineMap (e : P₁ ≃ᵃ[k] P₂) : P₁ →ᵃ[k] P₂ :=
-/
/- warning: affine_equiv.to_affine_map_mk -> AffineEquiv.toAffineMap_mk is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (f : Equiv.{succ u2, succ u3} P₁ P₂) (f' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) f (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) f' v) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) f p))), Eq.{max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) (AffineMap.mk.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) f) ((fun (a : Sort.{max (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u5)}) [self : HasLiftT.{max (succ u4) (succ u5), max (succ u4) (succ u5)} a b] => self.0) (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (HasLiftT.mk.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (coeBase.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)))))) f') h)
-but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : Equiv.{succ u5, succ u4} P₁ P₂) (f' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) f' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f p))), Eq.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1)} (AffineMap.{u3, u2, u5, u1, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) (AffineMap.mk.{u3, u2, u5, u1, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f) (LinearEquiv.toLinearMap.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 f') h)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.to_affine_map_mk AffineEquiv.toAffineMap_mkₓ'. -/
@[simp]
theorem toAffineMap_mk (f : P₁ ≃ P₂) (f' : V₁ ≃ₗ[k] V₂) (h) :
@@ -90,10 +87,7 @@ theorem toAffineMap_mk (f : P₁ ≃ P₂) (f' : V₁ ≃ₗ[k] V₂) (h) :
#align affine_equiv.to_affine_map_mk AffineEquiv.toAffineMap_mk
/- warning: affine_equiv.linear_to_affine_map -> AffineEquiv.linear_toAffineMap is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u5)} (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (AffineMap.linear.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) ((fun (a : Sort.{max (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u5)}) [self : HasLiftT.{max (succ u4) (succ u5), max (succ u4) (succ u5)} a b] => self.0) (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (HasLiftT.mk.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (coeBase.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)))))) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u1)} (LinearMap.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (AffineMap.linear.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (LinearEquiv.toLinearMap.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (AffineEquiv.linear.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.linear_to_affine_map AffineEquiv.linear_toAffineMapₓ'. -/
@[simp]
theorem linear_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : e.toAffineMap.linear = e.linear :=
@@ -115,10 +109,7 @@ theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂)
#align affine_equiv.to_affine_map_injective AffineEquiv.toAffineMap_injective
/- warning: affine_equiv.to_affine_map_inj -> AffineEquiv.toAffineMap_inj is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e')) (Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] {e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineMap.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e')) (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.to_affine_map_inj AffineEquiv.toAffineMap_injₓ'. -/
@[simp]
theorem toAffineMap_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toAffineMap = e'.toAffineMap ↔ e = e' :=
@@ -145,10 +136,7 @@ instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ ≃ P₂) :=
variable {k P₁}
/- warning: affine_equiv.map_vadd -> AffineEquiv.map_vadd is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) v) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p))
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁) (v : V₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) (HVAdd.hVAdd.{u2, u4, u4} V₁ P₁ P₁ (instHVAdd.{u2, u4} V₁ P₁ (AddAction.toVAdd.{u2, u4} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (HVAdd.hVAdd.{u2, u4, u4} V₁ P₁ P₁ (instHVAdd.{u2, u4} V₁ P₁ (AddAction.toVAdd.{u2, u4} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (instHVAdd.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u5, u2, u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u5, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u5, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u5, u2} k V₁ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u5, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u5, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u5, u1} k V₂ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u5, u2, u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u5, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u5, u5, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u5, u5, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1))))))) (AffineEquiv.linear.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) v) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.map_vadd AffineEquiv.map_vaddₓ'. -/
@[simp]
theorem map_vadd (e : P₁ ≃ᵃ[k] P₂) (p : P₁) (v : V₁) : e (v +ᵥ p) = e.linear v +ᵥ e p :=
@@ -156,10 +144,7 @@ theorem map_vadd (e : P₁ ≃ᵃ[k] P₂) (p : P₁) (v : V₁) : e (v +ᵥ p)
#align affine_equiv.map_vadd AffineEquiv.map_vadd
/- warning: affine_equiv.coe_to_equiv -> AffineEquiv.coe_toEquiv is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} (P₁ -> P₂) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : P₁), (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Equiv.{succ u4, succ u3} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_to_equiv AffineEquiv.coe_toEquivₓ'. -/
@[simp]
theorem coe_toEquiv (e : P₁ ≃ᵃ[k] P₂) : ⇑e.toEquiv = e :=
@@ -170,10 +155,7 @@ instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ →ᵃ[k] P₂) :=
⟨toAffineMap⟩
/- warning: affine_equiv.coe_to_affine_map -> AffineEquiv.coe_toAffineMap is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (coeFn.{max (succ u4) (succ u2) (succ u5) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineMap.hasCoeToFun.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineMap.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_to_affine_map AffineEquiv.coe_toAffineMapₓ'. -/
@[simp]
theorem coe_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : (e.toAffineMap : P₁ → P₂) = (e : P₁ → P₂) :=
@@ -181,10 +163,7 @@ theorem coe_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : (e.toAffineMap : P₁ → P
#align affine_equiv.coe_to_affine_map AffineEquiv.coe_toAffineMap
/- warning: affine_equiv.coe_coe -> AffineEquiv.coe_coe is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) ((fun (a : Sort.{max (succ u2) (succ u3) (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u2) (succ u5) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (HasLiftT.mk.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (CoeTCₓ.coe.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (coeBase.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) e)) (coeFn.{max (succ u4) (succ u2) (succ u5) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineMap.hasCoeToFun.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) ((fun (a : Sort.{max (succ u2) (succ u3) (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u2) (succ u5) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (HasLiftT.mk.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (CoeTCₓ.coe.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (coeBase.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) e)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineMap.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_coe AffineEquiv.coe_coeₓ'. -/
@[norm_cast, simp]
theorem coe_coe (e : P₁ ≃ᵃ[k] P₂) : ((e : P₁ →ᵃ[k] P₂) : P₁ → P₂) = e :=
@@ -192,10 +171,7 @@ theorem coe_coe (e : P₁ ≃ᵃ[k] P₂) : ((e : P₁ →ᵃ[k] P₂) : P₁
#align affine_equiv.coe_coe AffineEquiv.coe_coe
/- warning: affine_equiv.coe_linear -> AffineEquiv.coe_linear is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u5)} (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (AffineMap.linear.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 ((fun (a : Sort.{max (succ u2) (succ u3) (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u2) (succ u5) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (HasLiftT.mk.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (CoeTCₓ.coe.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (coeBase.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) e)) ((fun (a : Sort.{max (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u5)}) [self : HasLiftT.{max (succ u4) (succ u5), max (succ u4) (succ u5)} a b] => self.0) (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (HasLiftT.mk.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (coeBase.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)))))) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u1)} (LinearMap.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (AffineMap.linear.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (LinearEquiv.toLinearMap.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (AffineEquiv.linear.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_linear AffineEquiv.coe_linearₓ'. -/
@[simp]
theorem coe_linear (e : P₁ ≃ᵃ[k] P₂) : (e : P₁ →ᵃ[k] P₂).linear = e.linear :=
@@ -203,10 +179,7 @@ theorem coe_linear (e : P₁ ≃ᵃ[k] P₂) : (e : P₁ →ᵃ[k] P₂).linear
#align affine_equiv.coe_linear AffineEquiv.coe_linear
/- warning: affine_equiv.ext -> AffineEquiv.ext is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (forall (x : P₁), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e x) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e' x)) -> (Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] {e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (forall (x : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e' x)) -> (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.ext AffineEquiv.extₓ'. -/
@[ext]
theorem ext {e e' : P₁ ≃ᵃ[k] P₂} (h : ∀ x, e x = e' x) : e = e' :=
@@ -220,10 +193,7 @@ theorem coeFn_injective : @Injective (P₁ ≃ᵃ[k] P₂) (P₁ → P₂) coeFn
-/
/- warning: affine_equiv.coe_fn_inj -> AffineEquiv.coeFn_inj is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) e) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e')) (Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] {e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (succ u4) (succ u3)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e')) (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_fn_inj AffineEquiv.coeFn_injₓ'. -/
@[simp, norm_cast]
theorem coeFn_inj {e e' : P₁ ≃ᵃ[k] P₂} : (e : P₁ → P₂) = e' ↔ e = e' :=
@@ -241,10 +211,7 @@ theorem toEquiv_injective : Injective (toEquiv : (P₁ ≃ᵃ[k] P₂) → P₁
#align affine_equiv.to_equiv_injective AffineEquiv.toEquiv_injective
/- warning: affine_equiv.to_equiv_inj -> AffineEquiv.toEquiv_inj is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2)} (Equiv.{succ u2, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (AffineEquiv.toEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e')) (Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] {e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (succ u4) (succ u3)} (Equiv.{succ u4, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (AffineEquiv.toEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e')) (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.to_equiv_inj AffineEquiv.toEquiv_injₓ'. -/
@[simp]
theorem toEquiv_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toEquiv = e'.toEquiv ↔ e = e' :=
@@ -252,10 +219,7 @@ theorem toEquiv_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toEquiv = e'.toEquiv ↔ e
#align affine_equiv.to_equiv_inj AffineEquiv.toEquiv_inj
/- warning: affine_equiv.coe_mk -> AffineEquiv.coe_mk is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) e' v) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e)
-but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mk AffineEquiv.coe_mkₓ'. -/
@[simp]
theorem coe_mk (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (h) : ((⟨e, e', h⟩ : P₁ ≃ᵃ[k] P₂) : P₁ → P₂) = e :=
@@ -263,10 +227,7 @@ theorem coe_mk (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (h) : ((⟨e, e',
#align affine_equiv.coe_mk AffineEquiv.coe_mk
/- warning: affine_equiv.mk' -> AffineEquiv.mk' is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : P₁ -> P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_1.{u1} k _inst_1) (AffineEquiv.mk'._proof_2.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁), (forall (p' : P₁), Eq.{succ u3} P₂ (e p') (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_5.{u1} k _inst_1) (AffineEquiv.mk'._proof_6.{u1} k _inst_1)) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toHasVsub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (e p))) -> (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
-but is expected to have type
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : P₁ -> P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁), (forall (p' : P₁), Eq.{succ u3} P₂ (e p') (HVAdd.hVAdd.{u5, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u5, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u5, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u5, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u4) (succ u5), succ u4, succ u5} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u4 u5, u1, u4, u5} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u1, u4} k V₁ (AddMonoid.toZero.{u4} V₁ (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u4} k V₁ (AddMonoid.toAddZeroClass.{u4} V₁ (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} k V₁ (MonoidWithZero.toMonoid.{u1} k (Semiring.toMonoidWithZero.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)) (Module.toDistribMulAction.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u5} k V₂ (AddMonoid.toZero.{u5} V₂ (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u1, u5} k V₂ (AddMonoid.toAddZeroClass.{u5} V₂ (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u1, u5} k V₂ (MonoidWithZero.toMonoid.{u1} k (Semiring.toMonoidWithZero.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)) (Module.toDistribMulAction.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u5, u1, u4, u5} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u1} k (Semiring.toMonoidWithZero.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)) (Module.toDistribMulAction.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u1, u4, u5, max u4 u5} k V₁ V₂ (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u4, u5, max u4 u5} k k V₁ V₂ (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))))))) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (e p))) -> (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.mk' AffineEquiv.mk'ₓ'. -/
/-- Construct an affine equivalence by verifying the relation between the map and its linear part at
one base point. Namely, this function takes a map `e : P₁ → P₂`, a linear equivalence
@@ -283,10 +244,7 @@ def mk' (e : P₁ → P₂) (e' : V₁ ≃ₗ[k] V₂) (p : P₁) (h : ∀ p' :
#align affine_equiv.mk' AffineEquiv.mk'
/- warning: affine_equiv.coe_mk' -> AffineEquiv.coe_mk' is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p') (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_5.{u1} k _inst_1) (AffineEquiv.mk'._proof_6.{u1} k _inst_1)) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toHasVsub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u2) (succ u3)} (P₁ -> P₂) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.mk'.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e) e' p h)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e)
-but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) ᾰ) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mk' AffineEquiv.coe_mk'ₓ'. -/
@[simp]
theorem coe_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : ⇑(mk' e e' p h) = e :=
@@ -294,10 +252,7 @@ theorem coe_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : ⇑(mk' e
#align affine_equiv.coe_mk' AffineEquiv.coe_mk'
/- warning: affine_equiv.linear_mk' -> AffineEquiv.linear_mk' is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p') (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_5.{u1} k _inst_1) (AffineEquiv.mk'._proof_6.{u1} k _inst_1)) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toHasVsub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk'.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e) e' p h)) e'
-but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u2) (succ u1)} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (AffineEquiv.linear.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) e'
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.linear_mk' AffineEquiv.linear_mk'ₓ'. -/
@[simp]
theorem linear_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : (mk' e e' p h).linear = e' :=
@@ -357,30 +312,21 @@ initialize_simps_projections AffineEquiv (to_equiv_to_fun → apply, to_equiv_in
linear → linear, as_prefix linear, -toEquiv)
/- warning: affine_equiv.bijective -> AffineEquiv.bijective is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Bijective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Bijective.{succ u4, succ u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.bijective AffineEquiv.bijectiveₓ'. -/
protected theorem bijective (e : P₁ ≃ᵃ[k] P₂) : Bijective e :=
e.toEquiv.Bijective
#align affine_equiv.bijective AffineEquiv.bijective
/- warning: affine_equiv.surjective -> AffineEquiv.surjective is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Surjective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Surjective.{succ u4, succ u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.surjective AffineEquiv.surjectiveₓ'. -/
protected theorem surjective (e : P₁ ≃ᵃ[k] P₂) : Surjective e :=
e.toEquiv.Surjective
#align affine_equiv.surjective AffineEquiv.surjective
/- warning: affine_equiv.injective -> AffineEquiv.injective is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Injective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Injective.{succ u4, succ u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.injective AffineEquiv.injectiveₓ'. -/
protected theorem injective (e : P₁ ≃ᵃ[k] P₂) : Injective e :=
e.toEquiv.Injective
@@ -399,10 +345,7 @@ noncomputable def ofBijective {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijecti
-/
/- warning: affine_equiv.of_bijective.symm_eq -> AffineEquiv.ofBijective.symm_eq is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {φ : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} (hφ : Function.Bijective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u4) (succ u2) (succ u5) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineMap.hasCoeToFun.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ)), Eq.{max 1 (max (succ u3) (succ u2)) (succ u2) (succ u3)} (Equiv.{succ u3, succ u2} P₂ P₁) (AffineEquiv.toEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.ofBijective.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 φ hφ))) (Equiv.symm.{succ u2, succ u3} P₁ P₂ (Equiv.ofBijective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u4) (succ u2) (succ u5) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineMap.hasCoeToFun.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ) hφ))
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u3}} {P₂ : Type.{u1}} {V₁ : Type.{u4}} {V₂ : Type.{u2}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u5, u4} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u2} V₂] [_inst_6 : Module.{u5, u2} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_5)] [_inst_7 : AddTorsor.{u2, u1} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_5)] {φ : AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} (hφ : Function.Bijective.{succ u3, succ u1} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ)), Eq.{max (succ u3) (succ u1)} (Equiv.{succ u1, succ u3} P₂ P₁) (AffineEquiv.toEquiv.{u5, u1, u3, u2, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u5, u3, u1, u4, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.ofBijective.{u5, u3, u1, u4, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 φ hφ))) (Equiv.symm.{succ u3, succ u1} P₁ P₂ (Equiv.ofBijective.{succ u3, succ u1} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ) hφ))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.of_bijective.symm_eq AffineEquiv.ofBijective.symm_eqₓ'. -/
theorem ofBijective.symm_eq {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijective φ) :
(ofBijective hφ).symm.toEquiv = (Equiv.ofBijective _ hφ).symm :=
@@ -410,10 +353,7 @@ theorem ofBijective.symm_eq {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijective
#align affine_equiv.of_bijective.symm_eq AffineEquiv.ofBijective.symm_eq
/- warning: affine_equiv.range_eq -> AffineEquiv.range_eq is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{succ u3} (Set.{u3} P₂) (Set.range.{u3, succ u2} P₂ P₁ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)) (Set.univ.{u3} P₂)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{succ u3} (Set.{u3} P₂) (Set.range.{u3, succ u4} P₂ P₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)) (Set.univ.{u3} P₂)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.range_eq AffineEquiv.range_eqₓ'. -/
@[simp]
theorem range_eq (e : P₁ ≃ᵃ[k] P₂) : range e = univ :=
@@ -421,10 +361,7 @@ theorem range_eq (e : P₁ ≃ᵃ[k] P₂) : range e = univ :=
#align affine_equiv.range_eq AffineEquiv.range_eq
/- warning: affine_equiv.apply_symm_apply -> AffineEquiv.apply_symm_apply is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₂), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p)) p
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₂), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (a : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) a) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p)) p
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_symm_apply AffineEquiv.apply_symm_applyₓ'. -/
@[simp]
theorem apply_symm_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₂) : e (e.symm p) = p :=
@@ -432,10 +369,7 @@ theorem apply_symm_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₂) : e (e.symm p) = p
#align affine_equiv.apply_symm_apply AffineEquiv.apply_symm_apply
/- warning: affine_equiv.symm_apply_apply -> AffineEquiv.symm_apply_apply is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁), Eq.{succ u2} P₁ (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p)) p
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁), Eq.{succ u4} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (a : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p)) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p)) p
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_apply_apply AffineEquiv.symm_apply_applyₓ'. -/
@[simp]
theorem symm_apply_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₁) : e.symm (e p) = p :=
@@ -443,20 +377,14 @@ theorem symm_apply_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₁) : e.symm (e p) = p
#align affine_equiv.symm_apply_apply AffineEquiv.symm_apply_apply
/- warning: affine_equiv.apply_eq_iff_eq_symm_apply -> AffineEquiv.apply_eq_iff_eq_symm_apply is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : P₂}, Iff (Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p₁) p₂) (Eq.{succ u2} P₁ p₁ (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p₂))
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p₁}, Iff (Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p₁) p₂) (Eq.{succ u4} P₁ p₁ (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p₂))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_eq_iff_eq_symm_apply AffineEquiv.apply_eq_iff_eq_symm_applyₓ'. -/
theorem apply_eq_iff_eq_symm_apply (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂} : e p₁ = p₂ ↔ p₁ = e.symm p₂ :=
e.toEquiv.apply_eq_iff_eq_symm_apply
#align affine_equiv.apply_eq_iff_eq_symm_apply AffineEquiv.apply_eq_iff_eq_symm_apply
/- warning: affine_equiv.apply_eq_iff_eq -> AffineEquiv.apply_eq_iff_eq is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : P₁}, Iff (Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p₁) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p₂)) (Eq.{succ u2} P₁ p₁ p₂)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : P₁}, Iff (Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p₂)) (Eq.{succ u4} P₁ p₁ p₂)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_eq_iff_eq AffineEquiv.apply_eq_iff_eqₓ'. -/
@[simp]
theorem apply_eq_iff_eq (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂ : P₁} : e p₁ = e p₂ ↔ p₁ = p₂ :=
@@ -464,10 +392,7 @@ theorem apply_eq_iff_eq (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂ : P₁} : e p₁ =
#align affine_equiv.apply_eq_iff_eq AffineEquiv.apply_eq_iff_eq
/- warning: affine_equiv.image_symm -> AffineEquiv.image_symm is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (f : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u3} P₂), Eq.{succ u2} (Set.{u2} P₁) (Set.image.{u3, u2} P₂ P₁ (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.preimage.{u2, u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) s)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u3} P₂), Eq.{succ u4} (Set.{u4} P₁) (Set.image.{u3, u4} P₂ P₁ (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.preimage.{u4, u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) s)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.image_symm AffineEquiv.image_symmₓ'. -/
@[simp]
theorem image_symm (f : P₁ ≃ᵃ[k] P₂) (s : Set P₂) : f.symm '' s = f ⁻¹' s :=
@@ -475,10 +400,7 @@ theorem image_symm (f : P₁ ≃ᵃ[k] P₂) (s : Set P₂) : f.symm '' s = f
#align affine_equiv.image_symm AffineEquiv.image_symm
/- warning: affine_equiv.preimage_symm -> AffineEquiv.preimage_symm is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (f : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u2} P₁), Eq.{succ u3} (Set.{u3} P₂) (Set.preimage.{u3, u2} P₂ P₁ (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.image.{u2, u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) s)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u4} P₁), Eq.{succ u3} (Set.{u3} P₂) (Set.preimage.{u3, u4} P₂ P₁ (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.image.{u4, u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) s)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.preimage_symm AffineEquiv.preimage_symmₓ'. -/
@[simp]
theorem preimage_symm (f : P₁ ≃ᵃ[k] P₂) (s : Set P₁) : f.symm ⁻¹' s = f '' s :=
@@ -582,10 +504,7 @@ def trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : P₁ ≃ᵃ[k]
-/
/- warning: affine_equiv.coe_trans -> AffineEquiv.coe_trans is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {P₃ : Type.{u4}} {V₁ : Type.{u5}} {V₂ : Type.{u6}} {V₃ : Type.{u7}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u5} V₁] [_inst_3 : Module.{u1, u5} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₁ _inst_2)] [_inst_4 : AddTorsor.{u5, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u5} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u6} V₂] [_inst_6 : Module.{u1, u6} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u6} V₂ _inst_5)] [_inst_7 : AddTorsor.{u6, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u6} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u7} V₃] [_inst_9 : Module.{u1, u7} k V₃ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u7} V₃ _inst_8)] [_inst_10 : AddTorsor.{u7, u4} V₃ P₃ (AddCommGroup.toAddGroup.{u7} V₃ _inst_8)] (e : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10), Eq.{max (succ u2) (succ u4)} (P₁ -> P₃) (coeFn.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u2) (succ u4)} (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (fun (_x : AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) => P₁ -> P₃) (AffineEquiv.hasCoeToFun.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineEquiv.trans.{u1, u2, u3, u4, u5, u6, u7} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e')) (Function.comp.{succ u2, succ u3, succ u4} P₁ P₂ P₃ (coeFn.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u3) (succ u4)} (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (fun (_x : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) => P₂ -> P₃) (AffineEquiv.hasCoeToFun.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) e') (coeFn.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e))
-but is expected to have type
- forall {k : Type.{u7}} {P₁ : Type.{u6}} {P₂ : Type.{u5}} {P₃ : Type.{u2}} {V₁ : Type.{u4}} {V₂ : Type.{u3}} {V₃ : Type.{u1}} [_inst_1 : Ring.{u7} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u7, u4} k V₁ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u6} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u7, u3} k V₂ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u1} V₃] [_inst_9 : Module.{u7, u1} k V₃ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₃ _inst_8)] [_inst_10 : AddTorsor.{u1, u2} V₃ P₃ (AddCommGroup.toAddGroup.{u1} V₃ _inst_8)] (e : AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10), Eq.{max (succ u6) (succ u2)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₃) ᾰ) (FunLike.coe.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (AffineEquiv.equivLike.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) (AffineEquiv.trans.{u7, u6, u5, u2, u4, u3, u1} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e')) (Function.comp.{succ u6, succ u5, succ u2} P₁ P₂ P₃ (FunLike.coe.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (AffineEquiv.equivLike.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10))) e') (FunLike.coe.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_trans AffineEquiv.coe_transₓ'. -/
@[simp]
theorem coe_trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : ⇑(e.trans e') = e' ∘ e :=
@@ -593,10 +512,7 @@ theorem coe_trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : ⇑(e.t
#align affine_equiv.coe_trans AffineEquiv.coe_trans
/- warning: affine_equiv.coe_trans_to_affine_map -> AffineEquiv.coe_trans_to_affineMap is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {P₃ : Type.{u4}} {V₁ : Type.{u5}} {V₂ : Type.{u6}} {V₃ : Type.{u7}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u5} V₁] [_inst_3 : Module.{u1, u5} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₁ _inst_2)] [_inst_4 : AddTorsor.{u5, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u5} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u6} V₂] [_inst_6 : Module.{u1, u6} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u6} V₂ _inst_5)] [_inst_7 : AddTorsor.{u6, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u6} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u7} V₃] [_inst_9 : Module.{u1, u7} k V₃ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u7} V₃ _inst_8)] [_inst_10 : AddTorsor.{u7, u4} V₃ P₃ (AddCommGroup.toAddGroup.{u7} V₃ _inst_8)] (e : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10), Eq.{max (succ u5) (succ u2) (succ u7) (succ u4)} (AffineMap.{u1, u5, u2, u7, u4} k V₁ P₁ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) ((fun (a : Sort.{max (succ u2) (succ u4) (succ u5) (succ u7)}) (b : Sort.{max (succ u5) (succ u2) (succ u7) (succ u4)}) [self : HasLiftT.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u5) (succ u2) (succ u7) (succ u4)} a b] => self.0) (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u5, u2, u7, u4} k V₁ P₁ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (HasLiftT.mk.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u5) (succ u2) (succ u7) (succ u4)} (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u5, u2, u7, u4} k V₁ P₁ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (CoeTCₓ.coe.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u5) (succ u2) (succ u7) (succ u4)} (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u5, u2, u7, u4} k V₁ P₁ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (coeBase.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u5) (succ u2) (succ u7) (succ u4)} (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u5, u2, u7, u4} k V₁ P₁ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10)))) (AffineEquiv.trans.{u1, u2, u3, u4, u5, u6, u7} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e')) (AffineMap.comp.{u1, u5, u2, u6, u3, u7, u4} k V₁ P₁ V₂ P₂ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 ((fun (a : Sort.{max (succ u3) (succ u4) (succ u6) (succ u7)}) (b : Sort.{max (succ u6) (succ u3) (succ u7) (succ u4)}) [self : HasLiftT.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u6) (succ u3) (succ u7) (succ u4)} a b] => self.0) (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u6, u3, u7, u4} k V₂ P₂ V₃ P₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (HasLiftT.mk.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u6) (succ u3) (succ u7) (succ u4)} (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u6, u3, u7, u4} k V₂ P₂ V₃ P₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (CoeTCₓ.coe.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u6) (succ u3) (succ u7) (succ u4)} (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u6, u3, u7, u4} k V₂ P₂ V₃ P₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (coeBase.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u6) (succ u3) (succ u7) (succ u4)} (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u6, u3, u7, u4} k V₂ P₂ V₃ P₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (AffineEquiv.AffineMap.hasCoe.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10)))) e') ((fun (a : Sort.{max (succ u2) (succ u3) (succ u5) (succ u6)}) (b : Sort.{max (succ u5) (succ u2) (succ u6) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u5) (succ u2) (succ u6) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u5, u2, u6, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (HasLiftT.mk.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u5) (succ u2) (succ u6) (succ u3)} (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u5, u2, u6, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (CoeTCₓ.coe.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u5) (succ u2) (succ u6) (succ u3)} (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u5, u2, u6, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (coeBase.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u5) (succ u2) (succ u6) (succ u3)} (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u5, u2, u6, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) e))
-but is expected to have type
- forall {k : Type.{u7}} {P₁ : Type.{u6}} {P₂ : Type.{u5}} {P₃ : Type.{u2}} {V₁ : Type.{u4}} {V₂ : Type.{u3}} {V₃ : Type.{u1}} [_inst_1 : Ring.{u7} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u7, u4} k V₁ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u6} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u7, u3} k V₂ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u1} V₃] [_inst_9 : Module.{u7, u1} k V₃ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₃ _inst_8)] [_inst_10 : AddTorsor.{u1, u2} V₃ P₃ (AddCommGroup.toAddGroup.{u1} V₃ _inst_8)] (e : AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10), Eq.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1)} (AffineMap.{u7, u4, u6, u1, u2} k V₁ P₁ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineEquiv.toAffineMap.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 (AffineEquiv.trans.{u7, u6, u5, u2, u4, u3, u1} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e')) (AffineMap.comp.{u7, u4, u6, u3, u5, u1, u2} k V₁ P₁ V₂ P₂ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 (AffineEquiv.toAffineMap.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e') (AffineEquiv.toAffineMap.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_trans_to_affine_map AffineEquiv.coe_trans_to_affineMapₓ'. -/
@[simp]
theorem coe_trans_to_affineMap (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) :
@@ -605,10 +521,7 @@ theorem coe_trans_to_affineMap (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P
#align affine_equiv.coe_trans_to_affine_map AffineEquiv.coe_trans_to_affineMap
/- warning: affine_equiv.trans_apply -> AffineEquiv.trans_apply is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {P₃ : Type.{u4}} {V₁ : Type.{u5}} {V₂ : Type.{u6}} {V₃ : Type.{u7}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u5} V₁] [_inst_3 : Module.{u1, u5} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₁ _inst_2)] [_inst_4 : AddTorsor.{u5, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u5} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u6} V₂] [_inst_6 : Module.{u1, u6} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u6} V₂ _inst_5)] [_inst_7 : AddTorsor.{u6, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u6} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u7} V₃] [_inst_9 : Module.{u1, u7} k V₃ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u7} V₃ _inst_8)] [_inst_10 : AddTorsor.{u7, u4} V₃ P₃ (AddCommGroup.toAddGroup.{u7} V₃ _inst_8)] (e : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (p : P₁), Eq.{succ u4} P₃ (coeFn.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u2) (succ u4)} (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (fun (_x : AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) => P₁ -> P₃) (AffineEquiv.hasCoeToFun.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineEquiv.trans.{u1, u2, u3, u4, u5, u6, u7} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e') p) (coeFn.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u3) (succ u4)} (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (fun (_x : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) => P₂ -> P₃) (AffineEquiv.hasCoeToFun.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) e' (coeFn.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p))
-but is expected to have type
- forall {k : Type.{u7}} {P₁ : Type.{u6}} {P₂ : Type.{u5}} {P₃ : Type.{u2}} {V₁ : Type.{u4}} {V₂ : Type.{u3}} {V₃ : Type.{u1}} [_inst_1 : Ring.{u7} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u7, u4} k V₁ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u6} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u7, u3} k V₂ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u1} V₃] [_inst_9 : Module.{u7, u1} k V₃ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₃ _inst_8)] [_inst_10 : AddTorsor.{u1, u2} V₃ P₃ (AddCommGroup.toAddGroup.{u1} V₃ _inst_8)] (e : AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (p : P₁), Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₃) p) (FunLike.coe.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (AffineEquiv.equivLike.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) (AffineEquiv.trans.{u7, u6, u5, u2, u4, u3, u1} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e') p) (FunLike.coe.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (AffineEquiv.equivLike.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10))) e' (FunLike.coe.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.trans_apply AffineEquiv.trans_applyₓ'. -/
@[simp]
theorem trans_apply (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) (p : P₁) : e.trans e' p = e' (e p) :=
@@ -618,10 +531,7 @@ theorem trans_apply (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) (p : P
include V₄
/- warning: affine_equiv.trans_assoc -> AffineEquiv.trans_assoc is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {P₃ : Type.{u4}} {P₄ : Type.{u5}} {V₁ : Type.{u6}} {V₂ : Type.{u7}} {V₃ : Type.{u8}} {V₄ : Type.{u9}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u6} V₁] [_inst_3 : Module.{u1, u6} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u6} V₁ _inst_2)] [_inst_4 : AddTorsor.{u6, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u6} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u7} V₂] [_inst_6 : Module.{u1, u7} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u7} V₂ _inst_5)] [_inst_7 : AddTorsor.{u7, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u7} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u8} V₃] [_inst_9 : Module.{u1, u8} k V₃ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u8} V₃ _inst_8)] [_inst_10 : AddTorsor.{u8, u4} V₃ P₃ (AddCommGroup.toAddGroup.{u8} V₃ _inst_8)] [_inst_11 : AddCommGroup.{u9} V₄] [_inst_12 : Module.{u1, u9} k V₄ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u9} V₄ _inst_11)] [_inst_13 : AddTorsor.{u9, u5} V₄ P₄ (AddCommGroup.toAddGroup.{u9} V₄ _inst_11)] (e₁ : AffineEquiv.{u1, u2, u3, u6, u7} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e₂ : AffineEquiv.{u1, u3, u4, u7, u8} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (e₃ : AffineEquiv.{u1, u4, u5, u8, u9} k P₃ P₄ V₃ V₄ _inst_1 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13), Eq.{max (succ u2) (succ u5) (succ u6) (succ u9)} (AffineEquiv.{u1, u2, u5, u6, u9} k P₁ P₄ V₁ V₄ _inst_1 _inst_2 _inst_3 _inst_4 _inst_11 _inst_12 _inst_13) (AffineEquiv.trans.{u1, u2, u4, u5, u6, u8, u9} k P₁ P₃ P₄ V₁ V₃ V₄ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 (AffineEquiv.trans.{u1, u2, u3, u4, u6, u7, u8} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e₁ e₂) e₃) (AffineEquiv.trans.{u1, u2, u3, u5, u6, u7, u9} k P₁ P₂ P₄ V₁ V₂ V₄ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_11 _inst_12 _inst_13 e₁ (AffineEquiv.trans.{u1, u3, u4, u5, u7, u8, u9} k P₂ P₃ P₄ V₂ V₃ V₄ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 e₂ e₃))
-but is expected to have type
- forall {k : Type.{u9}} {P₁ : Type.{u8}} {P₂ : Type.{u7}} {P₃ : Type.{u4}} {P₄ : Type.{u2}} {V₁ : Type.{u6}} {V₂ : Type.{u5}} {V₃ : Type.{u3}} {V₄ : Type.{u1}} [_inst_1 : Ring.{u9} k] [_inst_2 : AddCommGroup.{u6} V₁] [_inst_3 : Module.{u9, u6} k V₁ (Ring.toSemiring.{u9} k _inst_1) (AddCommGroup.toAddCommMonoid.{u6} V₁ _inst_2)] [_inst_4 : AddTorsor.{u6, u8} V₁ P₁ (AddCommGroup.toAddGroup.{u6} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u9, u5} k V₂ (Ring.toSemiring.{u9} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u7} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u3} V₃] [_inst_9 : Module.{u9, u3} k V₃ (Ring.toSemiring.{u9} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₃ _inst_8)] [_inst_10 : AddTorsor.{u3, u4} V₃ P₃ (AddCommGroup.toAddGroup.{u3} V₃ _inst_8)] [_inst_11 : AddCommGroup.{u1} V₄] [_inst_12 : Module.{u9, u1} k V₄ (Ring.toSemiring.{u9} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₄ _inst_11)] [_inst_13 : AddTorsor.{u1, u2} V₄ P₄ (AddCommGroup.toAddGroup.{u1} V₄ _inst_11)] (e₁ : AffineEquiv.{u9, u8, u7, u6, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e₂ : AffineEquiv.{u9, u7, u4, u5, u3} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (e₃ : AffineEquiv.{u9, u4, u2, u3, u1} k P₃ P₄ V₃ V₄ _inst_1 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13), Eq.{max (max (max (succ u8) (succ u2)) (succ u6)) (succ u1)} (AffineEquiv.{u9, u8, u2, u6, u1} k P₁ P₄ V₁ V₄ _inst_1 _inst_2 _inst_3 _inst_4 _inst_11 _inst_12 _inst_13) (AffineEquiv.trans.{u9, u8, u4, u2, u6, u3, u1} k P₁ P₃ P₄ V₁ V₃ V₄ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 (AffineEquiv.trans.{u9, u8, u7, u4, u6, u5, u3} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e₁ e₂) e₃) (AffineEquiv.trans.{u9, u8, u7, u2, u6, u5, u1} k P₁ P₂ P₄ V₁ V₂ V₄ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_11 _inst_12 _inst_13 e₁ (AffineEquiv.trans.{u9, u7, u4, u2, u5, u3, u1} k P₂ P₃ P₄ V₂ V₃ V₄ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 e₂ e₃))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.trans_assoc AffineEquiv.trans_assocₓ'. -/
theorem trans_assoc (e₁ : P₁ ≃ᵃ[k] P₂) (e₂ : P₂ ≃ᵃ[k] P₃) (e₃ : P₃ ≃ᵃ[k] P₄) :
(e₁.trans e₂).trans e₃ = e₁.trans (e₂.trans e₃) :=
@@ -631,10 +541,7 @@ theorem trans_assoc (e₁ : P₁ ≃ᵃ[k] P₂) (e₂ : P₂ ≃ᵃ[k] P₃) (e
omit V₃ V₄
/- warning: affine_equiv.trans_refl -> AffineEquiv.trans_refl is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.trans.{u1, u2, u3, u3, u4, u5, u5} k P₁ P₂ P₂ V₁ V₂ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_5 _inst_6 _inst_7 e (AffineEquiv.refl.{u1, u3, u5} k P₂ V₂ _inst_1 _inst_5 _inst_6 _inst_7)) e
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.trans.{u5, u4, u3, u3, u2, u1, u1} k P₁ P₂ P₂ V₁ V₂ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_5 _inst_6 _inst_7 e (AffineEquiv.refl.{u5, u3, u1} k P₂ V₂ _inst_1 _inst_5 _inst_6 _inst_7)) e
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.trans_refl AffineEquiv.trans_reflₓ'. -/
@[simp]
theorem trans_refl (e : P₁ ≃ᵃ[k] P₂) : e.trans (refl k P₂) = e :=
@@ -642,10 +549,7 @@ theorem trans_refl (e : P₁ ≃ᵃ[k] P₂) : e.trans (refl k P₂) = e :=
#align affine_equiv.trans_refl AffineEquiv.trans_refl
/- warning: affine_equiv.refl_trans -> AffineEquiv.refl_trans is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.trans.{u1, u2, u2, u3, u4, u4, u5} k P₁ P₁ P₂ V₁ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.refl.{u1, u2, u4} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4) e) e
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.trans.{u5, u4, u4, u3, u2, u2, u1} k P₁ P₁ P₂ V₁ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.refl.{u5, u4, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4) e) e
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.refl_trans AffineEquiv.refl_transₓ'. -/
@[simp]
theorem refl_trans (e : P₁ ≃ᵃ[k] P₂) : (refl k P₁).trans e = e :=
@@ -653,10 +557,7 @@ theorem refl_trans (e : P₁ ≃ᵃ[k] P₂) : (refl k P₁).trans e = e :=
#align affine_equiv.refl_trans AffineEquiv.refl_trans
/- warning: affine_equiv.self_trans_symm -> AffineEquiv.self_trans_symm is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u4)} (AffineEquiv.{u1, u2, u2, u4, u4} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.trans.{u1, u2, u3, u2, u4, u5, u4} k P₁ P₂ P₁ V₁ V₂ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 e (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (AffineEquiv.refl.{u1, u2, u4} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u2)} (AffineEquiv.{u5, u4, u4, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.trans.{u5, u4, u3, u4, u2, u1, u2} k P₁ P₂ P₁ V₁ V₂ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 e (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (AffineEquiv.refl.{u5, u4, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.self_trans_symm AffineEquiv.self_trans_symmₓ'. -/
@[simp]
theorem self_trans_symm (e : P₁ ≃ᵃ[k] P₂) : e.trans e.symm = refl k P₁ :=
@@ -664,10 +565,7 @@ theorem self_trans_symm (e : P₁ ≃ᵃ[k] P₂) : e.trans e.symm = refl k P₁
#align affine_equiv.self_trans_symm AffineEquiv.self_trans_symm
/- warning: affine_equiv.symm_trans_self -> AffineEquiv.symm_trans_self is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u3) (succ u5)} (AffineEquiv.{u1, u3, u3, u5, u5} k P₂ P₂ V₂ V₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_5 _inst_6 _inst_7) (AffineEquiv.trans.{u1, u3, u2, u3, u5, u4, u5} k P₂ P₁ P₂ V₂ V₁ V₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) e) (AffineEquiv.refl.{u1, u3, u5} k P₂ V₂ _inst_1 _inst_5 _inst_6 _inst_7)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u3) (succ u1)} (AffineEquiv.{u5, u3, u3, u1, u1} k P₂ P₂ V₂ V₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_5 _inst_6 _inst_7) (AffineEquiv.trans.{u5, u3, u4, u3, u1, u2, u1} k P₂ P₁ P₂ V₂ V₁ V₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) e) (AffineEquiv.refl.{u5, u3, u1} k P₂ V₂ _inst_1 _inst_5 _inst_6 _inst_7)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_trans_self AffineEquiv.symm_trans_selfₓ'. -/
@[simp]
theorem symm_trans_self (e : P₁ ≃ᵃ[k] P₂) : e.symm.trans e = refl k P₂ :=
@@ -675,10 +573,7 @@ theorem symm_trans_self (e : P₁ ≃ᵃ[k] P₂) : e.symm.trans e = refl k P₂
#align affine_equiv.symm_trans_self AffineEquiv.symm_trans_self
/- warning: affine_equiv.apply_line_map -> AffineEquiv.apply_lineMap is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : P₁) (b : P₁) (c : k), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e (coeFn.{max (succ u1) (succ u4) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u4, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (coeFn.{max (succ u1) (succ u5) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) => k -> P₂) (AffineMap.hasCoeToFun.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) (AffineMap.lineMap.{u1, u5, u3} k V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e a) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e b)) c)
-but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : P₁) (b : P₁) (c : k), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) (FunLike.coe.{max (max (succ u5) (succ u2)) (succ u4), succ u5, succ u4} (AffineMap.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (Semiring.toModule.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (a : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) a) (AffineMap.funLike.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (Semiring.toModule.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u5, u2, u4} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (FunLike.coe.{max (max (succ u5) (succ u2)) (succ u4), succ u5, succ u4} (AffineMap.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (Semiring.toModule.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) _x) (AffineMap.funLike.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (Semiring.toModule.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u5, u2, u4} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (FunLike.coe.{max (max (succ u5) (succ u1)) (succ u3), succ u5, succ u3} (AffineMap.{u5, u5, u5, u1, u3} k k k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (Semiring.toModule.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_5 _inst_6 _inst_7) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) _x) (AffineMap.funLike.{u5, u5, u5, u1, u3} k k k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (Semiring.toModule.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_5 _inst_6 _inst_7) (AffineMap.lineMap.{u5, u1, u3} k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e a) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e b)) c)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_line_map AffineEquiv.apply_lineMapₓ'. -/
@[simp]
theorem apply_lineMap (e : P₁ ≃ᵃ[k] P₂) (a b : P₁) (c : k) :
@@ -719,20 +614,14 @@ theorem coe_one : ⇑(1 : P₁ ≃ᵃ[k] P₁) = id :=
#align affine_equiv.coe_one AffineEquiv.coe_one
/- warning: affine_equiv.mul_def -> AffineEquiv.mul_def is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (e : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (e' : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{succ (max u2 u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))) e e') (AffineEquiv.trans.{u1, u2, u2, u2, u3, u3, u3} k P₁ P₁ P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 e' e)
-but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] (e : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (e' : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHMul.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toMul.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))) e e') (AffineEquiv.trans.{u3, u2, u2, u2, u1, u1, u1} k P₁ P₁ P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 e' e)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.mul_def AffineEquiv.mul_defₓ'. -/
theorem mul_def (e e' : P₁ ≃ᵃ[k] P₁) : e * e' = e'.trans e :=
rfl
#align affine_equiv.mul_def AffineEquiv.mul_def
/- warning: affine_equiv.coe_mul -> AffineEquiv.coe_mul is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (e : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (e' : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{succ u2} (P₁ -> P₁) (coeFn.{succ (max u2 u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))) e e')) (Function.comp.{succ u2, succ u2, succ u2} P₁ P₁ P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) e) (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) e'))
-but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] (e : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (e' : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{succ u2} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHMul.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toMul.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))) e e')) (Function.comp.{succ u2, succ u2, succ u2} P₁ P₁ P₁ (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) e) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) e'))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mul AffineEquiv.coe_mulₓ'. -/
@[simp]
theorem coe_mul (e e' : P₁ ≃ᵃ[k] P₁) : ⇑(e * e') = e ∘ e' :=
@@ -934,10 +823,7 @@ def homothetyUnitsMulHom (p : P) : Rˣ →* P ≃ᵃ[R] P :=
#align affine_equiv.homothety_units_mul_hom AffineEquiv.homothetyUnitsMulHom
/- warning: affine_equiv.coe_homothety_units_mul_hom_apply -> AffineEquiv.coe_homothetyUnitsMulHom_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P) (t : Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))), Eq.{succ u3} ((fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14)))))) t)))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))) t)))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply AffineEquiv.coe_homothetyUnitsMulHom_applyₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply (p : P) (t : Rˣ) :
@@ -946,10 +832,7 @@ theorem coe_homothetyUnitsMulHom_apply (p : P) (t : Rˣ) :
#align affine_equiv.coe_homothety_units_mul_hom_apply AffineEquiv.coe_homothetyUnitsMulHom_apply
/- warning: affine_equiv.coe_homothety_units_mul_hom_apply_symm -> AffineEquiv.coe_homothetyUnitsMulHom_apply_symm is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P) (t : Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))), Eq.{succ u3} ((fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.symm.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.symm.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) t))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (AffineEquiv.symm.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instInv.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) t))))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply_symm AffineEquiv.coe_homothetyUnitsMulHom_apply_symmₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply_symm (p : P) (t : Rˣ) :
@@ -958,10 +841,7 @@ theorem coe_homothetyUnitsMulHom_apply_symm (p : P) (t : Rˣ) :
#align affine_equiv.coe_homothety_units_mul_hom_apply_symm AffineEquiv.coe_homothetyUnitsMulHom_apply_symm
/- warning: affine_equiv.coe_homothety_units_mul_hom_eq_homothety_hom_coe -> AffineEquiv.coe_homothetyUnitsMulHom_eq_homothetyHom_coe is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P), Eq.{max (succ u1) (succ u2) (succ u3)} ((Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (Function.comp.{succ u1, max (succ u3) (succ u2), max (succ u2) (succ u3)} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) ((fun (a : Sort.{max (succ u3) (succ u2)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u3) (succ u2), max (succ u2) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (HasLiftT.mk.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (CoeTCₓ.coe.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeBase.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.AffineMap.hasCoe.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))))) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p))) (Function.comp.{succ u1, succ u1, max (succ u2) (succ u3)} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeFn.{max (succ (max u2 u3)) (succ u1), max (succ u1) (succ (max u2 u3))} (MonoidHom.{u1, max u2 u3} R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.monoid.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))) (fun (_x : MonoidHom.{u1, max u2 u3} R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.monoid.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))) => R -> (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u2 u3} R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.monoid.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))) (AffineMap.homothetyHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))))))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u3, u2} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P), Eq.{max (max (succ u3) (succ u2)) (succ u1)} ((Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) -> (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (Function.comp.{succ u3, max (succ u2) (succ u1), max (succ u2) (succ u1)} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.toAffineMap.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u2, u1} R V P _inst_14 _inst_15 _inst_16 _inst_17 p))) (Function.comp.{succ u3, succ u3, max (succ u2) (succ u1)} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} R (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)) (MonoidHom.monoidHomClass.{u3, max u2 u1} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineMap.homothetyHom.{u3, u2, u1} R V P _inst_14 _inst_15 _inst_17 _inst_16 p)) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_eq_homothety_hom_coe AffineEquiv.coe_homothetyUnitsMulHom_eq_homothetyHom_coeₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_eq_homothetyHom_coe (p : P) :
@@ -984,10 +864,7 @@ def pointReflection (x : P₁) : P₁ ≃ᵃ[k] P₁ :=
-/
/- warning: affine_equiv.point_reflection_apply -> AffineEquiv.pointReflection_apply is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁) (y : P₁), Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) (VSub.vsub.{u3, u2} V₁ P₁ (AddTorsor.toHasVsub.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4) x y) x)
-but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁) (y : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) y) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) (VSub.vsub.{u2, u3} V₁ P₁ (AddTorsor.toVSub.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) x y) x)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_apply AffineEquiv.pointReflection_applyₓ'. -/
theorem pointReflection_apply (x y : P₁) : pointReflection k x y = x -ᵥ y +ᵥ x :=
rfl
@@ -1038,10 +915,7 @@ theorem pointReflection_involutive (x : P₁) : Involutive (pointReflection k x
#align affine_equiv.point_reflection_involutive AffineEquiv.pointReflection_involutive
/- warning: affine_equiv.point_reflection_fixed_iff_of_injective_bit0 -> AffineEquiv.pointReflection_fixed_iff_of_injective_bit0 is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] {x : P₁} {y : P₁}, (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toHasAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (Iff (Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x))
-but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] {x : P₁} {y : P₁}, (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (Iff (Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) y) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_fixed_iff_of_injective_bit0 AffineEquiv.pointReflection_fixed_iff_of_injective_bit0ₓ'. -/
/-- `x` is the only fixed point of `point_reflection x`. This lemma requires
`x + x = y + y ↔ x = y`. There is no typeclass to use here, so we add it as an explicit argument. -/
@@ -1051,10 +925,7 @@ theorem pointReflection_fixed_iff_of_injective_bit0 {x y : P₁} (h : Injective
#align affine_equiv.point_reflection_fixed_iff_of_injective_bit0 AffineEquiv.pointReflection_fixed_iff_of_injective_bit0
/- warning: affine_equiv.injective_point_reflection_left_of_injective_bit0 -> AffineEquiv.injective_pointReflection_left_of_injective_bit0 is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toHasAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (forall (y : P₁), Function.Injective.{succ u2, succ u2} P₁ P₁ (fun (x : P₁) => coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y))
-but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (forall (y : P₁), Function.Injective.{succ u2, succ u2} P₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) y) (fun (x : P₁) => FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.injective_point_reflection_left_of_injective_bit0 AffineEquiv.injective_pointReflection_left_of_injective_bit0ₓ'. -/
theorem injective_pointReflection_left_of_injective_bit0 (h : Injective (bit0 : V₁ → V₁)) (y : P₁) :
Injective fun x : P₁ => pointReflection k x y :=
@@ -1062,10 +933,7 @@ theorem injective_pointReflection_left_of_injective_bit0 (h : Injective (bit0 :
#align affine_equiv.injective_point_reflection_left_of_injective_bit0 AffineEquiv.injective_pointReflection_left_of_injective_bit0
/- warning: affine_equiv.injective_point_reflection_left_of_module -> AffineEquiv.injective_pointReflection_left_of_module is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_14 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 2 (OfNat.mk.{u1} k 2 (bit0.{u1} k (Distrib.toHasAdd.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1))))))))] (y : P₁), Function.Injective.{succ u2, succ u2} P₁ P₁ (fun (x : P₁) => coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y)
-but is expected to have type
- forall (k : Type.{u3}) {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] [_inst_14 : Invertible.{u3} k (NonUnitalNonAssocRing.toMul.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_1))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] (y : P₁), Function.Injective.{succ u2, succ u2} P₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) y) (fun (x : P₁) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.injective_point_reflection_left_of_module AffineEquiv.injective_pointReflection_left_of_moduleₓ'. -/
theorem injective_pointReflection_left_of_module [Invertible (2 : k)] :
∀ y, Injective fun x : P₁ => pointReflection k x y :=
@@ -1075,10 +943,7 @@ theorem injective_pointReflection_left_of_module [Invertible (2 : k)] :
#align affine_equiv.injective_point_reflection_left_of_module AffineEquiv.injective_pointReflection_left_of_module
/- warning: affine_equiv.point_reflection_fixed_iff_of_module -> AffineEquiv.pointReflection_fixed_iff_of_module is a dubious translation:
-lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_14 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 2 (OfNat.mk.{u1} k 2 (bit0.{u1} k (Distrib.toHasAdd.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1))))))))] {x : P₁} {y : P₁}, Iff (Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x)
-but is expected to have type
- forall (k : Type.{u3}) {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] [_inst_14 : Invertible.{u3} k (NonUnitalNonAssocRing.toMul.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_1))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] {x : P₁} {y : P₁}, Iff (Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) y) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_fixed_iff_of_module AffineEquiv.pointReflection_fixed_iff_of_moduleₓ'. -/
theorem pointReflection_fixed_iff_of_module [Invertible (2 : k)] {x y : P₁} :
pointReflection k x y = y ↔ y = x :=
@@ -1100,10 +965,7 @@ def toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : V₁ ≃ᵃ[k] V₂
-/
/- warning: linear_equiv.coe_to_affine_equiv -> LinearEquiv.coe_toAffineEquiv is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {V₁ : Type.{u2}} {V₂ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u1, u3} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] (e : LinearEquiv.{u1, u1, u2, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6), Eq.{max (succ u2) (succ u3)} (V₁ -> V₂) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u2, u3} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u3} V₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5))) (fun (_x : AffineEquiv.{u1, u2, u3, u2, u3} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u3} V₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5))) => V₁ -> V₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u2, u3} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u3} V₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5))) (LinearEquiv.toAffineEquiv.{u1, u2, u3} k V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u2, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u3} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) e)
-but is expected to have type
- forall {k : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] (e : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : V₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : V₁) => V₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ (fun (_x : V₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : V₁) => V₂) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ V₂ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ V₂ (AffineEquiv.equivLike.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))))) (LinearEquiv.toAffineEquiv.{u3, u2, u1} k V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_to_affine_equiv LinearEquiv.coe_toAffineEquivₓ'. -/
@[simp]
theorem coe_toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : ⇑e.toAffineEquiv = e :=
@@ -1119,10 +981,7 @@ open AffineEquiv
include V₁
/- warning: affine_map.line_map_vadd -> AffineMap.lineMap_vadd is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁) (v' : V₁) (p : P₁) (c : k), Eq.{succ u2} P₁ (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (fun (_x : AffineMap.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) => k -> V₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AffineMap.lineMap.{u1, u3, u3} k V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) v v') c) p) (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v' p)) c)
-but is expected to have type
- forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁) (v' : V₁) (p : P₁) (c : k), Eq.{succ u3} P₁ (HVAdd.hVAdd.{u2, u3, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) P₁ P₁ (instHVAdd.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) P₁ (AddAction.toVAdd.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) P₁ (SubNegMonoid.toAddMonoid.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) (AddGroup.toSubNegMonoid.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) (AddCommGroup.toAddGroup.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) _inst_2))) (AddTorsor.toAddAction.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) P₁ (AddCommGroup.toAddGroup.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) _inst_2) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AffineMap.{u1, u1, u1, u2, u2} k k k V₁ V₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u2} k k k V₁ V₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AffineMap.lineMap.{u1, u2, u2} k V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) v v') c) p) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v' p)) c)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_map.line_map_vadd AffineMap.lineMap_vaddₓ'. -/
theorem lineMap_vadd (v v' : V₁) (p : P₁) (c : k) :
lineMap v v' c +ᵥ p = lineMap (v +ᵥ p) (v' +ᵥ p) c :=
@@ -1144,10 +1003,7 @@ theorem vsub_lineMap (p₁ p₂ p₃ : P₁) (c : k) :
-/
/- warning: affine_map.vadd_line_map -> AffineMap.vadd_lineMap is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁) (p₁ : P₁) (p₂ : P₁) (c : k), Eq.{succ u2} P₁ (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 p₁ p₂) c)) (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p₁) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p₂)) c)
-but is expected to have type
- forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁) (p₁ : P₁) (p₂ : P₁) (c : k), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) c) (HVAdd.hVAdd.{u2, u3, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) c) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) c) (instHVAdd.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) c) (AddAction.toVAdd.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) c) (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) c) (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 p₁ p₂) c)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p₁) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p₂)) c)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_map.vadd_line_map AffineMap.vadd_lineMapₓ'. -/
theorem vadd_lineMap (v : V₁) (p₁ p₂ : P₁) (c : k) :
v +ᵥ lineMap p₁ p₂ c = lineMap (v +ᵥ p₁) (v +ᵥ p₂) c :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -81,7 +81,7 @@ def toAffineMap (e : P₁ ≃ᵃ[k] P₂) : P₁ →ᵃ[k] P₂ :=
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (f : Equiv.{succ u2, succ u3} P₁ P₂) (f' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) f (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) f' v) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) f p))), Eq.{max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) (AffineMap.mk.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) f) ((fun (a : Sort.{max (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u5)}) [self : HasLiftT.{max (succ u4) (succ u5), max (succ u4) (succ u5)} a b] => self.0) (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (HasLiftT.mk.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (coeBase.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)))))) f') h)
but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : Equiv.{succ u5, succ u4} P₁ P₂) (f' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) f' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f p))), Eq.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1)} (AffineMap.{u3, u2, u5, u1, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) (AffineMap.mk.{u3, u2, u5, u1, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f) (LinearEquiv.toLinearMap.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 f') h)
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : Equiv.{succ u5, succ u4} P₁ P₂) (f' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) f' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f p))), Eq.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1)} (AffineMap.{u3, u2, u5, u1, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) (AffineMap.mk.{u3, u2, u5, u1, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f) (LinearEquiv.toLinearMap.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 f') h)
Case conversion may be inaccurate. Consider using '#align affine_equiv.to_affine_map_mk AffineEquiv.toAffineMap_mkₓ'. -/
@[simp]
theorem toAffineMap_mk (f : P₁ ≃ P₂) (f' : V₁ ≃ₗ[k] V₂) (h) :
@@ -148,7 +148,7 @@ variable {k P₁}
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) v) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p))
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁) (v : V₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) (HVAdd.hVAdd.{u2, u4, u4} V₁ P₁ P₁ (instHVAdd.{u2, u4} V₁ P₁ (AddAction.toVAdd.{u2, u4} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (HVAdd.hVAdd.{u2, u4, u4} V₁ P₁ P₁ (instHVAdd.{u2, u4} V₁ P₁ (AddAction.toVAdd.{u2, u4} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (instHVAdd.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u5, u2, u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u5, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u5, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u5, u2} k V₁ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u5, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u5, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u5, u1} k V₂ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u5, u2, u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u5, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u5, u5, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u5, u5, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1))))))) (AffineEquiv.linear.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) v) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p))
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁) (v : V₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) (HVAdd.hVAdd.{u2, u4, u4} V₁ P₁ P₁ (instHVAdd.{u2, u4} V₁ P₁ (AddAction.toVAdd.{u2, u4} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (HVAdd.hVAdd.{u2, u4, u4} V₁ P₁ P₁ (instHVAdd.{u2, u4} V₁ P₁ (AddAction.toVAdd.{u2, u4} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (instHVAdd.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u5, u2, u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u5, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u5, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u5, u2} k V₁ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u5, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u5, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u5, u1} k V₂ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u5, u2, u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u5, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u5, u5, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u5, u5, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1))))))) (AffineEquiv.linear.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) v) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p))
Case conversion may be inaccurate. Consider using '#align affine_equiv.map_vadd AffineEquiv.map_vaddₓ'. -/
@[simp]
theorem map_vadd (e : P₁ ≃ᵃ[k] P₂) (p : P₁) (v : V₁) : e (v +ᵥ p) = e.linear v +ᵥ e p :=
@@ -255,7 +255,7 @@ theorem toEquiv_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toEquiv = e'.toEquiv ↔ e
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) e' v) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e)
but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mk AffineEquiv.coe_mkₓ'. -/
@[simp]
theorem coe_mk (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (h) : ((⟨e, e', h⟩ : P₁ ≃ᵃ[k] P₂) : P₁ → P₂) = e :=
@@ -266,7 +266,7 @@ theorem coe_mk (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (h) : ((⟨e, e',
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : P₁ -> P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_1.{u1} k _inst_1) (AffineEquiv.mk'._proof_2.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁), (forall (p' : P₁), Eq.{succ u3} P₂ (e p') (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_5.{u1} k _inst_1) (AffineEquiv.mk'._proof_6.{u1} k _inst_1)) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toHasVsub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (e p))) -> (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
but is expected to have type
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : P₁ -> P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁), (forall (p' : P₁), Eq.{succ u3} P₂ (e p') (HVAdd.hVAdd.{u5, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u5, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u5, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u5, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u4) (succ u5), succ u4, succ u5} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u4 u5, u1, u4, u5} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u1, u4} k V₁ (AddMonoid.toZero.{u4} V₁ (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u4} k V₁ (AddMonoid.toAddZeroClass.{u4} V₁ (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} k V₁ (MonoidWithZero.toMonoid.{u1} k (Semiring.toMonoidWithZero.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)) (Module.toDistribMulAction.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u5} k V₂ (AddMonoid.toZero.{u5} V₂ (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u1, u5} k V₂ (AddMonoid.toAddZeroClass.{u5} V₂ (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u1, u5} k V₂ (MonoidWithZero.toMonoid.{u1} k (Semiring.toMonoidWithZero.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)) (Module.toDistribMulAction.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u5, u1, u4, u5} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u1} k (Semiring.toMonoidWithZero.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)) (Module.toDistribMulAction.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u1, u4, u5, max u4 u5} k V₁ V₂ (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u4, u5, max u4 u5} k k V₁ V₂ (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))))))) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (e p))) -> (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : P₁ -> P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁), (forall (p' : P₁), Eq.{succ u3} P₂ (e p') (HVAdd.hVAdd.{u5, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u5, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u5, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u5, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u4) (succ u5), succ u4, succ u5} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u4 u5, u1, u4, u5} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u1, u4} k V₁ (AddMonoid.toZero.{u4} V₁ (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u4} k V₁ (AddMonoid.toAddZeroClass.{u4} V₁ (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} k V₁ (MonoidWithZero.toMonoid.{u1} k (Semiring.toMonoidWithZero.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)) (Module.toDistribMulAction.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u5} k V₂ (AddMonoid.toZero.{u5} V₂ (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u1, u5} k V₂ (AddMonoid.toAddZeroClass.{u5} V₂ (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u1, u5} k V₂ (MonoidWithZero.toMonoid.{u1} k (Semiring.toMonoidWithZero.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)) (Module.toDistribMulAction.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u5, u1, u4, u5} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u1} k (Semiring.toMonoidWithZero.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)) (Module.toDistribMulAction.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u1, u4, u5, max u4 u5} k V₁ V₂ (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u4, u5, max u4 u5} k k V₁ V₂ (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))))))) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (e p))) -> (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
Case conversion may be inaccurate. Consider using '#align affine_equiv.mk' AffineEquiv.mk'ₓ'. -/
/-- Construct an affine equivalence by verifying the relation between the map and its linear part at
one base point. Namely, this function takes a map `e : P₁ → P₂`, a linear equivalence
@@ -286,7 +286,7 @@ def mk' (e : P₁ → P₂) (e' : V₁ ≃ₗ[k] V₂) (p : P₁) (h : ∀ p' :
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p') (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_5.{u1} k _inst_1) (AffineEquiv.mk'._proof_6.{u1} k _inst_1)) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toHasVsub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u2) (succ u3)} (P₁ -> P₂) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.mk'.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e) e' p h)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e)
but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) ᾰ) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) ᾰ) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mk' AffineEquiv.coe_mk'ₓ'. -/
@[simp]
theorem coe_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : ⇑(mk' e e' p h) = e :=
@@ -297,7 +297,7 @@ theorem coe_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : ⇑(mk' e
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p') (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_5.{u1} k _inst_1) (AffineEquiv.mk'._proof_6.{u1} k _inst_1)) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toHasVsub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk'.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e) e' p h)) e'
but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u2) (succ u1)} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (AffineEquiv.linear.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) e'
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u2) (succ u1)} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (AffineEquiv.linear.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) e'
Case conversion may be inaccurate. Consider using '#align affine_equiv.linear_mk' AffineEquiv.linear_mk'ₓ'. -/
@[simp]
theorem linear_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : (mk' e e' p h).linear = e' :=
@@ -1103,7 +1103,7 @@ def toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : V₁ ≃ᵃ[k] V₂
lean 3 declaration is
forall {k : Type.{u1}} {V₁ : Type.{u2}} {V₂ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u1, u3} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] (e : LinearEquiv.{u1, u1, u2, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6), Eq.{max (succ u2) (succ u3)} (V₁ -> V₂) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u2, u3} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u3} V₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5))) (fun (_x : AffineEquiv.{u1, u2, u3, u2, u3} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u3} V₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5))) => V₁ -> V₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u2, u3} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u3} V₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5))) (LinearEquiv.toAffineEquiv.{u1, u2, u3} k V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u2, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u3} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) e)
but is expected to have type
- forall {k : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] (e : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : V₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : V₁) => V₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ (fun (_x : V₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : V₁) => V₂) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ V₂ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ V₂ (AffineEquiv.equivLike.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))))) (LinearEquiv.toAffineEquiv.{u3, u2, u1} k V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e)
+ forall {k : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] (e : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : V₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : V₁) => V₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ (fun (_x : V₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : V₁) => V₂) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ V₂ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ V₂ (AffineEquiv.equivLike.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))))) (LinearEquiv.toAffineEquiv.{u3, u2, u1} k V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e)
Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_to_affine_equiv LinearEquiv.coe_toAffineEquivₓ'. -/
@[simp]
theorem coe_toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : ⇑e.toAffineEquiv = e :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -81,7 +81,7 @@ def toAffineMap (e : P₁ ≃ᵃ[k] P₂) : P₁ →ᵃ[k] P₂ :=
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (f : Equiv.{succ u2, succ u3} P₁ P₂) (f' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) f (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) f' v) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) f p))), Eq.{max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) (AffineMap.mk.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) f) ((fun (a : Sort.{max (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u5)}) [self : HasLiftT.{max (succ u4) (succ u5), max (succ u4) (succ u5)} a b] => self.0) (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (HasLiftT.mk.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (coeBase.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)))))) f') h)
but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : Equiv.{succ u5, succ u4} P₁ P₂) (f' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) f' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f p))), Eq.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1)} (AffineMap.{u3, u2, u5, u1, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) (AffineMap.mk.{u3, u2, u5, u1, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f) (LinearEquiv.toLinearMap.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 f') h)
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : Equiv.{succ u5, succ u4} P₁ P₂) (f' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) f' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f p))), Eq.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1)} (AffineMap.{u3, u2, u5, u1, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) (AffineMap.mk.{u3, u2, u5, u1, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f) (LinearEquiv.toLinearMap.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 f') h)
Case conversion may be inaccurate. Consider using '#align affine_equiv.to_affine_map_mk AffineEquiv.toAffineMap_mkₓ'. -/
@[simp]
theorem toAffineMap_mk (f : P₁ ≃ P₂) (f' : V₁ ≃ₗ[k] V₂) (h) :
@@ -159,7 +159,7 @@ theorem map_vadd (e : P₁ ≃ᵃ[k] P₂) (p : P₁) (v : V₁) : e (v +ᵥ p)
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} (P₁ -> P₂) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : P₁), (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Equiv.{succ u4, succ u3} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : P₁), (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Equiv.{succ u4, succ u3} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_to_equiv AffineEquiv.coe_toEquivₓ'. -/
@[simp]
theorem coe_toEquiv (e : P₁ ≃ᵃ[k] P₂) : ⇑e.toEquiv = e :=
@@ -255,7 +255,7 @@ theorem toEquiv_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toEquiv = e'.toEquiv ↔ e
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) e' v) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e)
but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mk AffineEquiv.coe_mkₓ'. -/
@[simp]
theorem coe_mk (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (h) : ((⟨e, e', h⟩ : P₁ ≃ᵃ[k] P₂) : P₁ → P₂) = e :=
@@ -286,7 +286,7 @@ def mk' (e : P₁ → P₂) (e' : V₁ ≃ₗ[k] V₂) (p : P₁) (h : ∀ p' :
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p') (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_5.{u1} k _inst_1) (AffineEquiv.mk'._proof_6.{u1} k _inst_1)) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toHasVsub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u2) (succ u3)} (P₁ -> P₂) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.mk'.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e) e' p h)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e)
but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) ᾰ) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) ᾰ) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mk' AffineEquiv.coe_mk'ₓ'. -/
@[simp]
theorem coe_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : ⇑(mk' e e' p h) = e :=
@@ -297,7 +297,7 @@ theorem coe_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : ⇑(mk' e
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p') (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_5.{u1} k _inst_1) (AffineEquiv.mk'._proof_6.{u1} k _inst_1)) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toHasVsub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk'.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e) e' p h)) e'
but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u2) (succ u1)} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (AffineEquiv.linear.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) e'
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u2) (succ u1)} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (AffineEquiv.linear.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) e'
Case conversion may be inaccurate. Consider using '#align affine_equiv.linear_mk' AffineEquiv.linear_mk'ₓ'. -/
@[simp]
theorem linear_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : (mk' e e' p h).linear = e' :=
@@ -937,7 +937,7 @@ def homothetyUnitsMulHom (p : P) : Rˣ →* P ≃ᵃ[R] P :=
lean 3 declaration is
forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P) (t : Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))), Eq.{succ u3} ((fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14)))))) t)))
but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))) t)))
+ forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))) t)))
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply AffineEquiv.coe_homothetyUnitsMulHom_applyₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply (p : P) (t : Rˣ) :
@@ -949,7 +949,7 @@ theorem coe_homothetyUnitsMulHom_apply (p : P) (t : Rˣ) :
lean 3 declaration is
forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P) (t : Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))), Eq.{succ u3} ((fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.symm.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.symm.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) t))))
but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (AffineEquiv.symm.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instInv.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) t))))
+ forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (AffineEquiv.symm.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instInv.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) t))))
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply_symm AffineEquiv.coe_homothetyUnitsMulHom_apply_symmₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply_symm (p : P) (t : Rˣ) :
@@ -961,7 +961,7 @@ theorem coe_homothetyUnitsMulHom_apply_symm (p : P) (t : Rˣ) :
lean 3 declaration is
forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P), Eq.{max (succ u1) (succ u2) (succ u3)} ((Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (Function.comp.{succ u1, max (succ u3) (succ u2), max (succ u2) (succ u3)} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) ((fun (a : Sort.{max (succ u3) (succ u2)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u3) (succ u2), max (succ u2) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (HasLiftT.mk.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (CoeTCₓ.coe.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeBase.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.AffineMap.hasCoe.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))))) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p))) (Function.comp.{succ u1, succ u1, max (succ u2) (succ u3)} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeFn.{max (succ (max u2 u3)) (succ u1), max (succ u1) (succ (max u2 u3))} (MonoidHom.{u1, max u2 u3} R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.monoid.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))) (fun (_x : MonoidHom.{u1, max u2 u3} R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.monoid.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))) => R -> (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u2 u3} R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.monoid.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))) (AffineMap.homothetyHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))))))))
but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u3, u2} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P), Eq.{max (max (succ u3) (succ u2)) (succ u1)} ((Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) -> (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (Function.comp.{succ u3, max (succ u2) (succ u1), max (succ u2) (succ u1)} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.toAffineMap.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u2, u1} R V P _inst_14 _inst_15 _inst_16 _inst_17 p))) (Function.comp.{succ u3, succ u3, max (succ u2) (succ u1)} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} R (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)) (MonoidHom.monoidHomClass.{u3, max u2 u1} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineMap.homothetyHom.{u3, u2, u1} R V P _inst_14 _inst_15 _inst_17 _inst_16 p)) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))))
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u3, u2} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P), Eq.{max (max (succ u3) (succ u2)) (succ u1)} ((Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) -> (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (Function.comp.{succ u3, max (succ u2) (succ u1), max (succ u2) (succ u1)} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.toAffineMap.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u2, u1} R V P _inst_14 _inst_15 _inst_16 _inst_17 p))) (Function.comp.{succ u3, succ u3, max (succ u2) (succ u1)} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} R (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)) (MonoidHom.monoidHomClass.{u3, max u2 u1} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineMap.homothetyHom.{u3, u2, u1} R V P _inst_14 _inst_15 _inst_17 _inst_16 p)) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))))
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_eq_homothety_hom_coe AffineEquiv.coe_homothetyUnitsMulHom_eq_homothetyHom_coeₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_eq_homothetyHom_coe (p : P) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -148,7 +148,7 @@ variable {k P₁}
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) v) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p))
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁) (v : V₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) (HVAdd.hVAdd.{u2, u4, u4} V₁ P₁ P₁ (instHVAdd.{u2, u4} V₁ P₁ (AddAction.toVAdd.{u2, u4} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (HVAdd.hVAdd.{u2, u4, u4} V₁ P₁ P₁ (instHVAdd.{u2, u4} V₁ P₁ (AddAction.toVAdd.{u2, u4} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p) (instHVAdd.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u5, u2, u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u5, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u5, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u5, u2} k V₁ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u5, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u5, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u5, u1} k V₂ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u5, u2, u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u5, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u5, u5, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u5, u5, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1))))))) (AffineEquiv.linear.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) v) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p))
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁) (v : V₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) (HVAdd.hVAdd.{u2, u4, u4} V₁ P₁ P₁ (instHVAdd.{u2, u4} V₁ P₁ (AddAction.toVAdd.{u2, u4} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (HVAdd.hVAdd.{u2, u4, u4} V₁ P₁ P₁ (instHVAdd.{u2, u4} V₁ P₁ (AddAction.toVAdd.{u2, u4} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (instHVAdd.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u5, u2, u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u5, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u5, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u5, u2} k V₁ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u5, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u5, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u5, u1} k V₂ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u5, u2, u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u5, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u5, u5, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u5, u5, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1))))))) (AffineEquiv.linear.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) v) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p))
Case conversion may be inaccurate. Consider using '#align affine_equiv.map_vadd AffineEquiv.map_vaddₓ'. -/
@[simp]
theorem map_vadd (e : P₁ ≃ᵃ[k] P₂) (p : P₁) (v : V₁) : e (v +ᵥ p) = e.linear v +ᵥ e p :=
@@ -159,7 +159,7 @@ theorem map_vadd (e : P₁ ≃ᵃ[k] P₂) (p : P₁) (v : V₁) : e (v +ᵥ p)
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} (P₁ -> P₂) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : P₁), (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Equiv.{succ u4, succ u3} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : P₁), (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Equiv.{succ u4, succ u3} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_to_equiv AffineEquiv.coe_toEquivₓ'. -/
@[simp]
theorem coe_toEquiv (e : P₁ ≃ᵃ[k] P₂) : ⇑e.toEquiv = e :=
@@ -173,7 +173,7 @@ instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ →ᵃ[k] P₂) :=
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (coeFn.{max (succ u4) (succ u2) (succ u5) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineMap.hasCoeToFun.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineMap.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineMap.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_to_affine_map AffineEquiv.coe_toAffineMapₓ'. -/
@[simp]
theorem coe_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : (e.toAffineMap : P₁ → P₂) = (e : P₁ → P₂) :=
@@ -184,7 +184,7 @@ theorem coe_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : (e.toAffineMap : P₁ → P
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) ((fun (a : Sort.{max (succ u2) (succ u3) (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u2) (succ u5) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (HasLiftT.mk.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (CoeTCₓ.coe.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (coeBase.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) e)) (coeFn.{max (succ u4) (succ u2) (succ u5) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineMap.hasCoeToFun.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) ((fun (a : Sort.{max (succ u2) (succ u3) (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u2) (succ u5) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (HasLiftT.mk.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (CoeTCₓ.coe.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (coeBase.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) e)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineMap.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineMap.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_coe AffineEquiv.coe_coeₓ'. -/
@[norm_cast, simp]
theorem coe_coe (e : P₁ ≃ᵃ[k] P₂) : ((e : P₁ →ᵃ[k] P₂) : P₁ → P₂) = e :=
@@ -206,7 +206,7 @@ theorem coe_linear (e : P₁ ≃ᵃ[k] P₂) : (e : P₁ →ᵃ[k] P₂).linear
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (forall (x : P₁), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e x) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e' x)) -> (Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] {e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (forall (x : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e' x)) -> (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] {e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (forall (x : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e' x)) -> (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
Case conversion may be inaccurate. Consider using '#align affine_equiv.ext AffineEquiv.extₓ'. -/
@[ext]
theorem ext {e e' : P₁ ≃ᵃ[k] P₂} (h : ∀ x, e x = e' x) : e = e' :=
@@ -223,7 +223,7 @@ theorem coeFn_injective : @Injective (P₁ ≃ᵃ[k] P₂) (P₁ → P₂) coeFn
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) e) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e')) (Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] {e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (succ u4) (succ u3)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e')) (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] {e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (succ u4) (succ u3)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e')) (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_fn_inj AffineEquiv.coeFn_injₓ'. -/
@[simp, norm_cast]
theorem coeFn_inj {e e' : P₁ ≃ᵃ[k] P₂} : (e : P₁ → P₂) = e' ↔ e = e' :=
@@ -255,7 +255,7 @@ theorem toEquiv_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toEquiv = e'.toEquiv ↔ e
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) e' v) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e)
but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mk AffineEquiv.coe_mkₓ'. -/
@[simp]
theorem coe_mk (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (h) : ((⟨e, e', h⟩ : P₁ ≃ᵃ[k] P₂) : P₁ → P₂) = e :=
@@ -286,7 +286,7 @@ def mk' (e : P₁ → P₂) (e' : V₁ ≃ₗ[k] V₂) (p : P₁) (h : ∀ p' :
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p') (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_5.{u1} k _inst_1) (AffineEquiv.mk'._proof_6.{u1} k _inst_1)) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toHasVsub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u2) (succ u3)} (P₁ -> P₂) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.mk'.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e) e' p h)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e)
but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) ᾰ) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) ᾰ) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mk' AffineEquiv.coe_mk'ₓ'. -/
@[simp]
theorem coe_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : ⇑(mk' e e' p h) = e :=
@@ -360,7 +360,7 @@ initialize_simps_projections AffineEquiv (to_equiv_to_fun → apply, to_equiv_in
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Bijective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Bijective.{succ u4, succ u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Bijective.{succ u4, succ u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.bijective AffineEquiv.bijectiveₓ'. -/
protected theorem bijective (e : P₁ ≃ᵃ[k] P₂) : Bijective e :=
e.toEquiv.Bijective
@@ -370,7 +370,7 @@ protected theorem bijective (e : P₁ ≃ᵃ[k] P₂) : Bijective e :=
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Surjective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Surjective.{succ u4, succ u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Surjective.{succ u4, succ u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.surjective AffineEquiv.surjectiveₓ'. -/
protected theorem surjective (e : P₁ ≃ᵃ[k] P₂) : Surjective e :=
e.toEquiv.Surjective
@@ -380,7 +380,7 @@ protected theorem surjective (e : P₁ ≃ᵃ[k] P₂) : Surjective e :=
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Injective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Injective.{succ u4, succ u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Injective.{succ u4, succ u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
Case conversion may be inaccurate. Consider using '#align affine_equiv.injective AffineEquiv.injectiveₓ'. -/
protected theorem injective (e : P₁ ≃ᵃ[k] P₂) : Injective e :=
e.toEquiv.Injective
@@ -402,7 +402,7 @@ noncomputable def ofBijective {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijecti
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {φ : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} (hφ : Function.Bijective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u4) (succ u2) (succ u5) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineMap.hasCoeToFun.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ)), Eq.{max 1 (max (succ u3) (succ u2)) (succ u2) (succ u3)} (Equiv.{succ u3, succ u2} P₂ P₁) (AffineEquiv.toEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.ofBijective.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 φ hφ))) (Equiv.symm.{succ u2, succ u3} P₁ P₂ (Equiv.ofBijective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u4) (succ u2) (succ u5) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineMap.hasCoeToFun.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ) hφ))
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u3}} {P₂ : Type.{u1}} {V₁ : Type.{u4}} {V₂ : Type.{u2}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u5, u4} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u2} V₂] [_inst_6 : Module.{u5, u2} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_5)] [_inst_7 : AddTorsor.{u2, u1} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_5)] {φ : AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} (hφ : Function.Bijective.{succ u3, succ u1} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ)), Eq.{max (succ u3) (succ u1)} (Equiv.{succ u1, succ u3} P₂ P₁) (AffineEquiv.toEquiv.{u5, u1, u3, u2, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u5, u3, u1, u4, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.ofBijective.{u5, u3, u1, u4, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 φ hφ))) (Equiv.symm.{succ u3, succ u1} P₁ P₂ (Equiv.ofBijective.{succ u3, succ u1} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ) hφ))
+ forall {k : Type.{u5}} {P₁ : Type.{u3}} {P₂ : Type.{u1}} {V₁ : Type.{u4}} {V₂ : Type.{u2}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u5, u4} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u2} V₂] [_inst_6 : Module.{u5, u2} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_5)] [_inst_7 : AddTorsor.{u2, u1} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_5)] {φ : AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} (hφ : Function.Bijective.{succ u3, succ u1} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ)), Eq.{max (succ u3) (succ u1)} (Equiv.{succ u1, succ u3} P₂ P₁) (AffineEquiv.toEquiv.{u5, u1, u3, u2, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u5, u3, u1, u4, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.ofBijective.{u5, u3, u1, u4, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 φ hφ))) (Equiv.symm.{succ u3, succ u1} P₁ P₂ (Equiv.ofBijective.{succ u3, succ u1} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ) hφ))
Case conversion may be inaccurate. Consider using '#align affine_equiv.of_bijective.symm_eq AffineEquiv.ofBijective.symm_eqₓ'. -/
theorem ofBijective.symm_eq {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijective φ) :
(ofBijective hφ).symm.toEquiv = (Equiv.ofBijective _ hφ).symm :=
@@ -413,7 +413,7 @@ theorem ofBijective.symm_eq {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijective
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{succ u3} (Set.{u3} P₂) (Set.range.{u3, succ u2} P₂ P₁ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)) (Set.univ.{u3} P₂)
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{succ u3} (Set.{u3} P₂) (Set.range.{u3, succ u4} P₂ P₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)) (Set.univ.{u3} P₂)
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{succ u3} (Set.{u3} P₂) (Set.range.{u3, succ u4} P₂ P₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)) (Set.univ.{u3} P₂)
Case conversion may be inaccurate. Consider using '#align affine_equiv.range_eq AffineEquiv.range_eqₓ'. -/
@[simp]
theorem range_eq (e : P₁ ≃ᵃ[k] P₂) : range e = univ :=
@@ -424,7 +424,7 @@ theorem range_eq (e : P₁ ≃ᵃ[k] P₂) : range e = univ :=
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₂), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p)) p
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₂), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (a : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) a) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p)) p
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₂), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (a : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) a) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p)) p
Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_symm_apply AffineEquiv.apply_symm_applyₓ'. -/
@[simp]
theorem apply_symm_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₂) : e (e.symm p) = p :=
@@ -435,7 +435,7 @@ theorem apply_symm_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₂) : e (e.symm p) = p
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁), Eq.{succ u2} P₁ (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p)) p
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁), Eq.{succ u4} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (a : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p)) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p)) p
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁), Eq.{succ u4} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (a : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p)) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p)) p
Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_apply_apply AffineEquiv.symm_apply_applyₓ'. -/
@[simp]
theorem symm_apply_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₁) : e.symm (e p) = p :=
@@ -446,7 +446,7 @@ theorem symm_apply_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₁) : e.symm (e p) = p
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : P₂}, Iff (Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p₁) p₂) (Eq.{succ u2} P₁ p₁ (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p₂))
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p₁}, Iff (Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p₁) p₂) (Eq.{succ u4} P₁ p₁ (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p₂))
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p₁}, Iff (Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p₁) p₂) (Eq.{succ u4} P₁ p₁ (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p₂))
Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_eq_iff_eq_symm_apply AffineEquiv.apply_eq_iff_eq_symm_applyₓ'. -/
theorem apply_eq_iff_eq_symm_apply (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂} : e p₁ = p₂ ↔ p₁ = e.symm p₂ :=
e.toEquiv.apply_eq_iff_eq_symm_apply
@@ -456,7 +456,7 @@ theorem apply_eq_iff_eq_symm_apply (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂} : e p
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : P₁}, Iff (Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p₁) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p₂)) (Eq.{succ u2} P₁ p₁ p₂)
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : P₁}, Iff (Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p₂)) (Eq.{succ u4} P₁ p₁ p₂)
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : P₁}, Iff (Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) p₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p₂)) (Eq.{succ u4} P₁ p₁ p₂)
Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_eq_iff_eq AffineEquiv.apply_eq_iff_eqₓ'. -/
@[simp]
theorem apply_eq_iff_eq (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂ : P₁} : e p₁ = e p₂ ↔ p₁ = p₂ :=
@@ -467,7 +467,7 @@ theorem apply_eq_iff_eq (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂ : P₁} : e p₁ =
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (f : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u3} P₂), Eq.{succ u2} (Set.{u2} P₁) (Set.image.{u3, u2} P₂ P₁ (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.preimage.{u2, u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) s)
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u3} P₂), Eq.{succ u4} (Set.{u4} P₁) (Set.image.{u3, u4} P₂ P₁ (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.preimage.{u4, u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) s)
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u3} P₂), Eq.{succ u4} (Set.{u4} P₁) (Set.image.{u3, u4} P₂ P₁ (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.preimage.{u4, u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) s)
Case conversion may be inaccurate. Consider using '#align affine_equiv.image_symm AffineEquiv.image_symmₓ'. -/
@[simp]
theorem image_symm (f : P₁ ≃ᵃ[k] P₂) (s : Set P₂) : f.symm '' s = f ⁻¹' s :=
@@ -478,7 +478,7 @@ theorem image_symm (f : P₁ ≃ᵃ[k] P₂) (s : Set P₂) : f.symm '' s = f
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (f : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u2} P₁), Eq.{succ u3} (Set.{u3} P₂) (Set.preimage.{u3, u2} P₂ P₁ (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.image.{u2, u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) s)
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u4} P₁), Eq.{succ u3} (Set.{u3} P₂) (Set.preimage.{u3, u4} P₂ P₁ (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.image.{u4, u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) s)
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u4} P₁), Eq.{succ u3} (Set.{u3} P₂) (Set.preimage.{u3, u4} P₂ P₁ (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.image.{u4, u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) s)
Case conversion may be inaccurate. Consider using '#align affine_equiv.preimage_symm AffineEquiv.preimage_symmₓ'. -/
@[simp]
theorem preimage_symm (f : P₁ ≃ᵃ[k] P₂) (s : Set P₁) : f.symm ⁻¹' s = f '' s :=
@@ -503,7 +503,7 @@ def refl : P₁ ≃ᵃ[k] P₁ where
lean 3 declaration is
forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{succ u2} (P₁ -> P₁) (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (id.{succ u2} P₁)
but is expected to have type
- forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{succ u3} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (id.{succ u3} P₁)
+ forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{succ u3} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (id.{succ u3} P₁)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_refl AffineEquiv.coe_reflₓ'. -/
@[simp]
theorem coe_refl : ⇑(refl k P₁) = id :=
@@ -525,7 +525,7 @@ theorem coe_refl_to_affineMap : ↑(refl k P₁) = AffineMap.id k P₁ :=
lean 3 declaration is
forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4) x) x
but is expected to have type
- forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4) x) x
+ forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4) x) x
Case conversion may be inaccurate. Consider using '#align affine_equiv.refl_apply AffineEquiv.refl_applyₓ'. -/
@[simp]
theorem refl_apply (x : P₁) : refl k P₁ x = x :=
@@ -585,7 +585,7 @@ def trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : P₁ ≃ᵃ[k]
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {P₃ : Type.{u4}} {V₁ : Type.{u5}} {V₂ : Type.{u6}} {V₃ : Type.{u7}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u5} V₁] [_inst_3 : Module.{u1, u5} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₁ _inst_2)] [_inst_4 : AddTorsor.{u5, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u5} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u6} V₂] [_inst_6 : Module.{u1, u6} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u6} V₂ _inst_5)] [_inst_7 : AddTorsor.{u6, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u6} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u7} V₃] [_inst_9 : Module.{u1, u7} k V₃ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u7} V₃ _inst_8)] [_inst_10 : AddTorsor.{u7, u4} V₃ P₃ (AddCommGroup.toAddGroup.{u7} V₃ _inst_8)] (e : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10), Eq.{max (succ u2) (succ u4)} (P₁ -> P₃) (coeFn.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u2) (succ u4)} (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (fun (_x : AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) => P₁ -> P₃) (AffineEquiv.hasCoeToFun.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineEquiv.trans.{u1, u2, u3, u4, u5, u6, u7} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e')) (Function.comp.{succ u2, succ u3, succ u4} P₁ P₂ P₃ (coeFn.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u3) (succ u4)} (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (fun (_x : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) => P₂ -> P₃) (AffineEquiv.hasCoeToFun.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) e') (coeFn.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e))
but is expected to have type
- forall {k : Type.{u7}} {P₁ : Type.{u6}} {P₂ : Type.{u5}} {P₃ : Type.{u2}} {V₁ : Type.{u4}} {V₂ : Type.{u3}} {V₃ : Type.{u1}} [_inst_1 : Ring.{u7} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u7, u4} k V₁ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u6} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u7, u3} k V₂ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u1} V₃] [_inst_9 : Module.{u7, u1} k V₃ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₃ _inst_8)] [_inst_10 : AddTorsor.{u1, u2} V₃ P₃ (AddCommGroup.toAddGroup.{u1} V₃ _inst_8)] (e : AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10), Eq.{max (succ u6) (succ u2)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₃) ᾰ) (FunLike.coe.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (AffineEquiv.equivLike.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) (AffineEquiv.trans.{u7, u6, u5, u2, u4, u3, u1} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e')) (Function.comp.{succ u6, succ u5, succ u2} P₁ P₂ P₃ (FunLike.coe.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (AffineEquiv.equivLike.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10))) e') (FunLike.coe.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e))
+ forall {k : Type.{u7}} {P₁ : Type.{u6}} {P₂ : Type.{u5}} {P₃ : Type.{u2}} {V₁ : Type.{u4}} {V₂ : Type.{u3}} {V₃ : Type.{u1}} [_inst_1 : Ring.{u7} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u7, u4} k V₁ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u6} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u7, u3} k V₂ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u1} V₃] [_inst_9 : Module.{u7, u1} k V₃ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₃ _inst_8)] [_inst_10 : AddTorsor.{u1, u2} V₃ P₃ (AddCommGroup.toAddGroup.{u1} V₃ _inst_8)] (e : AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10), Eq.{max (succ u6) (succ u2)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₃) ᾰ) (FunLike.coe.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (AffineEquiv.equivLike.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) (AffineEquiv.trans.{u7, u6, u5, u2, u4, u3, u1} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e')) (Function.comp.{succ u6, succ u5, succ u2} P₁ P₂ P₃ (FunLike.coe.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (AffineEquiv.equivLike.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10))) e') (FunLike.coe.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e))
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_trans AffineEquiv.coe_transₓ'. -/
@[simp]
theorem coe_trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : ⇑(e.trans e') = e' ∘ e :=
@@ -608,7 +608,7 @@ theorem coe_trans_to_affineMap (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {P₃ : Type.{u4}} {V₁ : Type.{u5}} {V₂ : Type.{u6}} {V₃ : Type.{u7}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u5} V₁] [_inst_3 : Module.{u1, u5} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₁ _inst_2)] [_inst_4 : AddTorsor.{u5, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u5} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u6} V₂] [_inst_6 : Module.{u1, u6} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u6} V₂ _inst_5)] [_inst_7 : AddTorsor.{u6, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u6} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u7} V₃] [_inst_9 : Module.{u1, u7} k V₃ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u7} V₃ _inst_8)] [_inst_10 : AddTorsor.{u7, u4} V₃ P₃ (AddCommGroup.toAddGroup.{u7} V₃ _inst_8)] (e : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (p : P₁), Eq.{succ u4} P₃ (coeFn.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u2) (succ u4)} (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (fun (_x : AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) => P₁ -> P₃) (AffineEquiv.hasCoeToFun.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineEquiv.trans.{u1, u2, u3, u4, u5, u6, u7} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e') p) (coeFn.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u3) (succ u4)} (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (fun (_x : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) => P₂ -> P₃) (AffineEquiv.hasCoeToFun.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) e' (coeFn.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p))
but is expected to have type
- forall {k : Type.{u7}} {P₁ : Type.{u6}} {P₂ : Type.{u5}} {P₃ : Type.{u2}} {V₁ : Type.{u4}} {V₂ : Type.{u3}} {V₃ : Type.{u1}} [_inst_1 : Ring.{u7} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u7, u4} k V₁ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u6} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u7, u3} k V₂ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u1} V₃] [_inst_9 : Module.{u7, u1} k V₃ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₃ _inst_8)] [_inst_10 : AddTorsor.{u1, u2} V₃ P₃ (AddCommGroup.toAddGroup.{u1} V₃ _inst_8)] (e : AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (p : P₁), Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₃) p) (FunLike.coe.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (AffineEquiv.equivLike.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) (AffineEquiv.trans.{u7, u6, u5, u2, u4, u3, u1} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e') p) (FunLike.coe.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (AffineEquiv.equivLike.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10))) e' (FunLike.coe.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p))
+ forall {k : Type.{u7}} {P₁ : Type.{u6}} {P₂ : Type.{u5}} {P₃ : Type.{u2}} {V₁ : Type.{u4}} {V₂ : Type.{u3}} {V₃ : Type.{u1}} [_inst_1 : Ring.{u7} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u7, u4} k V₁ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u6} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u7, u3} k V₂ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u1} V₃] [_inst_9 : Module.{u7, u1} k V₃ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₃ _inst_8)] [_inst_10 : AddTorsor.{u1, u2} V₃ P₃ (AddCommGroup.toAddGroup.{u1} V₃ _inst_8)] (e : AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (p : P₁), Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₃) p) (FunLike.coe.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (AffineEquiv.equivLike.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) (AffineEquiv.trans.{u7, u6, u5, u2, u4, u3, u1} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e') p) (FunLike.coe.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₂) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (AffineEquiv.equivLike.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10))) e' (FunLike.coe.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p))
Case conversion may be inaccurate. Consider using '#align affine_equiv.trans_apply AffineEquiv.trans_applyₓ'. -/
@[simp]
theorem trans_apply (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) (p : P₁) : e.trans e' p = e' (e p) :=
@@ -678,7 +678,7 @@ theorem symm_trans_self (e : P₁ ≃ᵃ[k] P₂) : e.symm.trans e = refl k P₂
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : P₁) (b : P₁) (c : k), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e (coeFn.{max (succ u1) (succ u4) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u4, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (coeFn.{max (succ u1) (succ u5) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) => k -> P₂) (AffineMap.hasCoeToFun.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) (AffineMap.lineMap.{u1, u5, u3} k V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e a) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e b)) c)
but is expected to have type
- forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : P₁) (b : P₁) (c : k), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) (FunLike.coe.{max (max (succ u5) (succ u2)) (succ u4), succ u5, succ u4} (AffineMap.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (a : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) a) (AffineMap.funLike.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u5, u2, u4} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (FunLike.coe.{max (max (succ u5) (succ u2)) (succ u4), succ u5, succ u4} (AffineMap.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) _x) (AffineMap.funLike.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u5, u2, u4} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (FunLike.coe.{max (max (succ u5) (succ u1)) (succ u3), succ u5, succ u3} (AffineMap.{u5, u5, u5, u1, u3} k k k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_5 _inst_6 _inst_7) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) _x) (AffineMap.funLike.{u5, u5, u5, u1, u3} k k k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_5 _inst_6 _inst_7) (AffineMap.lineMap.{u5, u1, u3} k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e a) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e b)) c)
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : P₁) (b : P₁) (c : k), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) (FunLike.coe.{max (max (succ u5) (succ u2)) (succ u4), succ u5, succ u4} (AffineMap.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (Semiring.toModule.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (a : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) a) (AffineMap.funLike.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (Semiring.toModule.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u5, u2, u4} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (FunLike.coe.{max (max (succ u5) (succ u2)) (succ u4), succ u5, succ u4} (AffineMap.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (Semiring.toModule.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) _x) (AffineMap.funLike.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (Semiring.toModule.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u5, u2, u4} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (FunLike.coe.{max (max (succ u5) (succ u1)) (succ u3), succ u5, succ u3} (AffineMap.{u5, u5, u5, u1, u3} k k k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (Semiring.toModule.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_5 _inst_6 _inst_7) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) _x) (AffineMap.funLike.{u5, u5, u5, u1, u3} k k k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (Semiring.toModule.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_5 _inst_6 _inst_7) (AffineMap.lineMap.{u5, u1, u3} k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) a) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e a) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e b)) c)
Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_line_map AffineEquiv.apply_lineMapₓ'. -/
@[simp]
theorem apply_lineMap (e : P₁ ≃ᵃ[k] P₂) (a b : P₁) (c : k) :
@@ -711,7 +711,7 @@ theorem one_def : (1 : P₁ ≃ᵃ[k] P₁) = refl k P₁ :=
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{succ u2} (P₁ -> P₁) (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (OfNat.ofNat.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (OfNat.mk.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.one.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasOne.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))))))) (id.{succ u2} P₁)
but is expected to have type
- forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{succ u3} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (OfNat.ofNat.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.toOfNat1.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (InvOneClass.toOne.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvOneMonoid.toInvOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivisionMonoid.toDivInvOneMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivisionMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))))) (id.{succ u3} P₁)
+ forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{succ u3} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (OfNat.ofNat.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.toOfNat1.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (InvOneClass.toOne.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvOneMonoid.toInvOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivisionMonoid.toDivInvOneMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivisionMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))))) (id.{succ u3} P₁)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_one AffineEquiv.coe_oneₓ'. -/
@[simp]
theorem coe_one : ⇑(1 : P₁ ≃ᵃ[k] P₁) = id :=
@@ -732,7 +732,7 @@ theorem mul_def (e e' : P₁ ≃ᵃ[k] P₁) : e * e' = e'.trans e :=
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (e : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (e' : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{succ u2} (P₁ -> P₁) (coeFn.{succ (max u2 u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))) e e')) (Function.comp.{succ u2, succ u2, succ u2} P₁ P₁ P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) e) (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) e'))
but is expected to have type
- forall {k : Type.{u3}} {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] (e : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (e' : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{succ u2} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHMul.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toMul.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))) e e')) (Function.comp.{succ u2, succ u2, succ u2} P₁ P₁ P₁ (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) e) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) e'))
+ forall {k : Type.{u3}} {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] (e : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (e' : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{succ u2} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHMul.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toMul.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))) e e')) (Function.comp.{succ u2, succ u2, succ u2} P₁ P₁ P₁ (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) e) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) e'))
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mul AffineEquiv.coe_mulₓ'. -/
@[simp]
theorem coe_mul (e e' : P₁ ≃ᵃ[k] P₁) : ⇑(e * e') = e ∘ e' :=
@@ -814,7 +814,7 @@ def constVSub (p : P₁) : P₁ ≃ᵃ[k] V₁
lean 3 declaration is
forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (p : P₁), Eq.{max (succ u2) (succ u3)} (P₁ -> V₁) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u3, u3} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (fun (_x : AffineEquiv.{u1, u2, u3, u3, u3} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) => P₁ -> V₁) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u3, u3} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AffineEquiv.constVSub.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p)) (VSub.vsub.{u3, u2} V₁ P₁ (AddTorsor.toHasVsub.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4) p)
but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (p : P₁), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => V₁) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineEquiv.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => V₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u2} (AffineEquiv.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) P₁ V₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u2} (AffineEquiv.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) P₁ V₁ (AffineEquiv.equivLike.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))))) (AffineEquiv.constVSub.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p)) ((fun (x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6944 : P₁) (x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6946 : P₁) => VSub.vsub.{u2, u3} V₁ P₁ (AddTorsor.toVSub.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6944 x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6946) p)
+ forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (p : P₁), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => V₁) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineEquiv.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => V₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u2} (AffineEquiv.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) P₁ V₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u2} (AffineEquiv.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) P₁ V₁ (AffineEquiv.equivLike.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))))) (AffineEquiv.constVSub.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p)) ((fun (x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6943 : P₁) (x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6945 : P₁) => VSub.vsub.{u2, u3} V₁ P₁ (AddTorsor.toVSub.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6943 x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6945) p)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_const_vsub AffineEquiv.coe_constVSubₓ'. -/
@[simp]
theorem coe_constVSub (p : P₁) : ⇑(constVSub k p) = (· -ᵥ ·) p :=
@@ -825,7 +825,7 @@ theorem coe_constVSub (p : P₁) : ⇑(constVSub k p) = (· -ᵥ ·) p :=
lean 3 declaration is
forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (p : P₁), Eq.{max (succ u3) (succ u2)} (V₁ -> P₁) (coeFn.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u3, u3} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u3, u3} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) => V₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u3, u3} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u3, u3} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) (AffineEquiv.constVSub.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p))) (fun (v : V₁) => VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) (Neg.neg.{u3} V₁ (SubNegMonoid.toHasNeg.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) v) p)
but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (p : P₁), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : V₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : V₁) => P₁) ᾰ) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (AffineEquiv.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) V₁ (fun (_x : V₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : V₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u3), succ u2, succ u3} (AffineEquiv.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) V₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u3), succ u2, succ u3} (AffineEquiv.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) V₁ P₁ (AffineEquiv.equivLike.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) (AffineEquiv.constVSub.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p))) (fun (v : V₁) => HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) (Neg.neg.{u2} V₁ (NegZeroClass.toNeg.{u2} V₁ (SubNegZeroMonoid.toNegZeroClass.{u2} V₁ (SubtractionMonoid.toSubNegZeroMonoid.{u2} V₁ (SubtractionCommMonoid.toSubtractionMonoid.{u2} V₁ (AddCommGroup.toDivisionAddCommMonoid.{u2} V₁ _inst_2))))) v) p)
+ forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (p : P₁), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : V₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : V₁) => P₁) ᾰ) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (AffineEquiv.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) V₁ (fun (_x : V₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : V₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u3), succ u2, succ u3} (AffineEquiv.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) V₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u3), succ u2, succ u3} (AffineEquiv.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) V₁ P₁ (AffineEquiv.equivLike.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) (AffineEquiv.constVSub.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p))) (fun (v : V₁) => HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) (Neg.neg.{u2} V₁ (NegZeroClass.toNeg.{u2} V₁ (SubNegZeroMonoid.toNegZeroClass.{u2} V₁ (SubtractionMonoid.toSubNegZeroMonoid.{u2} V₁ (SubtractionCommMonoid.toSubtractionMonoid.{u2} V₁ (AddCommGroup.toDivisionAddCommMonoid.{u2} V₁ _inst_2))))) v) p)
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_const_vsub_symm AffineEquiv.coe_constVSub_symmₓ'. -/
@[simp]
theorem coe_constVSub_symm (p : P₁) : ⇑(constVSub k p).symm = fun v => -v +ᵥ p :=
@@ -937,7 +937,7 @@ def homothetyUnitsMulHom (p : P) : Rˣ →* P ≃ᵃ[R] P :=
lean 3 declaration is
forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P) (t : Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))), Eq.{succ u3} ((fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14)))))) t)))
but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))) t)))
+ forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))) t)))
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply AffineEquiv.coe_homothetyUnitsMulHom_applyₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply (p : P) (t : Rˣ) :
@@ -949,7 +949,7 @@ theorem coe_homothetyUnitsMulHom_apply (p : P) (t : Rˣ) :
lean 3 declaration is
forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P) (t : Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))), Eq.{succ u3} ((fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.symm.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.symm.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) t))))
but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (AffineEquiv.symm.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instInv.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) t))))
+ forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (AffineEquiv.symm.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instInv.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) t))))
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply_symm AffineEquiv.coe_homothetyUnitsMulHom_apply_symmₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply_symm (p : P) (t : Rˣ) :
@@ -987,7 +987,7 @@ def pointReflection (x : P₁) : P₁ ≃ᵃ[k] P₁ :=
lean 3 declaration is
forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁) (y : P₁), Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) (VSub.vsub.{u3, u2} V₁ P₁ (AddTorsor.toHasVsub.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4) x y) x)
but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁) (y : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) y) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) (VSub.vsub.{u2, u3} V₁ P₁ (AddTorsor.toVSub.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) x y) x)
+ forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁) (y : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) y) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) (VSub.vsub.{u2, u3} V₁ P₁ (AddTorsor.toVSub.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) x y) x)
Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_apply AffineEquiv.pointReflection_applyₓ'. -/
theorem pointReflection_apply (x y : P₁) : pointReflection k x y = x -ᵥ y +ᵥ x :=
rfl
@@ -1020,7 +1020,7 @@ theorem toEquiv_pointReflection (x : P₁) :
lean 3 declaration is
forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) x) x
but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) x) x
+ forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) x) x
Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_self AffineEquiv.pointReflection_selfₓ'. -/
@[simp]
theorem pointReflection_self (x : P₁) : pointReflection k x x = x :=
@@ -1031,7 +1031,7 @@ theorem pointReflection_self (x : P₁) : pointReflection k x x = x :=
lean 3 declaration is
forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Function.Involutive.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x))
but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Function.Involutive.{succ u3} P₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x))
+ forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Function.Involutive.{succ u3} P₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x))
Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_involutive AffineEquiv.pointReflection_involutiveₓ'. -/
theorem pointReflection_involutive (x : P₁) : Involutive (pointReflection k x : P₁ → P₁) :=
Equiv.pointReflection_involutive x
@@ -1041,7 +1041,7 @@ theorem pointReflection_involutive (x : P₁) : Involutive (pointReflection k x
lean 3 declaration is
forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] {x : P₁} {y : P₁}, (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toHasAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (Iff (Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x))
but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] {x : P₁} {y : P₁}, (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (Iff (Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) y) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x))
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] {x : P₁} {y : P₁}, (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (Iff (Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) y) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x))
Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_fixed_iff_of_injective_bit0 AffineEquiv.pointReflection_fixed_iff_of_injective_bit0ₓ'. -/
/-- `x` is the only fixed point of `point_reflection x`. This lemma requires
`x + x = y + y ↔ x = y`. There is no typeclass to use here, so we add it as an explicit argument. -/
@@ -1054,7 +1054,7 @@ theorem pointReflection_fixed_iff_of_injective_bit0 {x y : P₁} (h : Injective
lean 3 declaration is
forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toHasAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (forall (y : P₁), Function.Injective.{succ u2, succ u2} P₁ P₁ (fun (x : P₁) => coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y))
but is expected to have type
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (forall (y : P₁), Function.Injective.{succ u2, succ u2} P₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) y) (fun (x : P₁) => FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y))
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (forall (y : P₁), Function.Injective.{succ u2, succ u2} P₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) y) (fun (x : P₁) => FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y))
Case conversion may be inaccurate. Consider using '#align affine_equiv.injective_point_reflection_left_of_injective_bit0 AffineEquiv.injective_pointReflection_left_of_injective_bit0ₓ'. -/
theorem injective_pointReflection_left_of_injective_bit0 (h : Injective (bit0 : V₁ → V₁)) (y : P₁) :
Injective fun x : P₁ => pointReflection k x y :=
@@ -1065,7 +1065,7 @@ theorem injective_pointReflection_left_of_injective_bit0 (h : Injective (bit0 :
lean 3 declaration is
forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_14 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 2 (OfNat.mk.{u1} k 2 (bit0.{u1} k (Distrib.toHasAdd.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1))))))))] (y : P₁), Function.Injective.{succ u2, succ u2} P₁ P₁ (fun (x : P₁) => coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y)
but is expected to have type
- forall (k : Type.{u3}) {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] [_inst_14 : Invertible.{u3} k (NonUnitalNonAssocRing.toMul.{u3} k (NonUnitalRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonUnitalRing.{u3} k _inst_1))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] (y : P₁), Function.Injective.{succ u2, succ u2} P₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) y) (fun (x : P₁) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y)
+ forall (k : Type.{u3}) {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] [_inst_14 : Invertible.{u3} k (NonUnitalNonAssocRing.toMul.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_1))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] (y : P₁), Function.Injective.{succ u2, succ u2} P₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) y) (fun (x : P₁) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y)
Case conversion may be inaccurate. Consider using '#align affine_equiv.injective_point_reflection_left_of_module AffineEquiv.injective_pointReflection_left_of_moduleₓ'. -/
theorem injective_pointReflection_left_of_module [Invertible (2 : k)] :
∀ y, Injective fun x : P₁ => pointReflection k x y :=
@@ -1078,7 +1078,7 @@ theorem injective_pointReflection_left_of_module [Invertible (2 : k)] :
lean 3 declaration is
forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_14 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 2 (OfNat.mk.{u1} k 2 (bit0.{u1} k (Distrib.toHasAdd.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1))))))))] {x : P₁} {y : P₁}, Iff (Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x)
but is expected to have type
- forall (k : Type.{u3}) {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] [_inst_14 : Invertible.{u3} k (NonUnitalNonAssocRing.toMul.{u3} k (NonUnitalRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonUnitalRing.{u3} k _inst_1))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] {x : P₁} {y : P₁}, Iff (Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) y) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x)
+ forall (k : Type.{u3}) {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] [_inst_14 : Invertible.{u3} k (NonUnitalNonAssocRing.toMul.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_1))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] {x : P₁} {y : P₁}, Iff (Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) y) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x)
Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_fixed_iff_of_module AffineEquiv.pointReflection_fixed_iff_of_moduleₓ'. -/
theorem pointReflection_fixed_iff_of_module [Invertible (2 : k)] {x y : P₁} :
pointReflection k x y = y ↔ y = x :=
@@ -1103,7 +1103,7 @@ def toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : V₁ ≃ᵃ[k] V₂
lean 3 declaration is
forall {k : Type.{u1}} {V₁ : Type.{u2}} {V₂ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u1, u3} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] (e : LinearEquiv.{u1, u1, u2, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6), Eq.{max (succ u2) (succ u3)} (V₁ -> V₂) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u2, u3} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u3} V₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5))) (fun (_x : AffineEquiv.{u1, u2, u3, u2, u3} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u3} V₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5))) => V₁ -> V₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u2, u3} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u3} V₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5))) (LinearEquiv.toAffineEquiv.{u1, u2, u3} k V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u2, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u3} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) e)
but is expected to have type
- forall {k : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] (e : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : V₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : V₁) => V₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ (fun (_x : V₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : V₁) => V₂) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ V₂ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ V₂ (AffineEquiv.equivLike.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))))) (LinearEquiv.toAffineEquiv.{u3, u2, u1} k V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e)
+ forall {k : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] (e : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : V₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : V₁) => V₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ (fun (_x : V₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : V₁) => V₂) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ V₂ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ V₂ (AffineEquiv.equivLike.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))))) (LinearEquiv.toAffineEquiv.{u3, u2, u1} k V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e)
Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_to_affine_equiv LinearEquiv.coe_toAffineEquivₓ'. -/
@[simp]
theorem coe_toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : ⇑e.toAffineEquiv = e :=
@@ -1122,7 +1122,7 @@ include V₁
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁) (v' : V₁) (p : P₁) (c : k), Eq.{succ u2} P₁ (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (fun (_x : AffineMap.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) => k -> V₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AffineMap.lineMap.{u1, u3, u3} k V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) v v') c) p) (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v' p)) c)
but is expected to have type
- forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁) (v' : V₁) (p : P₁) (c : k), Eq.{succ u3} P₁ (HVAdd.hVAdd.{u2, u3, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) P₁ P₁ (instHVAdd.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) P₁ (AddAction.toVAdd.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) P₁ (SubNegMonoid.toAddMonoid.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) (AddGroup.toSubNegMonoid.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) (AddCommGroup.toAddGroup.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) _inst_2))) (AddTorsor.toAddAction.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) P₁ (AddCommGroup.toAddGroup.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) _inst_2) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AffineMap.{u1, u1, u1, u2, u2} k k k V₁ V₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u2} k k k V₁ V₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AffineMap.lineMap.{u1, u2, u2} k V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) v v') c) p) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v' p)) c)
+ forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁) (v' : V₁) (p : P₁) (c : k), Eq.{succ u3} P₁ (HVAdd.hVAdd.{u2, u3, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) P₁ P₁ (instHVAdd.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) P₁ (AddAction.toVAdd.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) P₁ (SubNegMonoid.toAddMonoid.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) (AddGroup.toSubNegMonoid.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) (AddCommGroup.toAddGroup.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) _inst_2))) (AddTorsor.toAddAction.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) P₁ (AddCommGroup.toAddGroup.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) c) _inst_2) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AffineMap.{u1, u1, u1, u2, u2} k k k V₁ V₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => V₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u2} k k k V₁ V₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AffineMap.lineMap.{u1, u2, u2} k V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) v v') c) p) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v' p)) c)
Case conversion may be inaccurate. Consider using '#align affine_map.line_map_vadd AffineMap.lineMap_vaddₓ'. -/
theorem lineMap_vadd (v v' : V₁) (p : P₁) (c : k) :
lineMap v v' c +ᵥ p = lineMap (v +ᵥ p) (v' +ᵥ p) c :=
@@ -1147,7 +1147,7 @@ theorem vsub_lineMap (p₁ p₂ p₃ : P₁) (c : k) :
lean 3 declaration is
forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁) (p₁ : P₁) (p₂ : P₁) (c : k), Eq.{succ u2} P₁ (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 p₁ p₂) c)) (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p₁) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p₂)) c)
but is expected to have type
- forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁) (p₁ : P₁) (p₂ : P₁) (c : k), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (HVAdd.hVAdd.{u2, u3, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (instHVAdd.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (AddAction.toVAdd.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 p₁ p₂) c)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p₁) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p₂)) c)
+ forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁) (p₁ : P₁) (p₂ : P₁) (c : k), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) c) (HVAdd.hVAdd.{u2, u3, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) c) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) c) (instHVAdd.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) c) (AddAction.toVAdd.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) c) (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) c) (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 p₁ p₂) c)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p₁) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p₂)) c)
Case conversion may be inaccurate. Consider using '#align affine_map.vadd_line_map AffineMap.vadd_lineMapₓ'. -/
theorem vadd_lineMap (v : V₁) (p₁ p₂ : P₁) (c : k) :
v +ᵥ lineMap p₁ p₂ c = lineMap (v +ᵥ p₁) (v +ᵥ p₂) c :=
@@ -1160,7 +1160,7 @@ variable {R' : Type _} [CommRing R'] [Module R' V₁]
lean 3 declaration is
forall {P₁ : Type.{u1}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u1} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u3}} [_inst_14 : CommRing.{u3} R'] [_inst_15 : Module.{u3, u2} R' V₁ (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u1} P₁ (coeFn.{max (succ u2) (succ u1), succ u1} (AffineMap.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (fun (_x : AffineMap.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) => P₁ -> P₁) (AffineMap.hasCoeToFun.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u3, u2, u1} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u3} R' (SubNegMonoid.toHasNeg.{u3} R' (AddGroup.toSubNegMonoid.{u3} R' (AddGroupWithOne.toAddGroup.{u3} R' (AddCommGroupWithOne.toAddGroupWithOne.{u3} R' (Ring.toAddCommGroupWithOne.{u3} R' (CommRing.toRing.{u3} R' _inst_14)))))) (OfNat.ofNat.{u3} R' 1 (OfNat.mk.{u3} R' 1 (One.one.{u3} R' (AddMonoidWithOne.toOne.{u3} R' (AddGroupWithOne.toAddMonoidWithOne.{u3} R' (AddCommGroupWithOne.toAddGroupWithOne.{u3} R' (Ring.toAddCommGroupWithOne.{u3} R' (CommRing.toRing.{u3} R' _inst_14)))))))))) p) (coeFn.{max (succ u1) (succ u2), succ u1} (AffineEquiv.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (fun (_x : AffineEquiv.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineEquiv.pointReflection.{u3, u1, u2} R' P₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
but is expected to have type
- forall {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u1}} [_inst_14 : CommRing.{u1} R'] [_inst_15 : Module.{u1, u2} R' V₁ (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₁) p) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u3} (AffineMap.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₁) _x) (AffineMap.funLike.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u1, u2, u3} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u1} R' (Ring.toNeg.{u1} R' (CommRing.toRing.{u1} R' _inst_14)) (OfNat.ofNat.{u1} R' 1 (One.toOfNat1.{u1} R' (Semiring.toOne.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_14))))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} R' P₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
+ forall {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u1}} [_inst_14 : CommRing.{u1} R'] [_inst_15 : Module.{u1, u2} R' V₁ (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₁) p) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u3} (AffineMap.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P₁) => P₁) _x) (AffineMap.funLike.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u1, u2, u3} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u1} R' (Ring.toNeg.{u1} R' (CommRing.toRing.{u1} R' _inst_14)) (OfNat.ofNat.{u1} R' 1 (One.toOfNat1.{u1} R' (Semiring.toOne.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_14))))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} R' P₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
Case conversion may be inaccurate. Consider using '#align affine_map.homothety_neg_one_apply AffineMap.homothety_neg_one_applyₓ'. -/
theorem homothety_neg_one_apply (c p : P₁) : homothety c (-1 : R') p = pointReflection R' c p := by
simp [homothety_apply, point_reflection_apply]
mathlib commit https://github.com/leanprover-community/mathlib/commit/08e1d8d4d989df3a6df86f385e9053ec8a372cc1
@@ -925,7 +925,7 @@ include V
lean 3 declaration is
forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)], P -> (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17)))))
but is expected to have type
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)], P -> (MonoidHom.{u1, max u2 u3} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17)))))
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)], P -> (MonoidHom.{u1, max u2 u3} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_14))))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17)))))
Case conversion may be inaccurate. Consider using '#align affine_equiv.homothety_units_mul_hom AffineEquiv.homothetyUnitsMulHomₓ'. -/
/-- Fixing a point in affine space, homothety about this point gives a group homomorphism from (the
centre of) the units of the scalars into the group of affine equivalences. -/
@@ -937,7 +937,7 @@ def homothetyUnitsMulHom (p : P) : Rˣ →* P ≃ᵃ[R] P :=
lean 3 declaration is
forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P) (t : Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))), Eq.{succ u3} ((fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14)))))) t)))
but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))) t)))
+ forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))) t)))
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply AffineEquiv.coe_homothetyUnitsMulHom_applyₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply (p : P) (t : Rˣ) :
@@ -949,7 +949,7 @@ theorem coe_homothetyUnitsMulHom_apply (p : P) (t : Rˣ) :
lean 3 declaration is
forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P) (t : Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))), Eq.{succ u3} ((fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.symm.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.symm.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) t))))
but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (AffineEquiv.symm.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Units.instInv.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) t))))
+ forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (AffineEquiv.symm.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instInv.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) t))))
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply_symm AffineEquiv.coe_homothetyUnitsMulHom_apply_symmₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply_symm (p : P) (t : Rˣ) :
@@ -961,7 +961,7 @@ theorem coe_homothetyUnitsMulHom_apply_symm (p : P) (t : Rˣ) :
lean 3 declaration is
forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P), Eq.{max (succ u1) (succ u2) (succ u3)} ((Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (Function.comp.{succ u1, max (succ u3) (succ u2), max (succ u2) (succ u3)} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) ((fun (a : Sort.{max (succ u3) (succ u2)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u3) (succ u2), max (succ u2) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (HasLiftT.mk.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (CoeTCₓ.coe.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeBase.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.AffineMap.hasCoe.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))))) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p))) (Function.comp.{succ u1, succ u1, max (succ u2) (succ u3)} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeFn.{max (succ (max u2 u3)) (succ u1), max (succ u1) (succ (max u2 u3))} (MonoidHom.{u1, max u2 u3} R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.monoid.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))) (fun (_x : MonoidHom.{u1, max u2 u3} R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.monoid.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))) => R -> (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u2 u3} R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.monoid.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))) (AffineMap.homothetyHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))))))))
but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u3, u2} R V (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P), Eq.{max (max (succ u3) (succ u2)) (succ u1)} ((Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) -> (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (Function.comp.{succ u3, max (succ u2) (succ u1), max (succ u2) (succ u1)} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.toAffineMap.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u2, u1} R V P _inst_14 _inst_15 _inst_16 _inst_17 p))) (Function.comp.{succ u3, succ u3, max (succ u2) (succ u1)} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} R (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)) (MonoidHom.monoidHomClass.{u3, max u2 u1} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineMap.homothetyHom.{u3, u2, u1} R V P _inst_14 _inst_15 _inst_17 _inst_16 p)) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))))
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u3, u2} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P), Eq.{max (max (succ u3) (succ u2)) (succ u1)} ((Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) -> (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (Function.comp.{succ u3, max (succ u2) (succ u1), max (succ u2) (succ u1)} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.toAffineMap.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) => AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u2, u1} R V P _inst_14 _inst_15 _inst_16 _inst_17 p))) (Function.comp.{succ u3, succ u3, max (succ u2) (succ u1)} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} R (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)) (MonoidHom.monoidHomClass.{u3, max u2 u1} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineMap.homothetyHom.{u3, u2, u1} R V P _inst_14 _inst_15 _inst_17 _inst_16 p)) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_14))))))
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_eq_homothety_hom_coe AffineEquiv.coe_homothetyUnitsMulHom_eq_homothetyHom_coeₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_eq_homothetyHom_coe (p : P) :
@@ -1160,7 +1160,7 @@ variable {R' : Type _} [CommRing R'] [Module R' V₁]
lean 3 declaration is
forall {P₁ : Type.{u1}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u1} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u3}} [_inst_14 : CommRing.{u3} R'] [_inst_15 : Module.{u3, u2} R' V₁ (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u1} P₁ (coeFn.{max (succ u2) (succ u1), succ u1} (AffineMap.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (fun (_x : AffineMap.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) => P₁ -> P₁) (AffineMap.hasCoeToFun.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u3, u2, u1} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u3} R' (SubNegMonoid.toHasNeg.{u3} R' (AddGroup.toSubNegMonoid.{u3} R' (AddGroupWithOne.toAddGroup.{u3} R' (AddCommGroupWithOne.toAddGroupWithOne.{u3} R' (Ring.toAddCommGroupWithOne.{u3} R' (CommRing.toRing.{u3} R' _inst_14)))))) (OfNat.ofNat.{u3} R' 1 (OfNat.mk.{u3} R' 1 (One.one.{u3} R' (AddMonoidWithOne.toOne.{u3} R' (AddGroupWithOne.toAddMonoidWithOne.{u3} R' (AddCommGroupWithOne.toAddGroupWithOne.{u3} R' (Ring.toAddCommGroupWithOne.{u3} R' (CommRing.toRing.{u3} R' _inst_14)))))))))) p) (coeFn.{max (succ u1) (succ u2), succ u1} (AffineEquiv.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (fun (_x : AffineEquiv.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineEquiv.pointReflection.{u3, u1, u2} R' P₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
but is expected to have type
- forall {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u1}} [_inst_14 : CommRing.{u1} R'] [_inst_15 : Module.{u1, u2} R' V₁ (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₁) p) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u3} (AffineMap.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₁) _x) (AffineMap.funLike.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u1, u2, u3} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u1} R' (Ring.toNeg.{u1} R' (CommRing.toRing.{u1} R' _inst_14)) (OfNat.ofNat.{u1} R' 1 (One.toOfNat1.{u1} R' (Semiring.toOne.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_14))))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} R' P₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
+ forall {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u1}} [_inst_14 : CommRing.{u1} R'] [_inst_15 : Module.{u1, u2} R' V₁ (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₁) p) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u3} (AffineMap.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₁) _x) (AffineMap.funLike.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u1, u2, u3} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u1} R' (Ring.toNeg.{u1} R' (CommRing.toRing.{u1} R' _inst_14)) (OfNat.ofNat.{u1} R' 1 (One.toOfNat1.{u1} R' (Semiring.toOne.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_14))))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} R' P₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
Case conversion may be inaccurate. Consider using '#align affine_map.homothety_neg_one_apply AffineMap.homothety_neg_one_applyₓ'. -/
theorem homothety_neg_one_apply (c p : P₁) : homothety c (-1 : R') p = pointReflection R' c p := by
simp [homothety_apply, point_reflection_apply]
mathlib commit https://github.com/leanprover-community/mathlib/commit/2651125b48fc5c170ab1111afd0817c903b1fc6c
@@ -949,7 +949,7 @@ theorem coe_homothetyUnitsMulHom_apply (p : P) (t : Rˣ) :
lean 3 declaration is
forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P) (t : Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))), Eq.{succ u3} ((fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.symm.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.symm.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) t))))
but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (AffineEquiv.symm.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Units.instInvUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) t))))
+ forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (AffineEquiv.symm.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Units.instInv.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) t))))
Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply_symm AffineEquiv.coe_homothetyUnitsMulHom_apply_symmₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply_symm (p : P) (t : Rˣ) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/17ad94b4953419f3e3ce3e77da3239c62d1d09f0
@@ -346,11 +346,11 @@ def Simps.apply (e : P₁ ≃ᵃ[k] P₂) : P₁ → P₂ :=
#align affine_equiv.simps.apply AffineEquiv.Simps.apply
-/
-#print AffineEquiv.Simps.symmApply /-
+#print AffineEquiv.Simps.symm_apply /-
/-- See Note [custom simps projection] -/
-def Simps.symmApply (e : P₁ ≃ᵃ[k] P₂) : P₂ → P₁ :=
+def Simps.symm_apply (e : P₁ ≃ᵃ[k] P₂) : P₂ → P₁ :=
e.symm
-#align affine_equiv.simps.symm_apply AffineEquiv.Simps.symmApply
+#align affine_equiv.simps.symm_apply AffineEquiv.Simps.symm_apply
-/
initialize_simps_projections AffineEquiv (to_equiv_to_fun → apply, to_equiv_inv_fun → symm_apply,
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce86f4e05e9a9b8da5e316b22c76ce76440c56a1
@@ -676,7 +676,7 @@ theorem symm_trans_self (e : P₁ ≃ᵃ[k] P₂) : e.symm.trans e = refl k P₂
/- warning: affine_equiv.apply_line_map -> AffineEquiv.apply_lineMap is a dubious translation:
lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : P₁) (b : P₁) (c : k), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e (coeFn.{max (succ u1) (succ u4) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u4, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (coeFn.{max (succ u1) (succ u5) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) => k -> P₂) (AffineMap.hasCoeToFun.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) (AffineMap.lineMap.{u1, u5, u3} k V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e a) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e b)) c)
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : P₁) (b : P₁) (c : k), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e (coeFn.{max (succ u1) (succ u4) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u4, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (coeFn.{max (succ u1) (succ u5) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) => k -> P₂) (AffineMap.hasCoeToFun.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) (AffineMap.lineMap.{u1, u5, u3} k V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e a) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e b)) c)
but is expected to have type
forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : P₁) (b : P₁) (c : k), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) (FunLike.coe.{max (max (succ u5) (succ u2)) (succ u4), succ u5, succ u4} (AffineMap.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (a : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) a) (AffineMap.funLike.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u5, u2, u4} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (FunLike.coe.{max (max (succ u5) (succ u2)) (succ u4), succ u5, succ u4} (AffineMap.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) _x) (AffineMap.funLike.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u5, u2, u4} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (FunLike.coe.{max (max (succ u5) (succ u1)) (succ u3), succ u5, succ u3} (AffineMap.{u5, u5, u5, u1, u3} k k k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_5 _inst_6 _inst_7) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) _x) (AffineMap.funLike.{u5, u5, u5, u1, u3} k k k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_5 _inst_6 _inst_7) (AffineMap.lineMap.{u5, u1, u3} k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e a) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e b)) c)
Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_line_map AffineEquiv.apply_lineMapₓ'. -/
@@ -1063,7 +1063,7 @@ theorem injective_pointReflection_left_of_injective_bit0 (h : Injective (bit0 :
/- warning: affine_equiv.injective_point_reflection_left_of_module -> AffineEquiv.injective_pointReflection_left_of_module is a dubious translation:
lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_14 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 2 (OfNat.mk.{u1} k 2 (bit0.{u1} k (Distrib.toHasAdd.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))))))))] (y : P₁), Function.Injective.{succ u2, succ u2} P₁ P₁ (fun (x : P₁) => coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y)
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_14 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 2 (OfNat.mk.{u1} k 2 (bit0.{u1} k (Distrib.toHasAdd.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1))))))))] (y : P₁), Function.Injective.{succ u2, succ u2} P₁ P₁ (fun (x : P₁) => coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y)
but is expected to have type
forall (k : Type.{u3}) {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] [_inst_14 : Invertible.{u3} k (NonUnitalNonAssocRing.toMul.{u3} k (NonUnitalRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonUnitalRing.{u3} k _inst_1))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] (y : P₁), Function.Injective.{succ u2, succ u2} P₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) y) (fun (x : P₁) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y)
Case conversion may be inaccurate. Consider using '#align affine_equiv.injective_point_reflection_left_of_module AffineEquiv.injective_pointReflection_left_of_moduleₓ'. -/
@@ -1076,7 +1076,7 @@ theorem injective_pointReflection_left_of_module [Invertible (2 : k)] :
/- warning: affine_equiv.point_reflection_fixed_iff_of_module -> AffineEquiv.pointReflection_fixed_iff_of_module is a dubious translation:
lean 3 declaration is
- forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_14 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 2 (OfNat.mk.{u1} k 2 (bit0.{u1} k (Distrib.toHasAdd.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))))))))] {x : P₁} {y : P₁}, Iff (Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x)
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_14 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 2 (OfNat.mk.{u1} k 2 (bit0.{u1} k (Distrib.toHasAdd.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1))))))))] {x : P₁} {y : P₁}, Iff (Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x)
but is expected to have type
forall (k : Type.{u3}) {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] [_inst_14 : Invertible.{u3} k (NonUnitalNonAssocRing.toMul.{u3} k (NonUnitalRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonUnitalRing.{u3} k _inst_1))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] {x : P₁} {y : P₁}, Iff (Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) y) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x)
Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_fixed_iff_of_module AffineEquiv.pointReflection_fixed_iff_of_moduleₓ'. -/
@@ -1120,7 +1120,7 @@ include V₁
/- warning: affine_map.line_map_vadd -> AffineMap.lineMap_vadd is a dubious translation:
lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁) (v' : V₁) (p : P₁) (c : k), Eq.{succ u2} P₁ (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (fun (_x : AffineMap.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) => k -> V₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AffineMap.lineMap.{u1, u3, u3} k V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) v v') c) p) (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v' p)) c)
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁) (v' : V₁) (p : P₁) (c : k), Eq.{succ u2} P₁ (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (fun (_x : AffineMap.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) => k -> V₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AffineMap.lineMap.{u1, u3, u3} k V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) v v') c) p) (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v' p)) c)
but is expected to have type
forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁) (v' : V₁) (p : P₁) (c : k), Eq.{succ u3} P₁ (HVAdd.hVAdd.{u2, u3, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) P₁ P₁ (instHVAdd.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) P₁ (AddAction.toVAdd.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) P₁ (SubNegMonoid.toAddMonoid.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) (AddGroup.toSubNegMonoid.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) (AddCommGroup.toAddGroup.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) _inst_2))) (AddTorsor.toAddAction.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) P₁ (AddCommGroup.toAddGroup.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) _inst_2) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AffineMap.{u1, u1, u1, u2, u2} k k k V₁ V₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u2} k k k V₁ V₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AffineMap.lineMap.{u1, u2, u2} k V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) v v') c) p) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v' p)) c)
Case conversion may be inaccurate. Consider using '#align affine_map.line_map_vadd AffineMap.lineMap_vaddₓ'. -/
@@ -1145,7 +1145,7 @@ theorem vsub_lineMap (p₁ p₂ p₃ : P₁) (c : k) :
/- warning: affine_map.vadd_line_map -> AffineMap.vadd_lineMap is a dubious translation:
lean 3 declaration is
- forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁) (p₁ : P₁) (p₂ : P₁) (c : k), Eq.{succ u2} P₁ (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 p₁ p₂) c)) (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p₁) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p₂)) c)
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁) (p₁ : P₁) (p₂ : P₁) (c : k), Eq.{succ u2} P₁ (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 p₁ p₂) c)) (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p₁) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p₂)) c)
but is expected to have type
forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁) (p₁ : P₁) (p₂ : P₁) (c : k), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (HVAdd.hVAdd.{u2, u3, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (instHVAdd.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (AddAction.toVAdd.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 p₁ p₂) c)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p₁) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p₂)) c)
Case conversion may be inaccurate. Consider using '#align affine_map.vadd_line_map AffineMap.vadd_lineMapₓ'. -/
@@ -1158,7 +1158,7 @@ variable {R' : Type _} [CommRing R'] [Module R' V₁]
/- warning: affine_map.homothety_neg_one_apply -> AffineMap.homothety_neg_one_apply is a dubious translation:
lean 3 declaration is
- forall {P₁ : Type.{u1}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u1} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u3}} [_inst_14 : CommRing.{u3} R'] [_inst_15 : Module.{u3, u2} R' V₁ (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u1} P₁ (coeFn.{max (succ u2) (succ u1), succ u1} (AffineMap.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (fun (_x : AffineMap.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) => P₁ -> P₁) (AffineMap.hasCoeToFun.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u3, u2, u1} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u3} R' (SubNegMonoid.toHasNeg.{u3} R' (AddGroup.toSubNegMonoid.{u3} R' (AddGroupWithOne.toAddGroup.{u3} R' (NonAssocRing.toAddGroupWithOne.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_14)))))) (OfNat.ofNat.{u3} R' 1 (OfNat.mk.{u3} R' 1 (One.one.{u3} R' (AddMonoidWithOne.toOne.{u3} R' (AddGroupWithOne.toAddMonoidWithOne.{u3} R' (NonAssocRing.toAddGroupWithOne.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_14)))))))))) p) (coeFn.{max (succ u1) (succ u2), succ u1} (AffineEquiv.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (fun (_x : AffineEquiv.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineEquiv.pointReflection.{u3, u1, u2} R' P₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
+ forall {P₁ : Type.{u1}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u1} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u3}} [_inst_14 : CommRing.{u3} R'] [_inst_15 : Module.{u3, u2} R' V₁ (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u1} P₁ (coeFn.{max (succ u2) (succ u1), succ u1} (AffineMap.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (fun (_x : AffineMap.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) => P₁ -> P₁) (AffineMap.hasCoeToFun.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u3, u2, u1} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u3} R' (SubNegMonoid.toHasNeg.{u3} R' (AddGroup.toSubNegMonoid.{u3} R' (AddGroupWithOne.toAddGroup.{u3} R' (AddCommGroupWithOne.toAddGroupWithOne.{u3} R' (Ring.toAddCommGroupWithOne.{u3} R' (CommRing.toRing.{u3} R' _inst_14)))))) (OfNat.ofNat.{u3} R' 1 (OfNat.mk.{u3} R' 1 (One.one.{u3} R' (AddMonoidWithOne.toOne.{u3} R' (AddGroupWithOne.toAddMonoidWithOne.{u3} R' (AddCommGroupWithOne.toAddGroupWithOne.{u3} R' (Ring.toAddCommGroupWithOne.{u3} R' (CommRing.toRing.{u3} R' _inst_14)))))))))) p) (coeFn.{max (succ u1) (succ u2), succ u1} (AffineEquiv.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (fun (_x : AffineEquiv.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineEquiv.pointReflection.{u3, u1, u2} R' P₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
but is expected to have type
forall {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u1}} [_inst_14 : CommRing.{u1} R'] [_inst_15 : Module.{u1, u2} R' V₁ (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₁) p) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u3} (AffineMap.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₁) _x) (AffineMap.funLike.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u1, u2, u3} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u1} R' (Ring.toNeg.{u1} R' (CommRing.toRing.{u1} R' _inst_14)) (OfNat.ofNat.{u1} R' 1 (One.toOfNat1.{u1} R' (Semiring.toOne.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_14))))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} R' P₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
Case conversion may be inaccurate. Consider using '#align affine_map.homothety_neg_one_apply AffineMap.homothety_neg_one_applyₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/d11893b411025250c8e61ff2f12ccbd7ee35ab15
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
! This file was ported from Lean 3 source module linear_algebra.affine_space.affine_equiv
-! leanprover-community/mathlib commit bd1fc183335ea95a9519a1630bcf901fe9326d83
+! leanprover-community/mathlib commit 97eab48559068f3d6313da387714ef25768fb730
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -15,6 +15,9 @@ import Mathbin.Algebra.Invertible
/-!
# Affine equivalences
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
In this file we define `affine_equiv k P₁ P₂` (notation: `P₁ ≃ᵃ[k] P₂`) to be the type of affine
equivalences between `P₁` and `P₂, i.e., equivalences such that both forward and inverse maps are
affine maps.
mathlib commit https://github.com/leanprover-community/mathlib/commit/57e09a1296bfb4330ddf6624f1028ba186117d82
@@ -42,6 +42,7 @@ open Function Set
open Affine
+#print AffineEquiv /-
/-- An affine equivalence is an equivalence between affine spaces such that both forward
and inverse maps are affine.
@@ -53,6 +54,7 @@ structure AffineEquiv (k P₁ P₂ : Type _) {V₁ V₂ : Type _} [Ring k] [AddC
linear : V₁ ≃ₗ[k] V₂
map_vadd' : ∀ (p : P₁) (v : V₁), to_equiv (v +ᵥ p) = linear v +ᵥ to_equiv p
#align affine_equiv AffineEquiv
+-/
-- mathport name: «expr ≃ᵃ[ ] »
notation:25 P₁ " ≃ᵃ[" k:25 "] " P₂:0 => AffineEquiv k P₁ P₂
@@ -65,22 +67,42 @@ namespace AffineEquiv
include V₁ V₂
+#print AffineEquiv.toAffineMap /-
/-- Reinterpret an `affine_equiv` as an `affine_map`. -/
def toAffineMap (e : P₁ ≃ᵃ[k] P₂) : P₁ →ᵃ[k] P₂ :=
{ e with }
#align affine_equiv.to_affine_map AffineEquiv.toAffineMap
+-/
+/- warning: affine_equiv.to_affine_map_mk -> AffineEquiv.toAffineMap_mk is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (f : Equiv.{succ u2, succ u3} P₁ P₂) (f' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) f (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) f' v) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) f p))), Eq.{max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) (AffineMap.mk.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) f) ((fun (a : Sort.{max (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u5)}) [self : HasLiftT.{max (succ u4) (succ u5), max (succ u4) (succ u5)} a b] => self.0) (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (HasLiftT.mk.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (coeBase.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)))))) f') h)
+but is expected to have type
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : Equiv.{succ u5, succ u4} P₁ P₂) (f' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) f' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f p))), Eq.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1)} (AffineMap.{u3, u2, u5, u1, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f f' h)) (AffineMap.mk.{u3, u2, u5, u1, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) f) (LinearEquiv.toLinearMap.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 f') h)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.to_affine_map_mk AffineEquiv.toAffineMap_mkₓ'. -/
@[simp]
theorem toAffineMap_mk (f : P₁ ≃ P₂) (f' : V₁ ≃ₗ[k] V₂) (h) :
toAffineMap (mk f f' h) = ⟨f, f', h⟩ :=
rfl
#align affine_equiv.to_affine_map_mk AffineEquiv.toAffineMap_mk
+/- warning: affine_equiv.linear_to_affine_map -> AffineEquiv.linear_toAffineMap is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u5)} (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (AffineMap.linear.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) ((fun (a : Sort.{max (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u5)}) [self : HasLiftT.{max (succ u4) (succ u5), max (succ u4) (succ u5)} a b] => self.0) (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (HasLiftT.mk.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (coeBase.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)))))) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u1)} (LinearMap.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (AffineMap.linear.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (LinearEquiv.toLinearMap.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (AffineEquiv.linear.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.linear_to_affine_map AffineEquiv.linear_toAffineMapₓ'. -/
@[simp]
theorem linear_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : e.toAffineMap.linear = e.linear :=
rfl
#align affine_equiv.linear_to_affine_map AffineEquiv.linear_toAffineMap
+/- warning: affine_equiv.to_affine_map_injective -> AffineEquiv.toAffineMap_injective is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)], Function.Injective.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
+but is expected to have type
+ forall {k : Type.{u1}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u3}} {V₂ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u2} V₂] [_inst_6 : Module.{u1, u2} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_5)] [_inst_7 : AddTorsor.{u2, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_5)], Function.Injective.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2), max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)} (AffineEquiv.{u1, u5, u4, u3, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u3, u5, u2, u4} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u5, u4, u3, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.to_affine_map_injective AffineEquiv.toAffineMap_injectiveₓ'. -/
theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂) → P₁ →ᵃ[k] P₂) :=
by
rintro ⟨e, el, h⟩ ⟨e', el', h'⟩ H
@@ -89,11 +111,18 @@ theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂)
exacts[H.1, H.2]
#align affine_equiv.to_affine_map_injective AffineEquiv.toAffineMap_injective
+/- warning: affine_equiv.to_affine_map_inj -> AffineEquiv.toAffineMap_inj is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e')) (Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] {e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineMap.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e')) (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+Case conversion may be inaccurate. Consider using '#align affine_equiv.to_affine_map_inj AffineEquiv.toAffineMap_injₓ'. -/
@[simp]
theorem toAffineMap_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toAffineMap = e'.toAffineMap ↔ e = e' :=
toAffineMap_injective.eq_iff
#align affine_equiv.to_affine_map_inj AffineEquiv.toAffineMap_inj
+#print AffineEquiv.equivLike /-
instance equivLike : EquivLike (P₁ ≃ᵃ[k] P₂) P₁ P₂
where
coe f := f.toFun
@@ -102,6 +131,7 @@ instance equivLike : EquivLike (P₁ ≃ᵃ[k] P₂) P₁ P₂
right_inv f := f.right_inv
coe_injective' f g h _ := toAffineMap_injective (FunLike.coe_injective h)
#align affine_equiv.equiv_like AffineEquiv.equivLike
+-/
instance : CoeFun (P₁ ≃ᵃ[k] P₂) fun _ => P₁ → P₂ :=
FunLike.hasCoeToFun
@@ -111,11 +141,23 @@ instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ ≃ P₂) :=
variable {k P₁}
+/- warning: affine_equiv.map_vadd -> AffineEquiv.map_vadd is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) v) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p))
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁) (v : V₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) (HVAdd.hVAdd.{u2, u4, u4} V₁ P₁ P₁ (instHVAdd.{u2, u4} V₁ P₁ (AddAction.toVAdd.{u2, u4} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (HVAdd.hVAdd.{u2, u4, u4} V₁ P₁ P₁ (instHVAdd.{u2, u4} V₁ P₁ (AddAction.toVAdd.{u2, u4} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p) (instHVAdd.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u5, u2, u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u5, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u5, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u5, u2} k V₁ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u5, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u5, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u5, u1} k V₂ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u5, u2, u1} (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u5} k (Semiring.toMonoidWithZero.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u5, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u5, u5, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u5, u5, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1))))))) (AffineEquiv.linear.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) v) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.map_vadd AffineEquiv.map_vaddₓ'. -/
@[simp]
theorem map_vadd (e : P₁ ≃ᵃ[k] P₂) (p : P₁) (v : V₁) : e (v +ᵥ p) = e.linear v +ᵥ e p :=
e.map_vadd' p v
#align affine_equiv.map_vadd AffineEquiv.map_vadd
+/- warning: affine_equiv.coe_to_equiv -> AffineEquiv.coe_toEquiv is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} (P₁ -> P₂) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : P₁), (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Equiv.{succ u4, succ u3} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_to_equiv AffineEquiv.coe_toEquivₓ'. -/
@[simp]
theorem coe_toEquiv (e : P₁ ≃ᵃ[k] P₂) : ⇑e.toEquiv = e :=
rfl
@@ -124,49 +166,105 @@ theorem coe_toEquiv (e : P₁ ≃ᵃ[k] P₂) : ⇑e.toEquiv = e :=
instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ →ᵃ[k] P₂) :=
⟨toAffineMap⟩
+/- warning: affine_equiv.coe_to_affine_map -> AffineEquiv.coe_toAffineMap is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (coeFn.{max (succ u4) (succ u2) (succ u5) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineMap.hasCoeToFun.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineMap.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_to_affine_map AffineEquiv.coe_toAffineMapₓ'. -/
@[simp]
theorem coe_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : (e.toAffineMap : P₁ → P₂) = (e : P₁ → P₂) :=
rfl
#align affine_equiv.coe_to_affine_map AffineEquiv.coe_toAffineMap
+/- warning: affine_equiv.coe_coe -> AffineEquiv.coe_coe is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) ((fun (a : Sort.{max (succ u2) (succ u3) (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u2) (succ u5) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (HasLiftT.mk.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (CoeTCₓ.coe.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (coeBase.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) e)) (coeFn.{max (succ u4) (succ u2) (succ u5) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineMap.hasCoeToFun.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) ((fun (a : Sort.{max (succ u2) (succ u3) (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u2) (succ u5) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (HasLiftT.mk.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (CoeTCₓ.coe.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (coeBase.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) e)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineMap.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_coe AffineEquiv.coe_coeₓ'. -/
@[norm_cast, simp]
theorem coe_coe (e : P₁ ≃ᵃ[k] P₂) : ((e : P₁ →ᵃ[k] P₂) : P₁ → P₂) = e :=
rfl
#align affine_equiv.coe_coe AffineEquiv.coe_coe
+/- warning: affine_equiv.coe_linear -> AffineEquiv.coe_linear is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u5)} (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (AffineMap.linear.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 ((fun (a : Sort.{max (succ u2) (succ u3) (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u2) (succ u5) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (HasLiftT.mk.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (CoeTCₓ.coe.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (coeBase.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u4) (succ u2) (succ u5) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) e)) ((fun (a : Sort.{max (succ u4) (succ u5)}) (b : Sort.{max (succ u4) (succ u5)}) [self : HasLiftT.{max (succ u4) (succ u5), max (succ u4) (succ u5)} a b] => self.0) (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (HasLiftT.mk.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (coeBase.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearMap.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)))))) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u1)} (LinearMap.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (AffineMap.linear.{u5, u2, u4, u1, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.toAffineMap.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (LinearEquiv.toLinearMap.{u5, u5, u2, u1} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (AffineEquiv.linear.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_linear AffineEquiv.coe_linearₓ'. -/
@[simp]
theorem coe_linear (e : P₁ ≃ᵃ[k] P₂) : (e : P₁ →ᵃ[k] P₂).linear = e.linear :=
rfl
#align affine_equiv.coe_linear AffineEquiv.coe_linear
+/- warning: affine_equiv.ext -> AffineEquiv.ext is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (forall (x : P₁), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e x) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e' x)) -> (Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] {e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (forall (x : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e' x)) -> (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+Case conversion may be inaccurate. Consider using '#align affine_equiv.ext AffineEquiv.extₓ'. -/
@[ext]
theorem ext {e e' : P₁ ≃ᵃ[k] P₂} (h : ∀ x, e x = e' x) : e = e' :=
FunLike.ext _ _ h
#align affine_equiv.ext AffineEquiv.ext
+#print AffineEquiv.coeFn_injective /-
theorem coeFn_injective : @Injective (P₁ ≃ᵃ[k] P₂) (P₁ → P₂) coeFn :=
FunLike.coe_injective
#align affine_equiv.coe_fn_injective AffineEquiv.coeFn_injective
+-/
+/- warning: affine_equiv.coe_fn_inj -> AffineEquiv.coeFn_inj is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) e) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e')) (Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] {e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (succ u4) (succ u3)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e')) (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_fn_inj AffineEquiv.coeFn_injₓ'. -/
@[simp, norm_cast]
theorem coeFn_inj {e e' : P₁ ≃ᵃ[k] P₂} : (e : P₁ → P₂) = e' ↔ e = e' :=
coeFn_injective.eq_iff
#align affine_equiv.coe_fn_inj AffineEquiv.coeFn_inj
+/- warning: affine_equiv.to_equiv_injective -> AffineEquiv.toEquiv_injective is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)], Function.Injective.{max (succ u2) (succ u3) (succ u4) (succ u5), max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (Equiv.{succ u2, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
+but is expected to have type
+ forall {k : Type.{u1}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u3}} {V₂ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u2} V₂] [_inst_6 : Module.{u1, u2} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_5)] [_inst_7 : AddTorsor.{u2, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_5)], Function.Injective.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2), max (succ u5) (succ u4)} (AffineEquiv.{u1, u5, u4, u3, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (Equiv.{succ u5, succ u4} P₁ P₂) (AffineEquiv.toEquiv.{u1, u5, u4, u3, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.to_equiv_injective AffineEquiv.toEquiv_injectiveₓ'. -/
theorem toEquiv_injective : Injective (toEquiv : (P₁ ≃ᵃ[k] P₂) → P₁ ≃ P₂) := fun e e' H =>
ext <| Equiv.ext_iff.1 H
#align affine_equiv.to_equiv_injective AffineEquiv.toEquiv_injective
+/- warning: affine_equiv.to_equiv_inj -> AffineEquiv.toEquiv_inj is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2)} (Equiv.{succ u2, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (AffineEquiv.toEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e')) (Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] {e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} {e' : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, Iff (Eq.{max (succ u4) (succ u3)} (Equiv.{succ u4, succ u3} P₁ P₂) (AffineEquiv.toEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (AffineEquiv.toEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e')) (Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e e')
+Case conversion may be inaccurate. Consider using '#align affine_equiv.to_equiv_inj AffineEquiv.toEquiv_injₓ'. -/
@[simp]
theorem toEquiv_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toEquiv = e'.toEquiv ↔ e = e' :=
toEquiv_injective.eq_iff
#align affine_equiv.to_equiv_inj AffineEquiv.toEquiv_inj
+/- warning: affine_equiv.coe_mk -> AffineEquiv.coe_mk is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e (VAdd.vadd.{u4, u2} V₁ P₁ (AddAction.toHasVadd.{u4, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2))) (AddTorsor.toAddAction.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4)) v p)) (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) e' v) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u2) (succ u3)} ((fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.mk.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e)
+but is expected to have type
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (h : forall (p : P₁) (v : V₁), Eq.{succ u4} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e (HVAdd.hVAdd.{u2, u5, u5} V₁ P₁ P₁ (instHVAdd.{u2, u5} V₁ P₁ (AddAction.toVAdd.{u2, u5} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p)) (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) p) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) v) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' v) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (a : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e e' h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mk AffineEquiv.coe_mkₓ'. -/
@[simp]
theorem coe_mk (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (h) : ((⟨e, e', h⟩ : P₁ ≃ᵃ[k] P₂) : P₁ → P₂) = e :=
rfl
#align affine_equiv.coe_mk AffineEquiv.coe_mk
+/- warning: affine_equiv.mk' -> AffineEquiv.mk' is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : P₁ -> P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_1.{u1} k _inst_1) (AffineEquiv.mk'._proof_2.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁), (forall (p' : P₁), Eq.{succ u3} P₂ (e p') (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_5.{u1} k _inst_1) (AffineEquiv.mk'._proof_6.{u1} k _inst_1)) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toHasVsub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (e p))) -> (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
+but is expected to have type
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : P₁ -> P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁), (forall (p' : P₁), Eq.{succ u3} P₂ (e p') (HVAdd.hVAdd.{u5, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u5, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u5, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u5, u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u5} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u4) (succ u5), succ u4, succ u5} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u4 u5, u1, u4, u5} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u1, u4} k V₁ (AddMonoid.toZero.{u4} V₁ (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u1, u4} k V₁ (AddMonoid.toAddZeroClass.{u4} V₁ (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u1, u4} k V₁ (MonoidWithZero.toMonoid.{u1} k (Semiring.toMonoidWithZero.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)) (Module.toDistribMulAction.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u5} k V₂ (AddMonoid.toZero.{u5} V₂ (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u1, u5} k V₂ (AddMonoid.toAddZeroClass.{u5} V₂ (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u1, u5} k V₂ (MonoidWithZero.toMonoid.{u1} k (Semiring.toMonoidWithZero.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)) (Module.toDistribMulAction.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u5, u1, u4, u5} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u1} k (Semiring.toMonoidWithZero.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AddCommMonoid.toAddMonoid.{u4} V₁ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u5} V₂ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)) (Module.toDistribMulAction.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u1, u4, u5, max u4 u5} k V₁ V₂ (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u4, u5, max u4 u5} k k V₁ V₂ (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))))))) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toVSub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (e p))) -> (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.mk' AffineEquiv.mk'ₓ'. -/
/-- Construct an affine equivalence by verifying the relation between the map and its linear part at
one base point. Namely, this function takes a map `e : P₁ → P₂`, a linear equivalence
`e' : V₁ ≃ₗ[k] V₂`, and a point `p` such that for any other point `p'` we have
@@ -181,16 +279,29 @@ def mk' (e : P₁ → P₂) (e' : V₁ ≃ₗ[k] V₂) (p : P₁) (h : ∀ p' :
map_vadd' p' v := by simp [h p', h (v +ᵥ p'), vadd_vsub_assoc, vadd_vadd]
#align affine_equiv.mk' AffineEquiv.mk'
+/- warning: affine_equiv.coe_mk' -> AffineEquiv.coe_mk' is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p') (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_5.{u1} k _inst_1) (AffineEquiv.mk'._proof_6.{u1} k _inst_1)) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toHasVsub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u2) (succ u3)} (P₁ -> P₂) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.mk'.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e) e' p h)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e)
+but is expected to have type
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u5) (succ u4)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) ᾰ) (FunLike.coe.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u4)) (succ u2)) (succ u1), succ u5, succ u4} (AffineEquiv.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mk' AffineEquiv.coe_mk'ₓ'. -/
@[simp]
theorem coe_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : ⇑(mk' e e' p h) = e :=
rfl
#align affine_equiv.coe_mk' AffineEquiv.coe_mk'
+/- warning: affine_equiv.linear_mk' -> AffineEquiv.linear_mk' is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : Equiv.{succ u2, succ u3} P₁ P₂) (e' : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u3} P₂ (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p') (VAdd.vadd.{u5, u3} V₂ P₂ (AddAction.toHasVadd.{u5, u3} V₂ P₂ (SubNegMonoid.toAddMonoid.{u5} V₂ (AddGroup.toSubNegMonoid.{u5} V₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5))) (AddTorsor.toAddAction.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5) _inst_7)) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_3.{u1} k _inst_1) (AffineEquiv.mk'._proof_4.{u1} k _inst_1) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (AffineEquiv.mk'._proof_5.{u1} k _inst_1) (AffineEquiv.mk'._proof_6.{u1} k _inst_1)) e' (VSub.vsub.{u4, u2} V₁ P₁ (AddTorsor.toHasVsub.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2) _inst_4) p' p)) (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e p))), Eq.{max (succ u4) (succ u5)} (LinearEquiv.{u1, u1, u4, u5} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk'.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (coeFn.{max 1 (max (succ u2) (succ u3)) (succ u3) (succ u2), max (succ u2) (succ u3)} (Equiv.{succ u2, succ u3} P₁ P₂) (fun (_x : Equiv.{succ u2, succ u3} P₁ P₂) => P₁ -> P₂) (Equiv.hasCoeToFun.{succ u2, succ u3} P₁ P₂) e) e' p h)) e'
+but is expected to have type
+ forall {k : Type.{u3}} {P₁ : Type.{u5}} {P₂ : Type.{u4}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u4} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : Equiv.{succ u5, succ u4} P₁ P₂) (e' : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (p : P₁) (h : forall (p' : P₁), Eq.{succ u4} P₂ (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p') (HVAdd.hVAdd.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ P₂ (instHVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddAction.toVAdd.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (SubNegMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5))) (AddTorsor.toAddAction.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) P₂ (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) _inst_5) _inst_7))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e' (VSub.vsub.{u2, u5} V₁ P₁ (AddTorsor.toVSub.{u2, u5} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) p' p)) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e p))), Eq.{max (succ u2) (succ u1)} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (AffineEquiv.linear.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.mk'.{u3, u5, u4, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Equiv.{succ u5, succ u4} P₁ P₂) P₁ (fun (_x : P₁) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : P₁) => P₂) _x) (Equiv.instFunLikeEquiv.{succ u5, succ u4} P₁ P₂) e) e' p h)) e'
+Case conversion may be inaccurate. Consider using '#align affine_equiv.linear_mk' AffineEquiv.linear_mk'ₓ'. -/
@[simp]
theorem linear_mk' (e : P₁ ≃ P₂) (e' : V₁ ≃ₗ[k] V₂) (p h) : (mk' e e' p h).linear = e' :=
rfl
#align affine_equiv.linear_mk' AffineEquiv.linear_mk'
+#print AffineEquiv.symm /-
/-- Inverse of an affine equivalence as an affine equivalence. -/
@[symm]
def symm (e : P₁ ≃ᵃ[k] P₂) : P₂ ≃ᵃ[k] P₁
@@ -201,42 +312,78 @@ def symm (e : P₁ ≃ᵃ[k] P₂) : P₂ ≃ᵃ[k] P₁
e.toEquiv.symm.apply_eq_iff_eq_symm_apply.2 <| by
simpa using (e.to_equiv.apply_symm_apply v).symm
#align affine_equiv.symm AffineEquiv.symm
+-/
+/- warning: affine_equiv.symm_to_equiv -> AffineEquiv.symm_toEquiv is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max 1 (max (succ u3) (succ u2)) (succ u2) (succ u3)} (Equiv.{succ u3, succ u2} P₂ P₁) (Equiv.symm.{succ u2, succ u3} P₁ P₂ (AffineEquiv.toEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (AffineEquiv.toEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u3)} (Equiv.{succ u3, succ u4} P₂ P₁) (Equiv.symm.{succ u4, succ u3} P₁ P₂ (AffineEquiv.toEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (AffineEquiv.toEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_to_equiv AffineEquiv.symm_toEquivₓ'. -/
@[simp]
theorem symm_toEquiv (e : P₁ ≃ᵃ[k] P₂) : e.toEquiv.symm = e.symm.toEquiv :=
rfl
#align affine_equiv.symm_to_equiv AffineEquiv.symm_toEquiv
+/- warning: affine_equiv.symm_linear -> AffineEquiv.symm_linear is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u5) (succ u4)} (LinearEquiv.{u1, u1, u5, u4} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₂ V₁ (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) _inst_6 _inst_3) (LinearEquiv.symm.{u1, u1, u4, u5} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (AffineEquiv.linear.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (AffineEquiv.linear.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u1)} (LinearEquiv.{u5, u5, u1, u2} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) V₂ V₁ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_6 _inst_3) (LinearEquiv.symm.{u5, u5, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (RingHomInvPair.ids.{u5} k (Ring.toSemiring.{u5} k _inst_1)) (AffineEquiv.linear.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (AffineEquiv.linear.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_linear AffineEquiv.symm_linearₓ'. -/
@[simp]
theorem symm_linear (e : P₁ ≃ᵃ[k] P₂) : e.linear.symm = e.symm.linear :=
rfl
#align affine_equiv.symm_linear AffineEquiv.symm_linear
+#print AffineEquiv.Simps.apply /-
/-- See Note [custom simps projection] -/
def Simps.apply (e : P₁ ≃ᵃ[k] P₂) : P₁ → P₂ :=
e
#align affine_equiv.simps.apply AffineEquiv.Simps.apply
+-/
+#print AffineEquiv.Simps.symmApply /-
/-- See Note [custom simps projection] -/
def Simps.symmApply (e : P₁ ≃ᵃ[k] P₂) : P₂ → P₁ :=
e.symm
#align affine_equiv.simps.symm_apply AffineEquiv.Simps.symmApply
+-/
initialize_simps_projections AffineEquiv (to_equiv_to_fun → apply, to_equiv_inv_fun → symm_apply,
linear → linear, as_prefix linear, -toEquiv)
+/- warning: affine_equiv.bijective -> AffineEquiv.bijective is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Bijective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Bijective.{succ u4, succ u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.bijective AffineEquiv.bijectiveₓ'. -/
protected theorem bijective (e : P₁ ≃ᵃ[k] P₂) : Bijective e :=
e.toEquiv.Bijective
#align affine_equiv.bijective AffineEquiv.bijective
+/- warning: affine_equiv.surjective -> AffineEquiv.surjective is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Surjective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Surjective.{succ u4, succ u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.surjective AffineEquiv.surjectiveₓ'. -/
protected theorem surjective (e : P₁ ≃ᵃ[k] P₂) : Surjective e :=
e.toEquiv.Surjective
#align affine_equiv.surjective AffineEquiv.surjective
+/- warning: affine_equiv.injective -> AffineEquiv.injective is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Injective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Function.Injective.{succ u4, succ u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.injective AffineEquiv.injectiveₓ'. -/
protected theorem injective (e : P₁ ≃ᵃ[k] P₂) : Injective e :=
e.toEquiv.Injective
#align affine_equiv.injective AffineEquiv.injective
+#print AffineEquiv.ofBijective /-
/-- Bijective affine maps are affine isomorphisms. -/
@[simps]
noncomputable def ofBijective {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijective φ) : P₁ ≃ᵃ[k] P₂ :=
@@ -246,41 +393,90 @@ noncomputable def ofBijective {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijecti
linear := LinearEquiv.ofBijective φ.linear (φ.linear_bijective_iff.mpr hφ)
map_vadd' := φ.map_vadd }
#align affine_equiv.of_bijective AffineEquiv.ofBijective
+-/
+/- warning: affine_equiv.of_bijective.symm_eq -> AffineEquiv.ofBijective.symm_eq is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] {φ : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} (hφ : Function.Bijective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u4) (succ u2) (succ u5) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineMap.hasCoeToFun.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ)), Eq.{max 1 (max (succ u3) (succ u2)) (succ u2) (succ u3)} (Equiv.{succ u3, succ u2} P₂ P₁) (AffineEquiv.toEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.ofBijective.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 φ hφ))) (Equiv.symm.{succ u2, succ u3} P₁ P₂ (Equiv.ofBijective.{succ u2, succ u3} P₁ P₂ (coeFn.{max (succ u4) (succ u2) (succ u5) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineMap.hasCoeToFun.{u1, u4, u2, u5, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ) hφ))
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u3}} {P₂ : Type.{u1}} {V₁ : Type.{u4}} {V₂ : Type.{u2}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u5, u4} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u2} V₂] [_inst_6 : Module.{u5, u2} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_5)] [_inst_7 : AddTorsor.{u2, u1} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_5)] {φ : AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7} (hφ : Function.Bijective.{succ u3, succ u1} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ)), Eq.{max (succ u3) (succ u1)} (Equiv.{succ u1, succ u3} P₂ P₁) (AffineEquiv.toEquiv.{u5, u1, u3, u2, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 (AffineEquiv.symm.{u5, u3, u1, u4, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.ofBijective.{u5, u3, u1, u4, u2} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 φ hφ))) (Equiv.symm.{succ u3, succ u1} P₁ P₂ (Equiv.ofBijective.{succ u3, succ u1} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₂) _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) φ) hφ))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.of_bijective.symm_eq AffineEquiv.ofBijective.symm_eqₓ'. -/
theorem ofBijective.symm_eq {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Bijective φ) :
(ofBijective hφ).symm.toEquiv = (Equiv.ofBijective _ hφ).symm :=
rfl
#align affine_equiv.of_bijective.symm_eq AffineEquiv.ofBijective.symm_eq
+/- warning: affine_equiv.range_eq -> AffineEquiv.range_eq is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{succ u3} (Set.{u3} P₂) (Set.range.{u3, succ u2} P₂ P₁ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e)) (Set.univ.{u3} P₂)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{succ u3} (Set.{u3} P₂) (Set.range.{u3, succ u4} P₂ P₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e)) (Set.univ.{u3} P₂)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.range_eq AffineEquiv.range_eqₓ'. -/
@[simp]
theorem range_eq (e : P₁ ≃ᵃ[k] P₂) : range e = univ :=
e.Surjective.range_eq
#align affine_equiv.range_eq AffineEquiv.range_eq
+/- warning: affine_equiv.apply_symm_apply -> AffineEquiv.apply_symm_apply is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₂), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p)) p
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₂), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (a : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) a) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p)) p
+Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_symm_apply AffineEquiv.apply_symm_applyₓ'. -/
@[simp]
theorem apply_symm_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₂) : e (e.symm p) = p :=
e.toEquiv.apply_symm_apply p
#align affine_equiv.apply_symm_apply AffineEquiv.apply_symm_apply
+/- warning: affine_equiv.symm_apply_apply -> AffineEquiv.symm_apply_apply is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁), Eq.{succ u2} P₁ (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p)) p
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (p : P₁), Eq.{succ u4} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (a : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p)) (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p)) p
+Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_apply_apply AffineEquiv.symm_apply_applyₓ'. -/
@[simp]
theorem symm_apply_apply (e : P₁ ≃ᵃ[k] P₂) (p : P₁) : e.symm (e p) = p :=
e.toEquiv.symm_apply_apply p
#align affine_equiv.symm_apply_apply AffineEquiv.symm_apply_apply
+/- warning: affine_equiv.apply_eq_iff_eq_symm_apply -> AffineEquiv.apply_eq_iff_eq_symm_apply is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : P₂}, Iff (Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p₁) p₂) (Eq.{succ u2} P₁ p₁ (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p₂))
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p₁}, Iff (Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p₁) p₂) (Eq.{succ u4} P₁ p₁ (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) p₂))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_eq_iff_eq_symm_apply AffineEquiv.apply_eq_iff_eq_symm_applyₓ'. -/
theorem apply_eq_iff_eq_symm_apply (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂} : e p₁ = p₂ ↔ p₁ = e.symm p₂ :=
e.toEquiv.apply_eq_iff_eq_symm_apply
#align affine_equiv.apply_eq_iff_eq_symm_apply AffineEquiv.apply_eq_iff_eq_symm_apply
+/- warning: affine_equiv.apply_eq_iff_eq -> AffineEquiv.apply_eq_iff_eq is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : P₁}, Iff (Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p₁) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p₂)) (Eq.{succ u2} P₁ p₁ p₂)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) {p₁ : P₁} {p₂ : P₁}, Iff (Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) p₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p₁) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p₂)) (Eq.{succ u4} P₁ p₁ p₂)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_eq_iff_eq AffineEquiv.apply_eq_iff_eqₓ'. -/
@[simp]
theorem apply_eq_iff_eq (e : P₁ ≃ᵃ[k] P₂) {p₁ p₂ : P₁} : e p₁ = e p₂ ↔ p₁ = p₂ :=
e.toEquiv.apply_eq_iff_eq
#align affine_equiv.apply_eq_iff_eq AffineEquiv.apply_eq_iff_eq
+/- warning: affine_equiv.image_symm -> AffineEquiv.image_symm is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (f : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u3} P₂), Eq.{succ u2} (Set.{u2} P₁) (Set.image.{u3, u2} P₂ P₁ (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.preimage.{u2, u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) s)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u3} P₂), Eq.{succ u4} (Set.{u4} P₁) (Set.image.{u3, u4} P₂ P₁ (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.preimage.{u4, u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) s)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.image_symm AffineEquiv.image_symmₓ'. -/
@[simp]
theorem image_symm (f : P₁ ≃ᵃ[k] P₂) (s : Set P₂) : f.symm '' s = f ⁻¹' s :=
f.symm.toEquiv.image_eq_preimage _
#align affine_equiv.image_symm AffineEquiv.image_symm
+/- warning: affine_equiv.preimage_symm -> AffineEquiv.preimage_symm is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (f : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u2} P₁), Eq.{succ u3} (Set.{u3} P₂) (Set.preimage.{u3, u2} P₂ P₁ (coeFn.{max (succ u3) (succ u2) (succ u5) (succ u4), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) => P₂ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u5, u4} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.image.{u2, u3} P₁ P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) s)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (f : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (s : Set.{u4} P₁), Eq.{succ u3} (Set.{u3} P₂) (Set.preimage.{u3, u4} P₂ P₁ (FunLike.coe.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₁) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (EquivLike.toEmbeddingLike.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2), succ u3, succ u4} (AffineEquiv.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4) P₂ P₁ (AffineEquiv.equivLike.{u5, u3, u4, u1, u2} k P₂ P₁ V₂ V₁ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 f)) s) (Set.image.{u4, u3} P₁ P₂ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f) s)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.preimage_symm AffineEquiv.preimage_symmₓ'. -/
@[simp]
theorem preimage_symm (f : P₁ ≃ᵃ[k] P₂) (s : Set P₁) : f.symm ⁻¹' s = f '' s :=
(f.symm.image_symm _).symm
@@ -290,6 +486,7 @@ variable (k P₁)
omit V₂
+#print AffineEquiv.refl /-
/-- Identity map as an `affine_equiv`. -/
@[refl]
def refl : P₁ ≃ᵃ[k] P₁ where
@@ -297,32 +494,69 @@ def refl : P₁ ≃ᵃ[k] P₁ where
linear := LinearEquiv.refl k V₁
map_vadd' _ _ := rfl
#align affine_equiv.refl AffineEquiv.refl
+-/
+/- warning: affine_equiv.coe_refl -> AffineEquiv.coe_refl is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{succ u2} (P₁ -> P₁) (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (id.{succ u2} P₁)
+but is expected to have type
+ forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{succ u3} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (id.{succ u3} P₁)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_refl AffineEquiv.coe_reflₓ'. -/
@[simp]
theorem coe_refl : ⇑(refl k P₁) = id :=
rfl
#align affine_equiv.coe_refl AffineEquiv.coe_refl
+/- warning: affine_equiv.coe_refl_to_affine_map -> AffineEquiv.coe_refl_to_affineMap is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{max (succ u3) (succ u2)} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u3) (succ u2)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u3) (succ u2)} a b] => self.0) (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (coeBase.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4)))) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (AffineMap.id.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)
+but is expected to have type
+ forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{max (succ u3) (succ u2)} (AffineMap.{u1, u2, u3, u2, u3} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.toAffineMap.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (AffineMap.id.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_refl_to_affine_map AffineEquiv.coe_refl_to_affineMapₓ'. -/
@[simp]
theorem coe_refl_to_affineMap : ↑(refl k P₁) = AffineMap.id k P₁ :=
rfl
#align affine_equiv.coe_refl_to_affine_map AffineEquiv.coe_refl_to_affineMap
+/- warning: affine_equiv.refl_apply -> AffineEquiv.refl_apply is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4) x) x
+but is expected to have type
+ forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4) x) x
+Case conversion may be inaccurate. Consider using '#align affine_equiv.refl_apply AffineEquiv.refl_applyₓ'. -/
@[simp]
theorem refl_apply (x : P₁) : refl k P₁ x = x :=
rfl
#align affine_equiv.refl_apply AffineEquiv.refl_apply
+/- warning: affine_equiv.to_equiv_refl -> AffineEquiv.toEquiv_refl is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{succ u2} (Equiv.{succ u2, succ u2} P₁ P₁) (AffineEquiv.toEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (Equiv.refl.{succ u2} P₁)
+but is expected to have type
+ forall (k : Type.{u2}) (P₁ : Type.{u3}) {V₁ : Type.{u1}} [_inst_1 : Ring.{u2} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u2, u1} k V₁ (Ring.toSemiring.{u2} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)], Eq.{succ u3} (Equiv.{succ u3, succ u3} P₁ P₁) (AffineEquiv.toEquiv.{u2, u3, u3, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u2, u3, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (Equiv.refl.{succ u3} P₁)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.to_equiv_refl AffineEquiv.toEquiv_reflₓ'. -/
@[simp]
theorem toEquiv_refl : (refl k P₁).toEquiv = Equiv.refl P₁ :=
rfl
#align affine_equiv.to_equiv_refl AffineEquiv.toEquiv_refl
+/- warning: affine_equiv.linear_refl -> AffineEquiv.linear_refl is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{succ u3} (LinearEquiv.{u1, u1, u3, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₁ (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2) _inst_3 _inst_3) (AffineEquiv.linear.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (LinearEquiv.refl.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2) _inst_3)
+but is expected to have type
+ forall (k : Type.{u2}) (P₁ : Type.{u1}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u2} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u2, u3} k V₁ (Ring.toSemiring.{u2} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u1} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{succ u3} (LinearEquiv.{u2, u2, u3, u3} k k (Ring.toSemiring.{u2} k _inst_1) (Ring.toSemiring.{u2} k _inst_1) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k _inst_1))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k _inst_1))) (RingHomInvPair.ids.{u2} k (Ring.toSemiring.{u2} k _inst_1)) (RingHomInvPair.ids.{u2} k (Ring.toSemiring.{u2} k _inst_1)) V₁ V₁ (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2) _inst_3 _inst_3) (AffineEquiv.linear.{u2, u1, u1, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u2, u1, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (LinearEquiv.refl.{u2, u3} k V₁ (Ring.toSemiring.{u2} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2) _inst_3)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.linear_refl AffineEquiv.linear_reflₓ'. -/
@[simp]
theorem linear_refl : (refl k P₁).linear = LinearEquiv.refl k V₁ :=
rfl
#align affine_equiv.linear_refl AffineEquiv.linear_refl
+/- warning: affine_equiv.symm_refl -> AffineEquiv.symm_refl is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
+but is expected to have type
+ forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_refl AffineEquiv.symm_reflₓ'. -/
@[simp]
theorem symm_refl : (refl k P₁).symm = refl k P₁ :=
rfl
@@ -332,6 +566,7 @@ variable {k P₁}
include V₂ V₃
+#print AffineEquiv.trans /-
/-- Composition of two `affine_equiv`alences, applied left to right. -/
@[trans]
def trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : P₁ ≃ᵃ[k] P₃
@@ -341,18 +576,37 @@ def trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : P₁ ≃ᵃ[k]
map_vadd' p v := by
simp only [LinearEquiv.trans_apply, coe_to_equiv, (· ∘ ·), Equiv.coe_trans, map_vadd]
#align affine_equiv.trans AffineEquiv.trans
+-/
+/- warning: affine_equiv.coe_trans -> AffineEquiv.coe_trans is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {P₃ : Type.{u4}} {V₁ : Type.{u5}} {V₂ : Type.{u6}} {V₃ : Type.{u7}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u5} V₁] [_inst_3 : Module.{u1, u5} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₁ _inst_2)] [_inst_4 : AddTorsor.{u5, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u5} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u6} V₂] [_inst_6 : Module.{u1, u6} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u6} V₂ _inst_5)] [_inst_7 : AddTorsor.{u6, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u6} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u7} V₃] [_inst_9 : Module.{u1, u7} k V₃ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u7} V₃ _inst_8)] [_inst_10 : AddTorsor.{u7, u4} V₃ P₃ (AddCommGroup.toAddGroup.{u7} V₃ _inst_8)] (e : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10), Eq.{max (succ u2) (succ u4)} (P₁ -> P₃) (coeFn.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u2) (succ u4)} (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (fun (_x : AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) => P₁ -> P₃) (AffineEquiv.hasCoeToFun.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineEquiv.trans.{u1, u2, u3, u4, u5, u6, u7} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e')) (Function.comp.{succ u2, succ u3, succ u4} P₁ P₂ P₃ (coeFn.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u3) (succ u4)} (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (fun (_x : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) => P₂ -> P₃) (AffineEquiv.hasCoeToFun.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) e') (coeFn.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e))
+but is expected to have type
+ forall {k : Type.{u7}} {P₁ : Type.{u6}} {P₂ : Type.{u5}} {P₃ : Type.{u2}} {V₁ : Type.{u4}} {V₂ : Type.{u3}} {V₃ : Type.{u1}} [_inst_1 : Ring.{u7} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u7, u4} k V₁ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u6} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u7, u3} k V₂ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u1} V₃] [_inst_9 : Module.{u7, u1} k V₃ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₃ _inst_8)] [_inst_10 : AddTorsor.{u1, u2} V₃ P₃ (AddCommGroup.toAddGroup.{u1} V₃ _inst_8)] (e : AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10), Eq.{max (succ u6) (succ u2)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₃) ᾰ) (FunLike.coe.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (AffineEquiv.equivLike.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) (AffineEquiv.trans.{u7, u6, u5, u2, u4, u3, u1} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e')) (Function.comp.{succ u6, succ u5, succ u2} P₁ P₂ P₃ (FunLike.coe.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (AffineEquiv.equivLike.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10))) e') (FunLike.coe.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_trans AffineEquiv.coe_transₓ'. -/
@[simp]
theorem coe_trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : ⇑(e.trans e') = e' ∘ e :=
rfl
#align affine_equiv.coe_trans AffineEquiv.coe_trans
+/- warning: affine_equiv.coe_trans_to_affine_map -> AffineEquiv.coe_trans_to_affineMap is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {P₃ : Type.{u4}} {V₁ : Type.{u5}} {V₂ : Type.{u6}} {V₃ : Type.{u7}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u5} V₁] [_inst_3 : Module.{u1, u5} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₁ _inst_2)] [_inst_4 : AddTorsor.{u5, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u5} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u6} V₂] [_inst_6 : Module.{u1, u6} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u6} V₂ _inst_5)] [_inst_7 : AddTorsor.{u6, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u6} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u7} V₃] [_inst_9 : Module.{u1, u7} k V₃ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u7} V₃ _inst_8)] [_inst_10 : AddTorsor.{u7, u4} V₃ P₃ (AddCommGroup.toAddGroup.{u7} V₃ _inst_8)] (e : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10), Eq.{max (succ u5) (succ u2) (succ u7) (succ u4)} (AffineMap.{u1, u5, u2, u7, u4} k V₁ P₁ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) ((fun (a : Sort.{max (succ u2) (succ u4) (succ u5) (succ u7)}) (b : Sort.{max (succ u5) (succ u2) (succ u7) (succ u4)}) [self : HasLiftT.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u5) (succ u2) (succ u7) (succ u4)} a b] => self.0) (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u5, u2, u7, u4} k V₁ P₁ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (HasLiftT.mk.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u5) (succ u2) (succ u7) (succ u4)} (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u5, u2, u7, u4} k V₁ P₁ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (CoeTCₓ.coe.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u5) (succ u2) (succ u7) (succ u4)} (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u5, u2, u7, u4} k V₁ P₁ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (coeBase.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u5) (succ u2) (succ u7) (succ u4)} (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u5, u2, u7, u4} k V₁ P₁ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10)))) (AffineEquiv.trans.{u1, u2, u3, u4, u5, u6, u7} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e')) (AffineMap.comp.{u1, u5, u2, u6, u3, u7, u4} k V₁ P₁ V₂ P₂ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 ((fun (a : Sort.{max (succ u3) (succ u4) (succ u6) (succ u7)}) (b : Sort.{max (succ u6) (succ u3) (succ u7) (succ u4)}) [self : HasLiftT.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u6) (succ u3) (succ u7) (succ u4)} a b] => self.0) (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u6, u3, u7, u4} k V₂ P₂ V₃ P₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (HasLiftT.mk.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u6) (succ u3) (succ u7) (succ u4)} (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u6, u3, u7, u4} k V₂ P₂ V₃ P₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (CoeTCₓ.coe.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u6) (succ u3) (succ u7) (succ u4)} (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u6, u3, u7, u4} k V₂ P₂ V₃ P₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (coeBase.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u6) (succ u3) (succ u7) (succ u4)} (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (AffineMap.{u1, u6, u3, u7, u4} k V₂ P₂ V₃ P₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (AffineEquiv.AffineMap.hasCoe.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10)))) e') ((fun (a : Sort.{max (succ u2) (succ u3) (succ u5) (succ u6)}) (b : Sort.{max (succ u5) (succ u2) (succ u6) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u5) (succ u2) (succ u6) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u5, u2, u6, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (HasLiftT.mk.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u5) (succ u2) (succ u6) (succ u3)} (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u5, u2, u6, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (CoeTCₓ.coe.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u5) (succ u2) (succ u6) (succ u3)} (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u5, u2, u6, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (coeBase.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u5) (succ u2) (succ u6) (succ u3)} (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineMap.{u1, u5, u2, u6, u3} k V₁ P₁ V₂ P₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.AffineMap.hasCoe.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) e))
+but is expected to have type
+ forall {k : Type.{u7}} {P₁ : Type.{u6}} {P₂ : Type.{u5}} {P₃ : Type.{u2}} {V₁ : Type.{u4}} {V₂ : Type.{u3}} {V₃ : Type.{u1}} [_inst_1 : Ring.{u7} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u7, u4} k V₁ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u6} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u7, u3} k V₂ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u1} V₃] [_inst_9 : Module.{u7, u1} k V₃ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₃ _inst_8)] [_inst_10 : AddTorsor.{u1, u2} V₃ P₃ (AddCommGroup.toAddGroup.{u1} V₃ _inst_8)] (e : AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10), Eq.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1)} (AffineMap.{u7, u4, u6, u1, u2} k V₁ P₁ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineEquiv.toAffineMap.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 (AffineEquiv.trans.{u7, u6, u5, u2, u4, u3, u1} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e')) (AffineMap.comp.{u7, u4, u6, u3, u5, u1, u2} k V₁ P₁ V₂ P₂ V₃ P₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 (AffineEquiv.toAffineMap.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e') (AffineEquiv.toAffineMap.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_trans_to_affine_map AffineEquiv.coe_trans_to_affineMapₓ'. -/
@[simp]
theorem coe_trans_to_affineMap (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) :
(e.trans e' : P₁ →ᵃ[k] P₃) = (e' : P₂ →ᵃ[k] P₃).comp e :=
rfl
#align affine_equiv.coe_trans_to_affine_map AffineEquiv.coe_trans_to_affineMap
+/- warning: affine_equiv.trans_apply -> AffineEquiv.trans_apply is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {P₃ : Type.{u4}} {V₁ : Type.{u5}} {V₂ : Type.{u6}} {V₃ : Type.{u7}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u5} V₁] [_inst_3 : Module.{u1, u5} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₁ _inst_2)] [_inst_4 : AddTorsor.{u5, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u5} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u6} V₂] [_inst_6 : Module.{u1, u6} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u6} V₂ _inst_5)] [_inst_7 : AddTorsor.{u6, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u6} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u7} V₃] [_inst_9 : Module.{u1, u7} k V₃ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u7} V₃ _inst_8)] [_inst_10 : AddTorsor.{u7, u4} V₃ P₃ (AddCommGroup.toAddGroup.{u7} V₃ _inst_8)] (e : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (p : P₁), Eq.{succ u4} P₃ (coeFn.{max (succ u2) (succ u4) (succ u5) (succ u7), max (succ u2) (succ u4)} (AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (fun (_x : AffineEquiv.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) => P₁ -> P₃) (AffineEquiv.hasCoeToFun.{u1, u2, u4, u5, u7} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) (AffineEquiv.trans.{u1, u2, u3, u4, u5, u6, u7} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e') p) (coeFn.{max (succ u3) (succ u4) (succ u6) (succ u7), max (succ u3) (succ u4)} (AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (fun (_x : AffineEquiv.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) => P₂ -> P₃) (AffineEquiv.hasCoeToFun.{u1, u3, u4, u6, u7} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) e' (coeFn.{max (succ u2) (succ u3) (succ u5) (succ u6), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u5, u6} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e p))
+but is expected to have type
+ forall {k : Type.{u7}} {P₁ : Type.{u6}} {P₂ : Type.{u5}} {P₃ : Type.{u2}} {V₁ : Type.{u4}} {V₂ : Type.{u3}} {V₃ : Type.{u1}} [_inst_1 : Ring.{u7} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u7, u4} k V₁ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u6} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u7, u3} k V₂ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u1} V₃] [_inst_9 : Module.{u7, u1} k V₃ (Ring.toSemiring.{u7} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₃ _inst_8)] [_inst_10 : AddTorsor.{u1, u2} V₃ P₃ (AddCommGroup.toAddGroup.{u1} V₃ _inst_8)] (e : AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e' : AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (p : P₁), Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₃) p) (FunLike.coe.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u2)) (succ u4)) (succ u1), succ u6, succ u2} (AffineEquiv.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10) P₁ P₃ (AffineEquiv.equivLike.{u7, u6, u2, u4, u1} k P₁ P₃ V₁ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10))) (AffineEquiv.trans.{u7, u6, u5, u2, u4, u3, u1} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e e') p) (FunLike.coe.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ (fun (_x : P₂) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₂) => P₃) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (EquivLike.toEmbeddingLike.{max (max (max (succ u5) (succ u2)) (succ u3)) (succ u1), succ u5, succ u2} (AffineEquiv.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) P₂ P₃ (AffineEquiv.equivLike.{u7, u5, u2, u3, u1} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10))) e' (FunLike.coe.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3), succ u6, succ u5} (AffineEquiv.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u7, u6, u5, u4, u3} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e p))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.trans_apply AffineEquiv.trans_applyₓ'. -/
@[simp]
theorem trans_apply (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) (p : P₁) : e.trans e' p = e' (e p) :=
rfl
@@ -360,6 +614,12 @@ theorem trans_apply (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) (p : P
include V₄
+/- warning: affine_equiv.trans_assoc -> AffineEquiv.trans_assoc is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {P₃ : Type.{u4}} {P₄ : Type.{u5}} {V₁ : Type.{u6}} {V₂ : Type.{u7}} {V₃ : Type.{u8}} {V₄ : Type.{u9}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u6} V₁] [_inst_3 : Module.{u1, u6} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u6} V₁ _inst_2)] [_inst_4 : AddTorsor.{u6, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u6} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u7} V₂] [_inst_6 : Module.{u1, u7} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u7} V₂ _inst_5)] [_inst_7 : AddTorsor.{u7, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u7} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u8} V₃] [_inst_9 : Module.{u1, u8} k V₃ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u8} V₃ _inst_8)] [_inst_10 : AddTorsor.{u8, u4} V₃ P₃ (AddCommGroup.toAddGroup.{u8} V₃ _inst_8)] [_inst_11 : AddCommGroup.{u9} V₄] [_inst_12 : Module.{u1, u9} k V₄ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u9} V₄ _inst_11)] [_inst_13 : AddTorsor.{u9, u5} V₄ P₄ (AddCommGroup.toAddGroup.{u9} V₄ _inst_11)] (e₁ : AffineEquiv.{u1, u2, u3, u6, u7} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e₂ : AffineEquiv.{u1, u3, u4, u7, u8} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (e₃ : AffineEquiv.{u1, u4, u5, u8, u9} k P₃ P₄ V₃ V₄ _inst_1 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13), Eq.{max (succ u2) (succ u5) (succ u6) (succ u9)} (AffineEquiv.{u1, u2, u5, u6, u9} k P₁ P₄ V₁ V₄ _inst_1 _inst_2 _inst_3 _inst_4 _inst_11 _inst_12 _inst_13) (AffineEquiv.trans.{u1, u2, u4, u5, u6, u8, u9} k P₁ P₃ P₄ V₁ V₃ V₄ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 (AffineEquiv.trans.{u1, u2, u3, u4, u6, u7, u8} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e₁ e₂) e₃) (AffineEquiv.trans.{u1, u2, u3, u5, u6, u7, u9} k P₁ P₂ P₄ V₁ V₂ V₄ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_11 _inst_12 _inst_13 e₁ (AffineEquiv.trans.{u1, u3, u4, u5, u7, u8, u9} k P₂ P₃ P₄ V₂ V₃ V₄ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 e₂ e₃))
+but is expected to have type
+ forall {k : Type.{u9}} {P₁ : Type.{u8}} {P₂ : Type.{u7}} {P₃ : Type.{u4}} {P₄ : Type.{u2}} {V₁ : Type.{u6}} {V₂ : Type.{u5}} {V₃ : Type.{u3}} {V₄ : Type.{u1}} [_inst_1 : Ring.{u9} k] [_inst_2 : AddCommGroup.{u6} V₁] [_inst_3 : Module.{u9, u6} k V₁ (Ring.toSemiring.{u9} k _inst_1) (AddCommGroup.toAddCommMonoid.{u6} V₁ _inst_2)] [_inst_4 : AddTorsor.{u6, u8} V₁ P₁ (AddCommGroup.toAddGroup.{u6} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u9, u5} k V₂ (Ring.toSemiring.{u9} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u7} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] [_inst_8 : AddCommGroup.{u3} V₃] [_inst_9 : Module.{u9, u3} k V₃ (Ring.toSemiring.{u9} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₃ _inst_8)] [_inst_10 : AddTorsor.{u3, u4} V₃ P₃ (AddCommGroup.toAddGroup.{u3} V₃ _inst_8)] [_inst_11 : AddCommGroup.{u1} V₄] [_inst_12 : Module.{u9, u1} k V₄ (Ring.toSemiring.{u9} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₄ _inst_11)] [_inst_13 : AddTorsor.{u1, u2} V₄ P₄ (AddCommGroup.toAddGroup.{u1} V₄ _inst_11)] (e₁ : AffineEquiv.{u9, u8, u7, u6, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (e₂ : AffineEquiv.{u9, u7, u4, u5, u3} k P₂ P₃ V₂ V₃ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (e₃ : AffineEquiv.{u9, u4, u2, u3, u1} k P₃ P₄ V₃ V₄ _inst_1 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13), Eq.{max (max (max (succ u8) (succ u2)) (succ u6)) (succ u1)} (AffineEquiv.{u9, u8, u2, u6, u1} k P₁ P₄ V₁ V₄ _inst_1 _inst_2 _inst_3 _inst_4 _inst_11 _inst_12 _inst_13) (AffineEquiv.trans.{u9, u8, u4, u2, u6, u3, u1} k P₁ P₃ P₄ V₁ V₃ V₄ _inst_1 _inst_2 _inst_3 _inst_4 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 (AffineEquiv.trans.{u9, u8, u7, u4, u6, u5, u3} k P₁ P₂ P₃ V₁ V₂ V₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 e₁ e₂) e₃) (AffineEquiv.trans.{u9, u8, u7, u2, u6, u5, u1} k P₁ P₂ P₄ V₁ V₂ V₄ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_11 _inst_12 _inst_13 e₁ (AffineEquiv.trans.{u9, u7, u4, u2, u5, u3, u1} k P₂ P₃ P₄ V₂ V₃ V₄ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 e₂ e₃))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.trans_assoc AffineEquiv.trans_assocₓ'. -/
theorem trans_assoc (e₁ : P₁ ≃ᵃ[k] P₂) (e₂ : P₂ ≃ᵃ[k] P₃) (e₃ : P₃ ≃ᵃ[k] P₄) :
(e₁.trans e₂).trans e₃ = e₁.trans (e₂.trans e₃) :=
ext fun _ => rfl
@@ -367,26 +627,56 @@ theorem trans_assoc (e₁ : P₁ ≃ᵃ[k] P₂) (e₂ : P₂ ≃ᵃ[k] P₃) (e
omit V₃ V₄
+/- warning: affine_equiv.trans_refl -> AffineEquiv.trans_refl is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.trans.{u1, u2, u3, u3, u4, u5, u5} k P₁ P₂ P₂ V₁ V₂ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_5 _inst_6 _inst_7 e (AffineEquiv.refl.{u1, u3, u5} k P₂ V₂ _inst_1 _inst_5 _inst_6 _inst_7)) e
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.trans.{u5, u4, u3, u3, u2, u1, u1} k P₁ P₂ P₂ V₁ V₂ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_5 _inst_6 _inst_7 e (AffineEquiv.refl.{u5, u3, u1} k P₂ V₂ _inst_1 _inst_5 _inst_6 _inst_7)) e
+Case conversion may be inaccurate. Consider using '#align affine_equiv.trans_refl AffineEquiv.trans_reflₓ'. -/
@[simp]
theorem trans_refl (e : P₁ ≃ᵃ[k] P₂) : e.trans (refl k P₂) = e :=
ext fun _ => rfl
#align affine_equiv.trans_refl AffineEquiv.trans_refl
+/- warning: affine_equiv.refl_trans -> AffineEquiv.refl_trans is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u3) (succ u4) (succ u5)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.trans.{u1, u2, u2, u3, u4, u4, u5} k P₁ P₁ P₂ V₁ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.refl.{u1, u2, u4} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4) e) e
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (AffineEquiv.trans.{u5, u4, u4, u3, u2, u2, u1} k P₁ P₁ P₂ V₁ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.refl.{u5, u4, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4) e) e
+Case conversion may be inaccurate. Consider using '#align affine_equiv.refl_trans AffineEquiv.refl_transₓ'. -/
@[simp]
theorem refl_trans (e : P₁ ≃ᵃ[k] P₂) : (refl k P₁).trans e = e :=
ext fun _ => rfl
#align affine_equiv.refl_trans AffineEquiv.refl_trans
+/- warning: affine_equiv.self_trans_symm -> AffineEquiv.self_trans_symm is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u2) (succ u4)} (AffineEquiv.{u1, u2, u2, u4, u4} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.trans.{u1, u2, u3, u2, u4, u5, u4} k P₁ P₂ P₁ V₁ V₂ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 e (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (AffineEquiv.refl.{u1, u2, u4} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u4) (succ u2)} (AffineEquiv.{u5, u4, u4, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.trans.{u5, u4, u3, u4, u2, u1, u2} k P₁ P₂ P₁ V₁ V₂ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 e (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e)) (AffineEquiv.refl.{u5, u4, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.self_trans_symm AffineEquiv.self_trans_symmₓ'. -/
@[simp]
theorem self_trans_symm (e : P₁ ≃ᵃ[k] P₂) : e.trans e.symm = refl k P₁ :=
ext e.symm_apply_apply
#align affine_equiv.self_trans_symm AffineEquiv.self_trans_symm
+/- warning: affine_equiv.symm_trans_self -> AffineEquiv.symm_trans_self is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u3) (succ u5)} (AffineEquiv.{u1, u3, u3, u5, u5} k P₂ P₂ V₂ V₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_5 _inst_6 _inst_7) (AffineEquiv.trans.{u1, u3, u2, u3, u5, u4, u5} k P₂ P₁ P₂ V₂ V₁ V₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.symm.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) e) (AffineEquiv.refl.{u1, u3, u5} k P₂ V₂ _inst_1 _inst_5 _inst_6 _inst_7)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Eq.{max (succ u3) (succ u1)} (AffineEquiv.{u5, u3, u3, u1, u1} k P₂ P₂ V₂ V₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_5 _inst_6 _inst_7) (AffineEquiv.trans.{u5, u3, u4, u3, u1, u2, u1} k P₂ P₁ P₂ V₂ V₁ V₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 (AffineEquiv.symm.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 e) e) (AffineEquiv.refl.{u5, u3, u1} k P₂ V₂ _inst_1 _inst_5 _inst_6 _inst_7)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.symm_trans_self AffineEquiv.symm_trans_selfₓ'. -/
@[simp]
theorem symm_trans_self (e : P₁ ≃ᵃ[k] P₂) : e.symm.trans e = refl k P₂ :=
ext e.apply_symm_apply
#align affine_equiv.symm_trans_self AffineEquiv.symm_trans_self
+/- warning: affine_equiv.apply_line_map -> AffineEquiv.apply_lineMap is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {P₂ : Type.{u3}} {V₁ : Type.{u4}} {V₂ : Type.{u5}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u4} V₁] [_inst_3 : Module.{u1, u4} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_2)] [_inst_4 : AddTorsor.{u4, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u5} V₂] [_inst_6 : Module.{u1, u5} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u5} V₂ _inst_5)] [_inst_7 : AddTorsor.{u5, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u5} V₂ _inst_5)] (e : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : P₁) (b : P₁) (c : k), Eq.{succ u3} P₂ (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e (coeFn.{max (succ u1) (succ u4) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u4, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u4, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (coeFn.{max (succ u1) (succ u5) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) => k -> P₂) (AffineMap.hasCoeToFun.{u1, u1, u1, u5, u3} k k k V₂ P₂ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_5 _inst_6 _inst_7) (AffineMap.lineMap.{u1, u5, u3} k V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e a) (coeFn.{max (succ u2) (succ u3) (succ u4) (succ u5), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P₁ -> P₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u4, u5} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) e b)) c)
+but is expected to have type
+ forall {k : Type.{u5}} {P₁ : Type.{u4}} {P₂ : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u5} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u5, u2} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u5, u1} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V₂ P₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5)] (e : AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (a : P₁) (b : P₁) (c : k), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) (FunLike.coe.{max (max (succ u5) (succ u2)) (succ u4), succ u5, succ u4} (AffineMap.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (a : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) a) (AffineMap.funLike.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u5, u2, u4} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e (FunLike.coe.{max (max (succ u5) (succ u2)) (succ u4), succ u5, succ u4} (AffineMap.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) _x) (AffineMap.funLike.{u5, u5, u5, u2, u4} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u5, u2, u4} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 a b) c)) (FunLike.coe.{max (max (succ u5) (succ u1)) (succ u3), succ u5, succ u3} (AffineMap.{u5, u5, u5, u1, u3} k k k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_5 _inst_6 _inst_7) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) _x) (AffineMap.funLike.{u5, u5, u5, u1, u3} k k k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) _inst_1 (Ring.toAddCommGroup.{u5} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u5} k _inst_1) (addGroupIsAddTorsor.{u5} k (AddGroupWithOne.toAddGroup.{u5} k (Ring.toAddGroupWithOne.{u5} k _inst_1))) _inst_5 _inst_6 _inst_7) (AffineMap.lineMap.{u5, u1, u3} k V₂ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) a) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e a) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₂) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P₁ P₂ (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} k P₁ P₂ V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) e b)) c)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.apply_line_map AffineEquiv.apply_lineMapₓ'. -/
@[simp]
theorem apply_lineMap (e : P₁ ≃ᵃ[k] P₂) (a b : P₁) (c : k) :
e (AffineMap.lineMap a b c) = AffineMap.lineMap (e a) (e b) c :=
@@ -404,28 +694,59 @@ instance : Group (P₁ ≃ᵃ[k] P₁) where
mul_one := refl_trans
mul_left_inv := self_trans_symm
+/- warning: affine_equiv.one_def -> AffineEquiv.one_def is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (OfNat.ofNat.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (OfNat.mk.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.one.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasOne.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))))) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
+but is expected to have type
+ forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (OfNat.ofNat.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.toOfNat1.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (InvOneClass.toOne.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvOneMonoid.toInvOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivisionMonoid.toDivInvOneMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivisionMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))))) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.one_def AffineEquiv.one_defₓ'. -/
theorem one_def : (1 : P₁ ≃ᵃ[k] P₁) = refl k P₁ :=
rfl
#align affine_equiv.one_def AffineEquiv.one_def
+/- warning: affine_equiv.coe_one -> AffineEquiv.coe_one is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{succ u2} (P₁ -> P₁) (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (OfNat.ofNat.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (OfNat.mk.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.one.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasOne.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))))))) (id.{succ u2} P₁)
+but is expected to have type
+ forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{succ u3} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (OfNat.ofNat.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) 1 (One.toOfNat1.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (InvOneClass.toOne.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvOneMonoid.toInvOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivisionMonoid.toDivInvOneMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivisionMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))))) (id.{succ u3} P₁)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_one AffineEquiv.coe_oneₓ'. -/
@[simp]
theorem coe_one : ⇑(1 : P₁ ≃ᵃ[k] P₁) = id :=
rfl
#align affine_equiv.coe_one AffineEquiv.coe_one
+/- warning: affine_equiv.mul_def -> AffineEquiv.mul_def is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (e : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (e' : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{succ (max u2 u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))) e e') (AffineEquiv.trans.{u1, u2, u2, u2, u3, u3, u3} k P₁ P₁ P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 e' e)
+but is expected to have type
+ forall {k : Type.{u3}} {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] (e : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (e' : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHMul.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toMul.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))) e e') (AffineEquiv.trans.{u3, u2, u2, u2, u1, u1, u1} k P₁ P₁ P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 e' e)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.mul_def AffineEquiv.mul_defₓ'. -/
theorem mul_def (e e' : P₁ ≃ᵃ[k] P₁) : e * e' = e'.trans e :=
rfl
#align affine_equiv.mul_def AffineEquiv.mul_def
+/- warning: affine_equiv.coe_mul -> AffineEquiv.coe_mul is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (e : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (e' : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{succ u2} (P₁ -> P₁) (coeFn.{succ (max u2 u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toHasMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))) e e')) (Function.comp.{succ u2, succ u2, succ u2} P₁ P₁ P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) e) (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) e'))
+but is expected to have type
+ forall {k : Type.{u3}} {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] (e : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (e' : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{succ u2} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHMul.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (MulOneClass.toMul.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))))) e e')) (Function.comp.{succ u2, succ u2, succ u2} P₁ P₁ P₁ (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) e) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) e'))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_mul AffineEquiv.coe_mulₓ'. -/
@[simp]
theorem coe_mul (e e' : P₁ ≃ᵃ[k] P₁) : ⇑(e * e') = e ∘ e' :=
rfl
#align affine_equiv.coe_mul AffineEquiv.coe_mul
+/- warning: affine_equiv.inv_def -> AffineEquiv.inv_def is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (e : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{succ (max u2 u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Inv.inv.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toHasInv.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))) e) (AffineEquiv.symm.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 e)
+but is expected to have type
+ forall {k : Type.{u3}} {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] (e : AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Inv.inv.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (InvOneClass.toInv.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvOneMonoid.toInvOneClass.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivisionMonoid.toDivInvOneMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivisionMonoid.{max u2 u1} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))) e) (AffineEquiv.symm.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 e)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.inv_def AffineEquiv.inv_defₓ'. -/
theorem inv_def (e : P₁ ≃ᵃ[k] P₁) : e⁻¹ = e.symm :=
rfl
#align affine_equiv.inv_def AffineEquiv.inv_def
+#print AffineEquiv.linearHom /-
/-- `affine_equiv.linear` on automorphisms is a `monoid_hom`. -/
@[simps]
def linearHom : (P₁ ≃ᵃ[k] P₁) →* V₁ ≃ₗ[k] V₁
@@ -434,7 +755,14 @@ def linearHom : (P₁ ≃ᵃ[k] P₁) →* V₁ ≃ₗ[k] V₁
map_one' := rfl
map_mul' _ _ := rfl
#align affine_equiv.linear_hom AffineEquiv.linearHom
+-/
+/- warning: affine_equiv.equiv_units_affine_map -> AffineEquiv.equivUnitsAffineMap is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], MulEquiv.{max u2 u3, max u3 u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Units.{max u3 u2} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.monoid.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)) (MulOneClass.toHasMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))) (MulOneClass.toHasMul.{max u3 u2} (Units.{max u3 u2} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.monoid.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)) (Units.mulOneClass.{max u3 u2} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.monoid.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)))
+but is expected to have type
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], MulEquiv.{max u3 u2, max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Units.{max u2 u3} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.instMonoidAffineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)) (MulOneClass.toMul.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))) (MulOneClass.toMul.{max u2 u3} (Units.{max u2 u3} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.instMonoidAffineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)) (Units.instMulOneClassUnits.{max u2 u3} (AffineMap.{u1, u3, u2, u3, u2} k V₁ P₁ V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineMap.instMonoidAffineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4)))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.equiv_units_affine_map AffineEquiv.equivUnitsAffineMapₓ'. -/
/-- The group of `affine_equiv`s are equivalent to the group of units of `affine_map`.
This is the affine version of `linear_map.general_linear_group.general_linear_equiv`. -/
@@ -457,6 +785,7 @@ def equivUnitsAffineMap : (P₁ ≃ᵃ[k] P₁) ≃* (P₁ →ᵃ[k] P₁)ˣ
variable (k)
+#print AffineEquiv.vaddConst /-
/-- The map `v ↦ v +ᵥ b` as an affine equivalence between a module `V` and an affine space `P` with
tangent space `V`. -/
@[simps]
@@ -466,71 +795,120 @@ def vaddConst (b : P₁) : V₁ ≃ᵃ[k] P₁
linear := LinearEquiv.refl _ _
map_vadd' p v := add_vadd _ _ _
#align affine_equiv.vadd_const AffineEquiv.vaddConst
+-/
+#print AffineEquiv.constVSub /-
/-- `p' ↦ p -ᵥ p'` as an equivalence. -/
-def constVsub (p : P₁) : P₁ ≃ᵃ[k] V₁
+def constVSub (p : P₁) : P₁ ≃ᵃ[k] V₁
where
toEquiv := Equiv.constVSub p
linear := LinearEquiv.neg k
map_vadd' p' v := by simp [vsub_vadd_eq_vsub_sub, neg_add_eq_sub]
-#align affine_equiv.const_vsub AffineEquiv.constVsub
+#align affine_equiv.const_vsub AffineEquiv.constVSub
+-/
+/- warning: affine_equiv.coe_const_vsub -> AffineEquiv.coe_constVSub is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (p : P₁), Eq.{max (succ u2) (succ u3)} (P₁ -> V₁) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u3, u3} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (fun (_x : AffineEquiv.{u1, u2, u3, u3, u3} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) => P₁ -> V₁) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u3, u3} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AffineEquiv.constVSub.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p)) (VSub.vsub.{u3, u2} V₁ P₁ (AddTorsor.toHasVsub.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4) p)
+but is expected to have type
+ forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (p : P₁), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : P₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => V₁) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineEquiv.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => V₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u2} (AffineEquiv.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) P₁ V₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u2} (AffineEquiv.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) P₁ V₁ (AffineEquiv.equivLike.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))))) (AffineEquiv.constVSub.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p)) ((fun (x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6944 : P₁) (x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6946 : P₁) => VSub.vsub.{u2, u3} V₁ P₁ (AddTorsor.toVSub.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6944 x._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.6946) p)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_const_vsub AffineEquiv.coe_constVSubₓ'. -/
@[simp]
-theorem coe_constVsub (p : P₁) : ⇑(constVsub k p) = (· -ᵥ ·) p :=
+theorem coe_constVSub (p : P₁) : ⇑(constVSub k p) = (· -ᵥ ·) p :=
rfl
-#align affine_equiv.coe_const_vsub AffineEquiv.coe_constVsub
-
+#align affine_equiv.coe_const_vsub AffineEquiv.coe_constVSub
+
+/- warning: affine_equiv.coe_const_vsub_symm -> AffineEquiv.coe_constVSub_symm is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (p : P₁), Eq.{max (succ u3) (succ u2)} (V₁ -> P₁) (coeFn.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u2, u3, u3} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u2, u3, u3} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) => V₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u3, u2, u3, u3} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u3, u3, u3} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) (AffineEquiv.constVSub.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p))) (fun (v : V₁) => VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) (Neg.neg.{u3} V₁ (SubNegMonoid.toHasNeg.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) v) p)
+but is expected to have type
+ forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (p : P₁), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : V₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : V₁) => P₁) ᾰ) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (AffineEquiv.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) V₁ (fun (_x : V₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : V₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u3), succ u2, succ u3} (AffineEquiv.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) V₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u3), succ u2, succ u3} (AffineEquiv.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4) V₁ P₁ (AffineEquiv.equivLike.{u1, u2, u3, u2, u2} k V₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_2 _inst_3 _inst_4))) (AffineEquiv.symm.{u1, u3, u2, u2, u2} k P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) (AffineEquiv.constVSub.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 p))) (fun (v : V₁) => HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) (Neg.neg.{u2} V₁ (NegZeroClass.toNeg.{u2} V₁ (SubNegZeroMonoid.toNegZeroClass.{u2} V₁ (SubtractionMonoid.toSubNegZeroMonoid.{u2} V₁ (SubtractionCommMonoid.toSubtractionMonoid.{u2} V₁ (AddCommGroup.toDivisionAddCommMonoid.{u2} V₁ _inst_2))))) v) p)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_const_vsub_symm AffineEquiv.coe_constVSub_symmₓ'. -/
@[simp]
-theorem coe_constVsub_symm (p : P₁) : ⇑(constVsub k p).symm = fun v => -v +ᵥ p :=
+theorem coe_constVSub_symm (p : P₁) : ⇑(constVSub k p).symm = fun v => -v +ᵥ p :=
rfl
-#align affine_equiv.coe_const_vsub_symm AffineEquiv.coe_constVsub_symm
+#align affine_equiv.coe_const_vsub_symm AffineEquiv.coe_constVSub_symm
variable (P₁)
+#print AffineEquiv.constVAdd /-
/-- The map `p ↦ v +ᵥ p` as an affine automorphism of an affine space.
Note that there is no need for an `affine_map.const_vadd` as it is always an equivalence.
This is roughly to `distrib_mul_action.to_linear_equiv` as `+ᵥ` is to `•`. -/
@[simps apply linear]
-def constVadd (v : V₁) : P₁ ≃ᵃ[k] P₁
+def constVAdd (v : V₁) : P₁ ≃ᵃ[k] P₁
where
toEquiv := Equiv.constVAdd P₁ v
linear := LinearEquiv.refl _ _
map_vadd' p w := vadd_comm _ _ _
-#align affine_equiv.const_vadd AffineEquiv.constVadd
+#align affine_equiv.const_vadd AffineEquiv.constVAdd
+-/
+/- warning: affine_equiv.const_vadd_zero -> AffineEquiv.constVAdd_zero is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{u3} V₁ 0 (OfNat.mk.{u3} V₁ 0 (Zero.zero.{u3} V₁ (AddZeroClass.toHasZero.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))))) (AffineEquiv.refl.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
+but is expected to have type
+ forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)], Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{u2} V₁ 0 (Zero.toOfNat0.{u2} V₁ (NegZeroClass.toZero.{u2} V₁ (SubNegZeroMonoid.toNegZeroClass.{u2} V₁ (SubtractionMonoid.toSubNegZeroMonoid.{u2} V₁ (SubtractionCommMonoid.toSubtractionMonoid.{u2} V₁ (AddCommGroup.toDivisionAddCommMonoid.{u2} V₁ _inst_2)))))))) (AffineEquiv.refl.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.const_vadd_zero AffineEquiv.constVAdd_zeroₓ'. -/
@[simp]
-theorem constVadd_zero : constVadd k P₁ 0 = AffineEquiv.refl _ _ :=
+theorem constVAdd_zero : constVAdd k P₁ 0 = AffineEquiv.refl _ _ :=
ext <| zero_vadd _
-#align affine_equiv.const_vadd_zero AffineEquiv.constVadd_zero
-
+#align affine_equiv.const_vadd_zero AffineEquiv.constVAdd_zero
+
+/- warning: affine_equiv.const_vadd_add -> AffineEquiv.constVAdd_add is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁) (w : V₁), Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (HAdd.hAdd.{u3, u3, u3} V₁ V₁ V₁ (instHAdd.{u3} V₁ (AddZeroClass.toHasAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)))))) v w)) (AffineEquiv.trans.{u1, u2, u2, u2, u3, u3, u3} k P₁ P₁ P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 w) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v))
+but is expected to have type
+ forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁) (w : V₁), Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (HAdd.hAdd.{u2, u2, u2} V₁ V₁ V₁ (instHAdd.{u2} V₁ (AddZeroClass.toAdd.{u2} V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)))))) v w)) (AffineEquiv.trans.{u1, u3, u3, u3, u2, u2, u2} k P₁ P₁ P₁ V₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 w) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.const_vadd_add AffineEquiv.constVAdd_addₓ'. -/
@[simp]
-theorem constVadd_add (v w : V₁) :
- constVadd k P₁ (v + w) = (constVadd k P₁ w).trans (constVadd k P₁ v) :=
+theorem constVAdd_add (v w : V₁) :
+ constVAdd k P₁ (v + w) = (constVAdd k P₁ w).trans (constVAdd k P₁ v) :=
ext <| add_vadd _ _
-#align affine_equiv.const_vadd_add AffineEquiv.constVadd_add
-
+#align affine_equiv.const_vadd_add AffineEquiv.constVAdd_add
+
+/- warning: affine_equiv.const_vadd_symm -> AffineEquiv.constVAdd_symm is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁), Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v)) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (Neg.neg.{u3} V₁ (SubNegMonoid.toHasNeg.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) v))
+but is expected to have type
+ forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁), Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v)) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (Neg.neg.{u2} V₁ (NegZeroClass.toNeg.{u2} V₁ (SubNegZeroMonoid.toNegZeroClass.{u2} V₁ (SubtractionMonoid.toSubNegZeroMonoid.{u2} V₁ (SubtractionCommMonoid.toSubtractionMonoid.{u2} V₁ (AddCommGroup.toDivisionAddCommMonoid.{u2} V₁ _inst_2))))) v))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.const_vadd_symm AffineEquiv.constVAdd_symmₓ'. -/
@[simp]
-theorem constVadd_symm (v : V₁) : (constVadd k P₁ v).symm = constVadd k P₁ (-v) :=
+theorem constVAdd_symm (v : V₁) : (constVAdd k P₁ v).symm = constVAdd k P₁ (-v) :=
ext fun _ => rfl
-#align affine_equiv.const_vadd_symm AffineEquiv.constVadd_symm
+#align affine_equiv.const_vadd_symm AffineEquiv.constVAdd_symm
+#print AffineEquiv.constVAddHom /-
/-- A more bundled version of `affine_equiv.const_vadd`. -/
@[simps]
-def constVaddHom : Multiplicative V₁ →* P₁ ≃ᵃ[k] P₁
+def constVAddHom : Multiplicative V₁ →* P₁ ≃ᵃ[k] P₁
where
- toFun v := constVadd k P₁ v.toAdd
- map_one' := constVadd_zero _ _
- map_mul' := constVadd_add _ _
-#align affine_equiv.const_vadd_hom AffineEquiv.constVaddHom
-
-theorem constVadd_nsmul (n : ℕ) (v : V₁) : constVadd k P₁ (n • v) = constVadd k P₁ v ^ n :=
- (constVaddHom k P₁).map_pow _ _
-#align affine_equiv.const_vadd_nsmul AffineEquiv.constVadd_nsmul
+ toFun v := constVAdd k P₁ v.toAdd
+ map_one' := constVAdd_zero _ _
+ map_mul' := constVAdd_add _ _
+#align affine_equiv.const_vadd_hom AffineEquiv.constVAddHom
+-/
-theorem constVadd_zsmul (z : ℤ) (v : V₁) : constVadd k P₁ (z • v) = constVadd k P₁ v ^ z :=
- (constVaddHom k P₁).map_zpow _ _
-#align affine_equiv.const_vadd_zsmul AffineEquiv.constVadd_zsmul
+/- warning: affine_equiv.const_vadd_nsmul -> AffineEquiv.constVAdd_nsmul is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (n : Nat) (v : V₁), Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (SMul.smul.{0, u3} Nat V₁ (AddMonoid.SMul.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)))) n v)) (HPow.hPow.{max u2 u3, 0, max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Nat (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHPow.{max u2 u3, 0} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Nat (Monoid.Pow.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v) n)
+but is expected to have type
+ forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (n : Nat) (v : V₁), Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (HSMul.hSMul.{0, u2, u2} Nat V₁ V₁ (instHSMul.{0, u2} Nat V₁ (AddMonoid.SMul.{u2} V₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))))) n v)) (HPow.hPow.{max u3 u2, 0, max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Nat (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHPow.{max u3 u2, 0} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Nat (Monoid.Pow.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4))))) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v) n)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.const_vadd_nsmul AffineEquiv.constVAdd_nsmulₓ'. -/
+theorem constVAdd_nsmul (n : ℕ) (v : V₁) : constVAdd k P₁ (n • v) = constVAdd k P₁ v ^ n :=
+ (constVAddHom k P₁).map_pow _ _
+#align affine_equiv.const_vadd_nsmul AffineEquiv.constVAdd_nsmul
+
+/- warning: affine_equiv.const_vadd_zsmul -> AffineEquiv.constVAdd_zsmul is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) (P₁ : Type.{u2}) {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (z : Int) (v : V₁), Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (SMul.smul.{0, u3} Int V₁ (SubNegMonoid.SMulInt.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) z v)) (HPow.hPow.{max u2 u3, 0, max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Int (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHPow.{max u2 u3, 0} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Int (DivInvMonoid.Pow.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))) (AffineEquiv.constVAdd.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v) z)
+but is expected to have type
+ forall (k : Type.{u1}) (P₁ : Type.{u3}) {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (z : Int) (v : V₁), Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 (HSMul.hSMul.{0, u2, u2} Int V₁ V₁ (instHSMul.{0, u2} Int V₁ (SubNegMonoid.SMulInt.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)))) z v)) (HPow.hPow.{max u3 u2, 0, max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Int (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (instHPow.{max u3 u2, 0} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) Int (DivInvMonoid.Pow.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.group.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4)))) (AffineEquiv.constVAdd.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 v) z)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.const_vadd_zsmul AffineEquiv.constVAdd_zsmulₓ'. -/
+theorem constVAdd_zsmul (z : ℤ) (v : V₁) : constVAdd k P₁ (z • v) = constVAdd k P₁ v ^ z :=
+ (constVAddHom k P₁).map_zpow _ _
+#align affine_equiv.const_vadd_zsmul AffineEquiv.constVAdd_zsmul
section Homothety
@@ -540,24 +918,48 @@ variable {R V P : Type _} [CommRing R] [AddCommGroup V] [Module R V] [affine_spa
include V
+/- warning: affine_equiv.homothety_units_mul_hom -> AffineEquiv.homothetyUnitsMulHom is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)], P -> (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17)))))
+but is expected to have type
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)], P -> (MonoidHom.{u1, max u2 u3} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17)))))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.homothety_units_mul_hom AffineEquiv.homothetyUnitsMulHomₓ'. -/
/-- Fixing a point in affine space, homothety about this point gives a group homomorphism from (the
centre of) the units of the scalars into the group of affine equivalences. -/
def homothetyUnitsMulHom (p : P) : Rˣ →* P ≃ᵃ[R] P :=
equivUnitsAffineMap.symm.toMonoidHom.comp <| Units.map (AffineMap.homothetyHom p)
#align affine_equiv.homothety_units_mul_hom AffineEquiv.homothetyUnitsMulHom
+/- warning: affine_equiv.coe_homothety_units_mul_hom_apply -> AffineEquiv.coe_homothetyUnitsMulHom_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P) (t : Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))), Eq.{succ u3} ((fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14)))))) t)))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))) t)))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply AffineEquiv.coe_homothetyUnitsMulHom_applyₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply (p : P) (t : Rˣ) :
(homothetyUnitsMulHom p t : P → P) = AffineMap.homothety p (t : R) :=
rfl
#align affine_equiv.coe_homothety_units_mul_hom_apply AffineEquiv.coe_homothetyUnitsMulHom_apply
+/- warning: affine_equiv.coe_homothety_units_mul_hom_apply_symm -> AffineEquiv.coe_homothetyUnitsMulHom_apply_symm is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P) (t : Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))), Eq.{succ u3} ((fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.symm.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.symm.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) t))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u1}} {P : Type.{u2}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u1} V] [_inst_16 : Module.{u3, u1} R V (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_15)] [_inst_17 : AddTorsor.{u1, u2} V P (AddCommGroup.toAddGroup.{u1} V _inst_15)] (p : P) (t : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))), Eq.{succ u2} (forall (a : P), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P P (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))) (AffineEquiv.symm.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u3, max (succ u1) (succ u2)} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u1 u2) u3, u3, max u1 u2} (MonoidHom.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u1 u2} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u1 u2} (AffineEquiv.{u3, u2, u2, u1, u1} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u2, u1} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_16 _inst_17 p) t))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u2} (AffineMap.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u1, u2, u1, u2} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.homothety.{u3, u1, u2} R V P _inst_14 _inst_15 _inst_17 _inst_16 p (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))) (Inv.inv.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Units.instInvUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) t))))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_apply_symm AffineEquiv.coe_homothetyUnitsMulHom_apply_symmₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_apply_symm (p : P) (t : Rˣ) :
((homothetyUnitsMulHom p t).symm : P → P) = AffineMap.homothety p (↑t⁻¹ : R) :=
rfl
#align affine_equiv.coe_homothety_units_mul_hom_apply_symm AffineEquiv.coe_homothetyUnitsMulHom_apply_symm
+/- warning: affine_equiv.coe_homothety_units_mul_hom_eq_homothety_hom_coe -> AffineEquiv.coe_homothetyUnitsMulHom_eq_homothetyHom_coe is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_14 : CommRing.{u1} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P), Eq.{max (succ u1) (succ u2) (succ u3)} ((Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (Function.comp.{succ u1, max (succ u3) (succ u2), max (succ u2) (succ u3)} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) ((fun (a : Sort.{max (succ u3) (succ u2)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u3) (succ u2), max (succ u2) (succ u3)} a b] => self.0) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (HasLiftT.mk.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (CoeTCₓ.coe.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeBase.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.AffineMap.hasCoe.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17))))) (coeFn.{max (succ (max u3 u2)) (succ u1), max (succ u1) (succ (max u3 u2))} (MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (fun (_x : MonoidHom.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) -> (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u3 u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) (Monoid.toMulOneClass.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u3 u2} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u1, u3, u2} R P V (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineEquiv.homothetyUnitsMulHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_16 _inst_17 p))) (Function.comp.{succ u1, succ u1, max (succ u2) (succ u3)} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (coeFn.{max (succ (max u2 u3)) (succ u1), max (succ u1) (succ (max u2 u3))} (MonoidHom.{u1, max u2 u3} R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.monoid.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))) (fun (_x : MonoidHom.{u1, max u2 u3} R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.monoid.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))) => R -> (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (MonoidHom.hasCoeToFun.{u1, max u2 u3} R (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.monoid.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_14) _inst_15 _inst_16 _inst_17))) (AffineMap.homothetyHom.{u1, u2, u3} R V P _inst_14 _inst_15 _inst_17 _inst_16 p)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_14))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_14 : CommRing.{u3} R] [_inst_15 : AddCommGroup.{u2} V] [_inst_16 : Module.{u3, u2} R V (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_15)] [_inst_17 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_15)] (p : P), Eq.{max (max (succ u3) (succ u2)) (succ u1)} ((Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) -> (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17)) (Function.comp.{succ u3, max (succ u2) (succ u1), max (succ u2) (succ u1)} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.toAffineMap.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (fun (_x : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) => AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)))) (MonoidHom.monoidHomClass.{u3, max u2 u1} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (DivInvMonoid.toMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Group.toDivInvMonoid.{max u2 u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineEquiv.group.{u3, u1, u2} R P V (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))))) (AffineEquiv.homothetyUnitsMulHom.{u3, u2, u1} R V P _inst_14 _inst_15 _inst_16 _inst_17 p))) (Function.comp.{succ u3, succ u3, max (succ u2) (succ u1)} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulOneClass.toMul.{u3} R (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14)))))) (MulOneClass.toMul.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, u3, max u2 u1} (MonoidHom.{u3, max u1 u2} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))) R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17)) (MonoidHom.monoidHomClass.{u3, max u2 u1} R (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))) (Monoid.toMulOneClass.{max u2 u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17 _inst_15 _inst_16 _inst_17) (AffineMap.instMonoidAffineMap.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_14) _inst_15 _inst_16 _inst_17))))) (AffineMap.homothetyHom.{u3, u2, u1} R V P _inst_14 _inst_15 _inst_17 _inst_16 p)) (Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_14))))))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.coe_homothety_units_mul_hom_eq_homothety_hom_coe AffineEquiv.coe_homothetyUnitsMulHom_eq_homothetyHom_coeₓ'. -/
@[simp]
theorem coe_homothetyUnitsMulHom_eq_homothetyHom_coe (p : P) :
(coe : (P ≃ᵃ[R] P) → P →ᵃ[R] P) ∘ homothetyUnitsMulHom p =
@@ -571,35 +973,73 @@ variable {P₁}
open Function
+#print AffineEquiv.pointReflection /-
/-- Point reflection in `x` as a permutation. -/
def pointReflection (x : P₁) : P₁ ≃ᵃ[k] P₁ :=
- (constVsub k x).trans (vaddConst k x)
+ (constVSub k x).trans (vaddConst k x)
#align affine_equiv.point_reflection AffineEquiv.pointReflection
+-/
+/- warning: affine_equiv.point_reflection_apply -> AffineEquiv.pointReflection_apply is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁) (y : P₁), Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) (VSub.vsub.{u3, u2} V₁ P₁ (AddTorsor.toHasVsub.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4) x y) x)
+but is expected to have type
+ forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁) (y : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) y) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) (VSub.vsub.{u2, u3} V₁ P₁ (AddTorsor.toVSub.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4) x y) x)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_apply AffineEquiv.pointReflection_applyₓ'. -/
theorem pointReflection_apply (x y : P₁) : pointReflection k x y = x -ᵥ y +ᵥ x :=
rfl
#align affine_equiv.point_reflection_apply AffineEquiv.pointReflection_apply
+/- warning: affine_equiv.point_reflection_symm -> AffineEquiv.pointReflection_symm is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Eq.{max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x)) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x)
+but is expected to have type
+ forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Eq.{max (succ u3) (succ u2)} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.symm.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x)) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_symm AffineEquiv.pointReflection_symmₓ'. -/
@[simp]
theorem pointReflection_symm (x : P₁) : (pointReflection k x).symm = pointReflection k x :=
toEquiv_injective <| Equiv.pointReflection_symm x
#align affine_equiv.point_reflection_symm AffineEquiv.pointReflection_symm
+/- warning: affine_equiv.to_equiv_point_reflection -> AffineEquiv.toEquiv_pointReflection is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Eq.{succ u2} (Equiv.{succ u2, succ u2} P₁ P₁) (AffineEquiv.toEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x)) (Equiv.pointReflection.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4 x)
+but is expected to have type
+ forall (k : Type.{u2}) {P₁ : Type.{u3}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u2} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u2, u1} k V₁ (Ring.toSemiring.{u2} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] (x : P₁), Eq.{succ u3} (Equiv.{succ u3, succ u3} P₁ P₁) (AffineEquiv.toEquiv.{u2, u3, u3, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4 (AffineEquiv.pointReflection.{u2, u3, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x)) (Equiv.pointReflection.{u1, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2) _inst_4 x)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.to_equiv_point_reflection AffineEquiv.toEquiv_pointReflectionₓ'. -/
@[simp]
theorem toEquiv_pointReflection (x : P₁) :
(pointReflection k x).toEquiv = Equiv.pointReflection x :=
rfl
#align affine_equiv.to_equiv_point_reflection AffineEquiv.toEquiv_pointReflection
+/- warning: affine_equiv.point_reflection_self -> AffineEquiv.pointReflection_self is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) x) x
+but is expected to have type
+ forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) x) x
+Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_self AffineEquiv.pointReflection_selfₓ'. -/
@[simp]
theorem pointReflection_self (x : P₁) : pointReflection k x x = x :=
vsub_vadd _ _
#align affine_equiv.point_reflection_self AffineEquiv.pointReflection_self
+/- warning: affine_equiv.point_reflection_involutive -> AffineEquiv.pointReflection_involutive is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (x : P₁), Function.Involutive.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x))
+but is expected to have type
+ forall (k : Type.{u1}) {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (x : P₁), Function.Involutive.{succ u3} P₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_involutive AffineEquiv.pointReflection_involutiveₓ'. -/
theorem pointReflection_involutive (x : P₁) : Involutive (pointReflection k x : P₁ → P₁) :=
Equiv.pointReflection_involutive x
#align affine_equiv.point_reflection_involutive AffineEquiv.pointReflection_involutive
+/- warning: affine_equiv.point_reflection_fixed_iff_of_injective_bit0 -> AffineEquiv.pointReflection_fixed_iff_of_injective_bit0 is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] {x : P₁} {y : P₁}, (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toHasAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (Iff (Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x))
+but is expected to have type
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] {x : P₁} {y : P₁}, (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (Iff (Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) y) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_fixed_iff_of_injective_bit0 AffineEquiv.pointReflection_fixed_iff_of_injective_bit0ₓ'. -/
/-- `x` is the only fixed point of `point_reflection x`. This lemma requires
`x + x = y + y ↔ x = y`. There is no typeclass to use here, so we add it as an explicit argument. -/
theorem pointReflection_fixed_iff_of_injective_bit0 {x y : P₁} (h : Injective (bit0 : V₁ → V₁)) :
@@ -607,11 +1047,23 @@ theorem pointReflection_fixed_iff_of_injective_bit0 {x y : P₁} (h : Injective
Equiv.pointReflection_fixed_iff_of_injective_bit0 h
#align affine_equiv.point_reflection_fixed_iff_of_injective_bit0 AffineEquiv.pointReflection_fixed_iff_of_injective_bit0
+/- warning: affine_equiv.injective_point_reflection_left_of_injective_bit0 -> AffineEquiv.injective_pointReflection_left_of_injective_bit0 is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toHasAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (forall (y : P₁), Function.Injective.{succ u2, succ u2} P₁ P₁ (fun (x : P₁) => coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y))
+but is expected to have type
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)], (Function.Injective.{succ u3, succ u3} V₁ V₁ (bit0.{u3} V₁ (AddZeroClass.toAdd.{u3} V₁ (AddMonoid.toAddZeroClass.{u3} V₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))))))) -> (forall (y : P₁), Function.Injective.{succ u2, succ u2} P₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) y) (fun (x : P₁) => FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u3), succ u2, succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y))
+Case conversion may be inaccurate. Consider using '#align affine_equiv.injective_point_reflection_left_of_injective_bit0 AffineEquiv.injective_pointReflection_left_of_injective_bit0ₓ'. -/
theorem injective_pointReflection_left_of_injective_bit0 (h : Injective (bit0 : V₁ → V₁)) (y : P₁) :
Injective fun x : P₁ => pointReflection k x y :=
Equiv.injective_pointReflection_left_of_injective_bit0 h y
#align affine_equiv.injective_point_reflection_left_of_injective_bit0 AffineEquiv.injective_pointReflection_left_of_injective_bit0
+/- warning: affine_equiv.injective_point_reflection_left_of_module -> AffineEquiv.injective_pointReflection_left_of_module is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_14 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 2 (OfNat.mk.{u1} k 2 (bit0.{u1} k (Distrib.toHasAdd.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))))))))] (y : P₁), Function.Injective.{succ u2, succ u2} P₁ P₁ (fun (x : P₁) => coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y)
+but is expected to have type
+ forall (k : Type.{u3}) {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] [_inst_14 : Invertible.{u3} k (NonUnitalNonAssocRing.toMul.{u3} k (NonUnitalRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonUnitalRing.{u3} k _inst_1))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] (y : P₁), Function.Injective.{succ u2, succ u2} P₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) y) (fun (x : P₁) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.injective_point_reflection_left_of_module AffineEquiv.injective_pointReflection_left_of_moduleₓ'. -/
theorem injective_pointReflection_left_of_module [Invertible (2 : k)] :
∀ y, Injective fun x : P₁ => pointReflection k x y :=
injective_pointReflection_left_of_injective_bit0 k fun x y h => by
@@ -619,6 +1071,12 @@ theorem injective_pointReflection_left_of_module [Invertible (2 : k)] :
(isUnit_of_invertible (2 : k)).smul_left_cancel] at h
#align affine_equiv.injective_point_reflection_left_of_module AffineEquiv.injective_pointReflection_left_of_module
+/- warning: affine_equiv.point_reflection_fixed_iff_of_module -> AffineEquiv.pointReflection_fixed_iff_of_module is a dubious translation:
+lean 3 declaration is
+ forall (k : Type.{u1}) {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] [_inst_14 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 2 (OfNat.mk.{u1} k 2 (bit0.{u1} k (Distrib.toHasAdd.{u1} k (Ring.toDistrib.{u1} k _inst_1)) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))))))))] {x : P₁} {y : P₁}, Iff (Eq.{succ u2} P₁ (coeFn.{max (succ u2) (succ u3), succ u2} (AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u1, u2, u2, u3, u3} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u2, u3} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x)
+but is expected to have type
+ forall (k : Type.{u3}) {P₁ : Type.{u2}} {V₁ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u1} V₁] [_inst_3 : Module.{u3, u1} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₁ _inst_2)] [_inst_4 : AddTorsor.{u1, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u1} V₁ _inst_2)] [_inst_14 : Invertible.{u3} k (NonUnitalNonAssocRing.toMul.{u3} k (NonUnitalRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonUnitalRing.{u3} k _inst_1))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] {x : P₁} {y : P₁}, Iff (Eq.{succ u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) y) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u2} (AffineEquiv.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u3, u2, u2, u1, u1} k P₁ P₁ V₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u3, u2, u1} k P₁ V₁ _inst_1 _inst_2 _inst_3 _inst_4 x) y) y) (Eq.{succ u2} P₁ y x)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.point_reflection_fixed_iff_of_module AffineEquiv.pointReflection_fixed_iff_of_moduleₓ'. -/
theorem pointReflection_fixed_iff_of_module [Invertible (2 : k)] {x y : P₁} :
pointReflection k x y = y ↔ y = x :=
((injective_pointReflection_left_of_module k y).eq_iff' (pointReflection_self k y)).trans eq_comm
@@ -628,6 +1086,7 @@ end AffineEquiv
namespace LinearEquiv
+#print LinearEquiv.toAffineEquiv /-
/-- Interpret a linear equivalence between modules as an affine equivalence. -/
def toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : V₁ ≃ᵃ[k] V₂
where
@@ -635,7 +1094,14 @@ def toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : V₁ ≃ᵃ[k] V₂
linear := e
map_vadd' p v := e.map_add v p
#align linear_equiv.to_affine_equiv LinearEquiv.toAffineEquiv
+-/
+/- warning: linear_equiv.coe_to_affine_equiv -> LinearEquiv.coe_toAffineEquiv is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {V₁ : Type.{u2}} {V₂ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u3} V₂] [_inst_6 : Module.{u1, u3} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5)] (e : LinearEquiv.{u1, u1, u2, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6), Eq.{max (succ u2) (succ u3)} (V₁ -> V₂) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineEquiv.{u1, u2, u3, u2, u3} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u3} V₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5))) (fun (_x : AffineEquiv.{u1, u2, u3, u2, u3} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u3} V₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5))) => V₁ -> V₂) (AffineEquiv.hasCoeToFun.{u1, u2, u3, u2, u3} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u3} V₂ (AddCommGroup.toAddGroup.{u3} V₂ _inst_5))) (LinearEquiv.toAffineEquiv.{u1, u2, u3} k V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6) (fun (_x : LinearEquiv.{u1, u1, u2, u3} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6) => V₁ -> V₂) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u3} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u3} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (RingHomInvPair.ids.{u1} k (Ring.toSemiring.{u1} k _inst_1))) e)
+but is expected to have type
+ forall {k : Type.{u3}} {V₁ : Type.{u2}} {V₂ : Type.{u1}} [_inst_1 : Ring.{u3} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_5 : AddCommGroup.{u1} V₂] [_inst_6 : Module.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)] (e : LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : V₁), (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : V₁) => V₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ (fun (_x : V₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : V₁) => V₂) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ V₂ (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (AffineEquiv.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))) V₁ V₂ (AffineEquiv.equivLike.{u3, u2, u1, u2, u1} k V₁ V₂ V₁ V₂ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) _inst_5 _inst_6 (addGroupIsAddTorsor.{u1} V₂ (AddCommGroup.toAddGroup.{u1} V₂ _inst_5))))) (LinearEquiv.toAffineEquiv.{u3, u2, u1} k V₁ V₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 e)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : V₁) => V₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (SMulZeroClass.toSMul.{u3, u2} k V₁ (AddMonoid.toZero.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} k V₁ (AddMonoid.toAddZeroClass.{u2} V₁ (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} k V₁ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} k V₂ (AddMonoid.toZero.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} k V₂ (AddMonoid.toAddZeroClass.{u1} V₂ (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} k V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) k V₁ V₂ (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (AddCommMonoid.toAddMonoid.{u2} V₁ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)) (AddCommMonoid.toAddMonoid.{u1} V₂ (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5)) (Module.toDistribMulAction.{u3, u2} k V₁ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) _inst_3) (Module.toDistribMulAction.{u3, u1} k V₂ (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_6) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, max u2 u1} k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u1, max u2 u1} k k V₁ V₂ (LinearEquiv.{u3, u3, u2, u1} k k (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6) (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u1} k k V₁ V₂ (Ring.toSemiring.{u3} k _inst_1) (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2) (AddCommGroup.toAddCommMonoid.{u1} V₂ _inst_5) _inst_3 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k (Ring.toSemiring.{u3} k _inst_1))) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1)) (RingHomInvPair.ids.{u3} k (Ring.toSemiring.{u3} k _inst_1))))))) e)
+Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_to_affine_equiv LinearEquiv.coe_toAffineEquivₓ'. -/
@[simp]
theorem coe_toAffineEquiv (e : V₁ ≃ₗ[k] V₂) : ⇑e.toAffineEquiv = e :=
rfl
@@ -649,28 +1115,50 @@ open AffineEquiv
include V₁
+/- warning: affine_map.line_map_vadd -> AffineMap.lineMap_vadd is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁) (v' : V₁) (p : P₁) (c : k), Eq.{succ u2} P₁ (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (fun (_x : AffineMap.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) => k -> V₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u3} k k k V₁ V₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AffineMap.lineMap.{u1, u3, u3} k V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)) v v') c) p) (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v' p)) c)
+but is expected to have type
+ forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁) (v' : V₁) (p : P₁) (c : k), Eq.{succ u3} P₁ (HVAdd.hVAdd.{u2, u3, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) P₁ P₁ (instHVAdd.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) P₁ (AddAction.toVAdd.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) P₁ (SubNegMonoid.toAddMonoid.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) (AddGroup.toSubNegMonoid.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) (AddCommGroup.toAddGroup.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) _inst_2))) (AddTorsor.toAddAction.{u2, u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) P₁ (AddCommGroup.toAddGroup.{u2} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) c) _inst_2) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (AffineMap.{u1, u1, u1, u2, u2} k k k V₁ V₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => V₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u2} k k k V₁ V₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AffineMap.lineMap.{u1, u2, u2} k V₁ V₁ _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)) v v') c) p) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v' p)) c)
+Case conversion may be inaccurate. Consider using '#align affine_map.line_map_vadd AffineMap.lineMap_vaddₓ'. -/
theorem lineMap_vadd (v v' : V₁) (p : P₁) (c : k) :
lineMap v v' c +ᵥ p = lineMap (v +ᵥ p) (v' +ᵥ p) c :=
(vaddConst k p).apply_lineMap v v' c
#align affine_map.line_map_vadd AffineMap.lineMap_vadd
+#print AffineMap.lineMap_vsub /-
theorem lineMap_vsub (p₁ p₂ p₃ : P₁) (c : k) :
lineMap p₁ p₂ c -ᵥ p₃ = lineMap (p₁ -ᵥ p₃) (p₂ -ᵥ p₃) c :=
(vaddConst k p₃).symm.apply_lineMap p₁ p₂ c
#align affine_map.line_map_vsub AffineMap.lineMap_vsub
+-/
+#print AffineMap.vsub_lineMap /-
theorem vsub_lineMap (p₁ p₂ p₃ : P₁) (c : k) :
p₁ -ᵥ lineMap p₂ p₃ c = lineMap (p₁ -ᵥ p₂) (p₁ -ᵥ p₃) c :=
- (constVsub k p₁).apply_lineMap p₂ p₃ c
+ (constVSub k p₁).apply_lineMap p₂ p₃ c
#align affine_map.vsub_line_map AffineMap.vsub_lineMap
+-/
+/- warning: affine_map.vadd_line_map -> AffineMap.vadd_lineMap is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} {P₁ : Type.{u2}} {V₁ : Type.{u3}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u3} V₁] [_inst_3 : Module.{u1, u3} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u3} V₁ _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2)] (v : V₁) (p₁ : P₁) (p₂ : P₁) (c : k), Eq.{succ u2} P₁ (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 p₁ p₂) c)) (coeFn.{max (succ u1) (succ u3) (succ u2), max (succ u1) (succ u2)} (AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) => k -> P₁) (AffineMap.hasCoeToFun.{u1, u1, u1, u3, u2} k k k V₁ P₁ _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} k (NonAssocRing.toNonUnitalNonAssocRing.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1))) (Semiring.toModule.{u1} k (Ring.toSemiring.{u1} k _inst_1)) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u3, u2} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p₁) (VAdd.vadd.{u3, u2} V₁ P₁ (AddAction.toHasVadd.{u3, u2} V₁ P₁ (SubNegMonoid.toAddMonoid.{u3} V₁ (AddGroup.toSubNegMonoid.{u3} V₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2))) (AddTorsor.toAddAction.{u3, u2} V₁ P₁ (AddCommGroup.toAddGroup.{u3} V₁ _inst_2) _inst_4)) v p₂)) c)
+but is expected to have type
+ forall {k : Type.{u1}} {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_1 : Ring.{u1} k] [_inst_2 : AddCommGroup.{u2} V₁] [_inst_3 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] (v : V₁) (p₁ : P₁) (p₂ : P₁) (c : k), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (HVAdd.hVAdd.{u2, u3, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (instHVAdd.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (AddAction.toVAdd.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) c) (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 p₁ p₂) c)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (AffineMap.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) k (fun (_x : k) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : k) => P₁) _x) (AffineMap.funLike.{u1, u1, u1, u2, u3} k k k V₁ P₁ _inst_1 (Ring.toAddCommGroup.{u1} k _inst_1) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u1} k _inst_1) (addGroupIsAddTorsor.{u1} k (AddGroupWithOne.toAddGroup.{u1} k (Ring.toAddGroupWithOne.{u1} k _inst_1))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p₁) (HVAdd.hVAdd.{u2, u3, u3} V₁ P₁ P₁ (instHVAdd.{u2, u3} V₁ P₁ (AddAction.toVAdd.{u2, u3} V₁ P₁ (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2))) (AddTorsor.toAddAction.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2) _inst_4))) v p₂)) c)
+Case conversion may be inaccurate. Consider using '#align affine_map.vadd_line_map AffineMap.vadd_lineMapₓ'. -/
theorem vadd_lineMap (v : V₁) (p₁ p₂ : P₁) (c : k) :
v +ᵥ lineMap p₁ p₂ c = lineMap (v +ᵥ p₁) (v +ᵥ p₂) c :=
- (constVadd k P₁ v).apply_lineMap p₁ p₂ c
+ (constVAdd k P₁ v).apply_lineMap p₁ p₂ c
#align affine_map.vadd_line_map AffineMap.vadd_lineMap
variable {R' : Type _} [CommRing R'] [Module R' V₁]
+/- warning: affine_map.homothety_neg_one_apply -> AffineMap.homothety_neg_one_apply is a dubious translation:
+lean 3 declaration is
+ forall {P₁ : Type.{u1}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u1} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u3}} [_inst_14 : CommRing.{u3} R'] [_inst_15 : Module.{u3, u2} R' V₁ (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u1} P₁ (coeFn.{max (succ u2) (succ u1), succ u1} (AffineMap.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (fun (_x : AffineMap.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) => P₁ -> P₁) (AffineMap.hasCoeToFun.{u3, u2, u1, u2, u1} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u3, u2, u1} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u3} R' (SubNegMonoid.toHasNeg.{u3} R' (AddGroup.toSubNegMonoid.{u3} R' (AddGroupWithOne.toAddGroup.{u3} R' (NonAssocRing.toAddGroupWithOne.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_14)))))) (OfNat.ofNat.{u3} R' 1 (OfNat.mk.{u3} R' 1 (One.one.{u3} R' (AddMonoidWithOne.toOne.{u3} R' (AddGroupWithOne.toAddMonoidWithOne.{u3} R' (NonAssocRing.toAddGroupWithOne.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_14)))))))))) p) (coeFn.{max (succ u1) (succ u2), succ u1} (AffineEquiv.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (fun (_x : AffineEquiv.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) => P₁ -> P₁) (AffineEquiv.hasCoeToFun.{u3, u1, u1, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineEquiv.pointReflection.{u3, u1, u2} R' P₁ V₁ (CommRing.toRing.{u3} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
+but is expected to have type
+ forall {P₁ : Type.{u3}} {V₁ : Type.{u2}} [_inst_2 : AddCommGroup.{u2} V₁] [_inst_4 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_2)] {R' : Type.{u1}} [_inst_14 : CommRing.{u1} R'] [_inst_15 : Module.{u1, u2} R' V₁ (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_14)) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_2)] (c : P₁) (p : P₁), Eq.{succ u3} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₁) p) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u3} (AffineMap.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P₁) => P₁) _x) (AffineMap.funLike.{u1, u2, u3, u2, u3} R' V₁ P₁ V₁ P₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) (AffineMap.homothety.{u1, u2, u3} R' V₁ P₁ _inst_14 _inst_2 _inst_4 _inst_15 c (Neg.neg.{u1} R' (Ring.toNeg.{u1} R' (CommRing.toRing.{u1} R' _inst_14)) (OfNat.ofNat.{u1} R' 1 (One.toOfNat1.{u1} R' (Semiring.toOne.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_14))))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ (fun (_x : P₁) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1471 : P₁) => P₁) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (EquivLike.toEmbeddingLike.{max (succ u3) (succ u2), succ u3, succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4) P₁ P₁ (AffineEquiv.equivLike.{u1, u3, u3, u2, u2} R' P₁ P₁ V₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 _inst_2 _inst_15 _inst_4))) (AffineEquiv.pointReflection.{u1, u3, u2} R' P₁ V₁ (CommRing.toRing.{u1} R' _inst_14) _inst_2 _inst_15 _inst_4 c) p)
+Case conversion may be inaccurate. Consider using '#align affine_map.homothety_neg_one_apply AffineMap.homothety_neg_one_applyₓ'. -/
theorem homothety_neg_one_apply (c p : P₁) : homothety c (-1 : R') p = pointReflection R' c p := by
simp [homothety_apply, point_reflection_apply]
#align affine_map.homothety_neg_one_apply AffineMap.homothety_neg_one_apply
mathlib commit https://github.com/leanprover-community/mathlib/commit/1a313d8bba1bad05faba71a4a4e9742ab5bd9efd
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
! This file was ported from Lean 3 source module linear_algebra.affine_space.affine_equiv
-! leanprover-community/mathlib commit 2705404e701abc6b3127da906f40bae062a169c9
+! leanprover-community/mathlib commit bd1fc183335ea95a9519a1630bcf901fe9326d83
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -65,8 +65,46 @@ namespace AffineEquiv
include V₁ V₂
+/-- Reinterpret an `affine_equiv` as an `affine_map`. -/
+def toAffineMap (e : P₁ ≃ᵃ[k] P₂) : P₁ →ᵃ[k] P₂ :=
+ { e with }
+#align affine_equiv.to_affine_map AffineEquiv.toAffineMap
+
+@[simp]
+theorem toAffineMap_mk (f : P₁ ≃ P₂) (f' : V₁ ≃ₗ[k] V₂) (h) :
+ toAffineMap (mk f f' h) = ⟨f, f', h⟩ :=
+ rfl
+#align affine_equiv.to_affine_map_mk AffineEquiv.toAffineMap_mk
+
+@[simp]
+theorem linear_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : e.toAffineMap.linear = e.linear :=
+ rfl
+#align affine_equiv.linear_to_affine_map AffineEquiv.linear_toAffineMap
+
+theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂) → P₁ →ᵃ[k] P₂) :=
+ by
+ rintro ⟨e, el, h⟩ ⟨e', el', h'⟩ H
+ simp only [to_affine_map_mk, Equiv.coe_inj, LinearEquiv.toLinearMap_inj] at H
+ congr
+ exacts[H.1, H.2]
+#align affine_equiv.to_affine_map_injective AffineEquiv.toAffineMap_injective
+
+@[simp]
+theorem toAffineMap_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toAffineMap = e'.toAffineMap ↔ e = e' :=
+ toAffineMap_injective.eq_iff
+#align affine_equiv.to_affine_map_inj AffineEquiv.toAffineMap_inj
+
+instance equivLike : EquivLike (P₁ ≃ᵃ[k] P₂) P₁ P₂
+ where
+ coe f := f.toFun
+ inv f := f.invFun
+ left_inv f := f.left_inv
+ right_inv f := f.right_inv
+ coe_injective' f g h _ := toAffineMap_injective (FunLike.coe_injective h)
+#align affine_equiv.equiv_like AffineEquiv.equivLike
+
instance : CoeFun (P₁ ≃ᵃ[k] P₂) fun _ => P₁ → P₂ :=
- ⟨fun e => e.toFun⟩
+ FunLike.hasCoeToFun
instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ ≃ P₂) :=
⟨AffineEquiv.toEquiv⟩
@@ -83,11 +121,6 @@ theorem coe_toEquiv (e : P₁ ≃ᵃ[k] P₂) : ⇑e.toEquiv = e :=
rfl
#align affine_equiv.coe_to_equiv AffineEquiv.coe_toEquiv
-/-- Reinterpret an `affine_equiv` as an `affine_map`. -/
-def toAffineMap (e : P₁ ≃ᵃ[k] P₂) : P₁ →ᵃ[k] P₂ :=
- { e with toFun := e }
-#align affine_equiv.to_affine_map AffineEquiv.toAffineMap
-
instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ →ᵃ[k] P₂) :=
⟨toAffineMap⟩
@@ -96,47 +129,23 @@ theorem coe_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : (e.toAffineMap : P₁ → P
rfl
#align affine_equiv.coe_to_affine_map AffineEquiv.coe_toAffineMap
-@[simp]
-theorem toAffineMap_mk (f : P₁ ≃ P₂) (f' : V₁ ≃ₗ[k] V₂) (h) :
- toAffineMap (mk f f' h) = ⟨f, f', h⟩ :=
- rfl
-#align affine_equiv.to_affine_map_mk AffineEquiv.toAffineMap_mk
-
@[norm_cast, simp]
theorem coe_coe (e : P₁ ≃ᵃ[k] P₂) : ((e : P₁ →ᵃ[k] P₂) : P₁ → P₂) = e :=
rfl
#align affine_equiv.coe_coe AffineEquiv.coe_coe
-@[simp]
-theorem linear_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : e.toAffineMap.linear = e.linear :=
- rfl
-#align affine_equiv.linear_to_affine_map AffineEquiv.linear_toAffineMap
-
@[simp]
theorem coe_linear (e : P₁ ≃ᵃ[k] P₂) : (e : P₁ →ᵃ[k] P₂).linear = e.linear :=
rfl
#align affine_equiv.coe_linear AffineEquiv.coe_linear
-theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂) → P₁ →ᵃ[k] P₂) :=
- by
- rintro ⟨e, el, h⟩ ⟨e', el', h'⟩ H
- simp only [to_affine_map_mk, Equiv.coe_inj, LinearEquiv.toLinearMap_inj] at H
- congr
- exacts[H.1, H.2]
-#align affine_equiv.to_affine_map_injective AffineEquiv.toAffineMap_injective
-
-@[simp]
-theorem toAffineMap_inj {e e' : P₁ ≃ᵃ[k] P₂} : e.toAffineMap = e'.toAffineMap ↔ e = e' :=
- toAffineMap_injective.eq_iff
-#align affine_equiv.to_affine_map_inj AffineEquiv.toAffineMap_inj
-
@[ext]
theorem ext {e e' : P₁ ≃ᵃ[k] P₂} (h : ∀ x, e x = e' x) : e = e' :=
- toAffineMap_injective <| AffineMap.ext h
+ FunLike.ext _ _ h
#align affine_equiv.ext AffineEquiv.ext
-theorem coeFn_injective : @Injective (P₁ ≃ᵃ[k] P₂) (P₁ → P₂) coeFn := fun e e' H =>
- ext <| congr_fun H
+theorem coeFn_injective : @Injective (P₁ ≃ᵃ[k] P₂) (P₁ → P₂) coeFn :=
+ FunLike.coe_injective
#align affine_equiv.coe_fn_injective AffineEquiv.coeFn_injective
@[simp, norm_cast]
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -214,7 +214,7 @@ def Simps.symmApply (e : P₁ ≃ᵃ[k] P₂) : P₂ → P₁ :=
#align affine_equiv.simps.symm_apply AffineEquiv.Simps.symmApply
initialize_simps_projections AffineEquiv (to_equiv_to_fun → apply, to_equiv_inv_fun → symm_apply,
- linear → linear as_prefix, -toEquiv)
+ linear → linear, as_prefix linear, -toEquiv)
protected theorem bijective (e : P₁ ≃ᵃ[k] P₂) : Bijective e :=
e.toEquiv.Bijective
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -43,7 +43,8 @@ such that both forward and inverse maps are affine.
We define it using an `Equiv` for the map and a `LinearEquiv` for the linear part in order
to allow affine equivalences with good definitional equalities. -/
---@[nolint has_nonempty_instance]
+-- Porting note(#5171): this linter isn't ported yet.
+-- @[nolint has_nonempty_instance]
structure AffineEquiv (k P₁ P₂ : Type*) {V₁ V₂ : Type*} [Ring k] [AddCommGroup V₁] [Module k V₁]
[AddTorsor V₁ P₁] [AddCommGroup V₂] [Module k V₂] [AddTorsor V₂ P₂] extends P₁ ≃ P₂ where
linear : V₁ ≃ₗ[k] V₂
@@ -38,8 +38,8 @@ open Function Set
open Affine
-/-- An affine equivalence is an equivalence between affine spaces such that both forward
-and inverse maps are affine.
+/-- An affine equivalence, denoted `P₁ ≃ᵃ[k] P₂`, is an equivalence between affine spaces
+such that both forward and inverse maps are affine.
We define it using an `Equiv` for the map and a `LinearEquiv` for the linear part in order
to allow affine equivalences with good definitional equalities. -/
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -78,7 +78,7 @@ theorem linear_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : e.toAffineMap.linear = e.
theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂) → P₁ →ᵃ[k] P₂) := by
rintro ⟨e, el, h⟩ ⟨e', el', h'⟩ H
- -- porting note: added `AffineMap.mk.injEq`
+ -- Porting note: added `AffineMap.mk.injEq`
simp only [toAffineMap_mk, AffineMap.mk.injEq, Equiv.coe_inj,
LinearEquiv.toLinearMap_inj] at H
congr
This shortens Mathlib.LinearAlgebra.Basic
, which is both longer than we like and doesn't have a clear scope.
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
-/
import Mathlib.LinearAlgebra.AffineSpace.AffineMap
+import Mathlib.LinearAlgebra.Basic
import Mathlib.LinearAlgebra.GeneralLinearGroup
#align_import linear_algebra.affine_space.affine_equiv from "leanprover-community/mathlib"@"bd1fc183335ea95a9519a1630bcf901fe9326d83"
@[inherit_doc]
on notations (#9942)
Make all the notations that unambiguously should inherit the docstring of their definition actually inherit it.
Also write a few docstrings by hand. I only wrote the ones I was competent to write and which I was sure of. Some docstrings come from mathlib3 as they were lost during the early port.
This PR is only intended as a first pass There are many more docstrings to add.
@@ -49,6 +49,7 @@ structure AffineEquiv (k P₁ P₂ : Type*) {V₁ V₂ : Type*} [Ring k] [AddCom
map_vadd' : ∀ (p : P₁) (v : V₁), toEquiv (v +ᵥ p) = linear v +ᵥ toEquiv p
#align affine_equiv AffineEquiv
+@[inherit_doc]
notation:25 P₁ " ≃ᵃ[" k:25 "] " P₂:0 => AffineEquiv k P₁ P₂
variable {k P₁ P₂ P₃ P₄ V₁ V₂ V₃ V₄ : Type*} [Ring k] [AddCommGroup V₁] [Module k V₁]
FunLike
to DFunLike
(#9785)
This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.
This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:
sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -93,11 +93,11 @@ instance equivLike : EquivLike (P₁ ≃ᵃ[k] P₂) P₁ P₂ where
inv f := f.invFun
left_inv f := f.left_inv
right_inv f := f.right_inv
- coe_injective' _ _ h _ := toAffineMap_injective (FunLike.coe_injective h)
+ coe_injective' _ _ h _ := toAffineMap_injective (DFunLike.coe_injective h)
#align affine_equiv.equiv_like AffineEquiv.equivLike
instance : CoeFun (P₁ ≃ᵃ[k] P₂) fun _ => P₁ → P₂ :=
- FunLike.hasCoeToFun
+ DFunLike.hasCoeToFun
instance : CoeOut (P₁ ≃ᵃ[k] P₂) (P₁ ≃ P₂) :=
⟨AffineEquiv.toEquiv⟩
@@ -132,15 +132,15 @@ theorem coe_linear (e : P₁ ≃ᵃ[k] P₂) : (e : P₁ →ᵃ[k] P₂).linear
@[ext]
theorem ext {e e' : P₁ ≃ᵃ[k] P₂} (h : ∀ x, e x = e' x) : e = e' :=
- FunLike.ext _ _ h
+ DFunLike.ext _ _ h
#align affine_equiv.ext AffineEquiv.ext
theorem coeFn_injective : @Injective (P₁ ≃ᵃ[k] P₂) (P₁ → P₂) (⇑) :=
- FunLike.coe_injective
+ DFunLike.coe_injective
#align affine_equiv.coe_fn_injective AffineEquiv.coeFn_injective
@[norm_cast]
--- Porting note: removed `simp`: proof is `simp only [FunLike.coe_fn_eq]`
+-- Porting note: removed `simp`: proof is `simp only [DFunLike.coe_fn_eq]`
theorem coeFn_inj {e e' : P₁ ≃ᵃ[k] P₂} : (e : P₁ → P₂) = e' ↔ e = e' :=
coeFn_injective.eq_iff
#align affine_equiv.coe_fn_inj AffineEquiv.coeFn_inj
(· op ·) a
by (a op ·)
(#8843)
I used the regex \(\(· (.) ·\) (.)\)
, replacing with ($2 $1 ·)
.
@@ -455,7 +455,7 @@ def constVSub (p : P₁) : P₁ ≃ᵃ[k] V₁ where
#align affine_equiv.const_vsub AffineEquiv.constVSub
@[simp]
-theorem coe_constVSub (p : P₁) : ⇑(constVSub k p) = (· -ᵥ ·) p :=
+theorem coe_constVSub (p : P₁) : ⇑(constVSub k p) = (p -ᵥ ·) :=
rfl
#align affine_equiv.coe_const_vsub AffineEquiv.coe_constVSub
simp [(lemma)]
(#8227)
Most (but not all) of these are now fixed, presumably due to the latest lean release.
There is still one porting note that remains, about a (Submonoid.smul_def)
that cannot be un-parenthesized.
@@ -76,8 +76,8 @@ theorem linear_toAffineMap (e : P₁ ≃ᵃ[k] P₂) : e.toAffineMap.linear = e.
theorem toAffineMap_injective : Injective (toAffineMap : (P₁ ≃ᵃ[k] P₂) → P₁ →ᵃ[k] P₂) := by
rintro ⟨e, el, h⟩ ⟨e', el', h'⟩ H
- -- porting note: added `()`s and `AffineMap.mk.injEq`
- simp only [(toAffineMap_mk), (AffineMap.mk.injEq), Equiv.coe_inj,
+ -- porting note: added `AffineMap.mk.injEq`
+ simp only [toAffineMap_mk, AffineMap.mk.injEq, Equiv.coe_inj,
LinearEquiv.toLinearMap_inj] at H
congr
exacts [H.1, H.2]
@@ -167,13 +167,10 @@ def mk' (e : P₁ → P₂) (e' : V₁ ≃ₗ[k] V₂) (p : P₁) (h : ∀ p' :
P₁ ≃ᵃ[k] P₂ where
toFun := e
invFun := fun q' : P₂ => e'.symm (q' -ᵥ e p) +ᵥ p
- -- Porting note: `simp` needs `()`
- left_inv p' := by simp [h p', (vadd_vsub), (vsub_vadd)]
- -- Porting note: `simp` needs `()`
- right_inv q' := by simp [h (e'.symm (q' -ᵥ e p) +ᵥ p), (vadd_vsub), (vsub_vadd)]
+ left_inv p' := by simp [h p', vadd_vsub, vsub_vadd]
+ right_inv q' := by simp [h (e'.symm (q' -ᵥ e p) +ᵥ p), vadd_vsub, vsub_vadd]
linear := e'
- -- Porting note: `simp` needs `()`
- map_vadd' p' v := by simp [h p', h (v +ᵥ p'), (vadd_vsub_assoc), (vadd_vadd)]
+ map_vadd' p' v := by simp [h p', h (v +ᵥ p'), vadd_vsub_assoc, vadd_vadd]
#align affine_equiv.mk' AffineEquiv.mk'
@[simp]
@@ -327,8 +324,7 @@ def trans (e : P₁ ≃ᵃ[k] P₂) (e' : P₂ ≃ᵃ[k] P₃) : P₁ ≃ᵃ[k]
toEquiv := e.toEquiv.trans e'.toEquiv
linear := e.linear.trans e'.linear
map_vadd' p v := by
- -- porting note: added `()`
- simp only [LinearEquiv.trans_apply, (coe_toEquiv), (· ∘ ·), Equiv.coe_trans, (map_vadd)]
+ simp only [LinearEquiv.trans_apply, coe_toEquiv, (· ∘ ·), Equiv.coe_trans, map_vadd]
#align affine_equiv.trans AffineEquiv.trans
@[simp]
@@ -455,8 +451,7 @@ def vaddConst (b : P₁) : V₁ ≃ᵃ[k] P₁ where
def constVSub (p : P₁) : P₁ ≃ᵃ[k] V₁ where
toEquiv := Equiv.constVSub p
linear := LinearEquiv.neg k
- -- porting note: added `coe_constVSub` and `()`s
- map_vadd' p' v := by simp [(Equiv.coe_constVSub), (vsub_vadd_eq_vsub_sub), neg_add_eq_sub]
+ map_vadd' p' v := by simp [vsub_vadd_eq_vsub_sub, neg_add_eq_sub]
#align affine_equiv.const_vsub AffineEquiv.constVSub
@[simp]
@@ -649,8 +644,7 @@ theorem vadd_lineMap (v : V₁) (p₁ p₂ : P₁) (c : k) :
variable {R' : Type*} [CommRing R'] [Module R' V₁]
theorem homothety_neg_one_apply (c p : P₁) : homothety c (-1 : R') p = pointReflection R' c p := by
- -- porting note: added `()`, `_`, and `neg_vsub_eq_vsub_rev`
- simp [(homothety_apply), pointReflection_apply _, (neg_vsub_eq_vsub_rev)]
+ simp [homothety_apply, pointReflection_apply]
#align affine_map.homothety_neg_one_apply AffineMap.homothety_neg_one_apply
end AffineMap
@@ -5,7 +5,6 @@ Authors: Yury G. Kudryashov
-/
import Mathlib.LinearAlgebra.AffineSpace.AffineMap
import Mathlib.LinearAlgebra.GeneralLinearGroup
-import Mathlib.Algebra.Invertible
#align_import linear_algebra.affine_space.affine_equiv from "leanprover-community/mathlib"@"bd1fc183335ea95a9519a1630bcf901fe9326d83"
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -44,7 +44,7 @@ and inverse maps are affine.
We define it using an `Equiv` for the map and a `LinearEquiv` for the linear part in order
to allow affine equivalences with good definitional equalities. -/
--@[nolint has_nonempty_instance]
-structure AffineEquiv (k P₁ P₂ : Type _) {V₁ V₂ : Type _} [Ring k] [AddCommGroup V₁] [Module k V₁]
+structure AffineEquiv (k P₁ P₂ : Type*) {V₁ V₂ : Type*} [Ring k] [AddCommGroup V₁] [Module k V₁]
[AddTorsor V₁ P₁] [AddCommGroup V₂] [Module k V₂] [AddTorsor V₂ P₂] extends P₁ ≃ P₂ where
linear : V₁ ≃ₗ[k] V₂
map_vadd' : ∀ (p : P₁) (v : V₁), toEquiv (v +ᵥ p) = linear v +ᵥ toEquiv p
@@ -52,7 +52,7 @@ structure AffineEquiv (k P₁ P₂ : Type _) {V₁ V₂ : Type _} [Ring k] [AddC
notation:25 P₁ " ≃ᵃ[" k:25 "] " P₂:0 => AffineEquiv k P₁ P₂
-variable {k P₁ P₂ P₃ P₄ V₁ V₂ V₃ V₄ : Type _} [Ring k] [AddCommGroup V₁] [Module k V₁]
+variable {k P₁ P₂ P₃ P₄ V₁ V₂ V₃ V₄ : Type*} [Ring k] [AddCommGroup V₁] [Module k V₁]
[AddTorsor V₁ P₁] [AddCommGroup V₂] [Module k V₂] [AddTorsor V₂ P₂] [AddCommGroup V₃]
[Module k V₃] [AddTorsor V₃ P₃] [AddCommGroup V₄] [Module k V₄] [AddTorsor V₄ P₄]
@@ -517,7 +517,7 @@ theorem constVAdd_zsmul (z : ℤ) (v : V₁) : constVAdd k P₁ (z • v) = cons
section Homothety
-variable {R V P : Type _} [CommRing R] [AddCommGroup V] [Module R V] [AffineSpace V P]
+variable {R V P : Type*} [CommRing R] [AddCommGroup V] [Module R V] [AffineSpace V P]
/-- Fixing a point in affine space, homothety about this point gives a group homomorphism from (the
centre of) the units of the scalars into the group of affine equivalences. -/
@@ -647,7 +647,7 @@ theorem vadd_lineMap (v : V₁) (p₁ p₂ : P₁) (c : k) :
(constVAdd k P₁ v).apply_lineMap p₁ p₂ c
#align affine_map.vadd_line_map AffineMap.vadd_lineMap
-variable {R' : Type _} [CommRing R'] [Module R' V₁]
+variable {R' : Type*} [CommRing R'] [Module R' V₁]
theorem homothety_neg_one_apply (c p : P₁) : homothety c (-1 : R') p = pointReflection R' c p := by
-- porting note: added `()`, `_`, and `neg_vsub_eq_vsub_rev`
@@ -2,16 +2,13 @@
Copyright (c) 2020 Yury G. Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
-
-! This file was ported from Lean 3 source module linear_algebra.affine_space.affine_equiv
-! leanprover-community/mathlib commit bd1fc183335ea95a9519a1630bcf901fe9326d83
-! 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.LinearAlgebra.GeneralLinearGroup
import Mathlib.Algebra.Invertible
+#align_import linear_algebra.affine_space.affine_equiv from "leanprover-community/mathlib"@"bd1fc183335ea95a9519a1630bcf901fe9326d83"
+
/-!
# Affine equivalences
@@ -41,9 +41,6 @@ open Function Set
open Affine
--- Porting note: this is needed because of lean4#2074
-attribute [-instance] Ring.toNonAssocRing
-
/-- An affine equivalence is an equivalence between affine spaces such that both forward
and inverse maps are affine.
@@ -220,11 +220,11 @@ def Simps.apply (e : P₁ ≃ᵃ[k] P₂) : P₁ → P₂ :=
#align affine_equiv.simps.apply AffineEquiv.Simps.apply
/-- See Note [custom simps projection] -/
-def Simps.symmApply (e : P₁ ≃ᵃ[k] P₂) : P₂ → P₁ :=
+def Simps.symm_apply (e : P₁ ≃ᵃ[k] P₂) : P₂ → P₁ :=
e.symm
-#align affine_equiv.simps.symm_apply AffineEquiv.Simps.symmApply
+#align affine_equiv.simps.symm_apply AffineEquiv.Simps.symm_apply
-initialize_simps_projections AffineEquiv (toEquiv_toFun → apply, toEquiv_invFun → symmApply,
+initialize_simps_projections AffineEquiv (toEquiv_toFun → apply, toEquiv_invFun → symm_apply,
linear → linear, as_prefix linear, -toEquiv)
protected theorem bijective (e : P₁ ≃ᵃ[k] P₂) : Bijective e :=
@@ -451,7 +451,7 @@ variable (k)
/-- The map `v ↦ v +ᵥ b` as an affine equivalence between a module `V` and an affine space `P` with
tangent space `V`. -/
-@[simps! linear apply]
+@[simps! linear apply symm_apply]
def vaddConst (b : P₁) : V₁ ≃ᵃ[k] P₁ where
toEquiv := Equiv.vaddConst b
linear := LinearEquiv.refl _ _
@@ -106,8 +106,7 @@ instance equivLike : EquivLike (P₁ ≃ᵃ[k] P₂) P₁ P₂ where
instance : CoeFun (P₁ ≃ᵃ[k] P₂) fun _ => P₁ → P₂ :=
FunLike.hasCoeToFun
-@[nolint dangerousInstance] -- Porting note: this was not a problem in Lean 3
-instance : Coe (P₁ ≃ᵃ[k] P₂) (P₁ ≃ P₂) :=
+instance : CoeOut (P₁ ≃ᵃ[k] P₂) (P₁ ≃ P₂) :=
⟨AffineEquiv.toEquiv⟩
@[simp]
This ran into many of the problems that #2899 did, where simp
would fail but simp [(foo)]
or simp [foo _]
would succeed.
Co-authored-by: Moritz Doll <moritz.doll@googlemail.com> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
The unported dependencies are