linear_algebra.affine_space.midpoint_zeroMathlib.LinearAlgebra.AffineSpace.MidpointZero

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 -/
-import Mathbin.Algebra.CharP.Invertible
-import Mathbin.LinearAlgebra.AffineSpace.Midpoint
+import Algebra.CharP.Invertible
+import LinearAlgebra.AffineSpace.Midpoint
 
 #align_import linear_algebra.affine_space.midpoint_zero from "leanprover-community/mathlib"@"31ca6f9cf5f90a6206092cd7f84b359dcb6d52e0"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
-
-! This file was ported from Lean 3 source module linear_algebra.affine_space.midpoint_zero
-! leanprover-community/mathlib commit 31ca6f9cf5f90a6206092cd7f84b359dcb6d52e0
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.CharP.Invertible
 import Mathbin.LinearAlgebra.AffineSpace.Midpoint
 
+#align_import linear_algebra.affine_space.midpoint_zero from "leanprover-community/mathlib"@"31ca6f9cf5f90a6206092cd7f84b359dcb6d52e0"
+
 /-!
 # Midpoint of a segment for characteristic zero
 
Diff
@@ -27,32 +27,43 @@ midpoint
 
 open AffineMap AffineEquiv
 
+#print lineMap_inv_two /-
 theorem lineMap_inv_two {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R] [AddCommGroup V]
     [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (2⁻¹ : R) = midpoint R a b :=
   rfl
 #align line_map_inv_two lineMap_inv_two
+-/
 
+#print lineMap_one_half /-
 theorem lineMap_one_half {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R] [AddCommGroup V]
     [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (1 / 2 : R) = midpoint R a b := by
   rw [one_div, lineMap_inv_two]
 #align line_map_one_half lineMap_one_half
+-/
 
+#print homothety_invOf_two /-
 theorem homothety_invOf_two {R : Type _} {V P : Type _} [CommRing R] [Invertible (2 : R)]
     [AddCommGroup V] [Module R V] [AddTorsor V P] (a b : P) :
     homothety a (⅟ 2 : R) b = midpoint R a b :=
   rfl
 #align homothety_inv_of_two homothety_invOf_two
+-/
 
+#print homothety_inv_two /-
 theorem homothety_inv_two {k : Type _} {V P : Type _} [Field k] [CharZero k] [AddCommGroup V]
     [Module k V] [AddTorsor V P] (a b : P) : homothety a (2⁻¹ : k) b = midpoint k a b :=
   rfl
 #align homothety_inv_two homothety_inv_two
+-/
 
+#print homothety_one_half /-
 theorem homothety_one_half {k : Type _} {V P : Type _} [Field k] [CharZero k] [AddCommGroup V]
     [Module k V] [AddTorsor V P] (a b : P) : homothety a (1 / 2 : k) b = midpoint k a b := by
   rw [one_div, homothety_inv_two]
 #align homothety_one_half homothety_one_half
+-/
 
+#print pi_midpoint_apply /-
 @[simp]
 theorem pi_midpoint_apply {k ι : Type _} {V : ∀ i : ι, Type _} {P : ∀ i : ι, Type _} [Field k]
     [Invertible (2 : k)] [∀ i, AddCommGroup (V i)] [∀ i, Module k (V i)]
@@ -60,4 +71,5 @@ theorem pi_midpoint_apply {k ι : Type _} {V : ∀ i : ι, Type _} {P : ∀ i :
     midpoint k f g i = midpoint k (f i) (g i) :=
   rfl
 #align pi_midpoint_apply pi_midpoint_apply
+-/
 
Diff
@@ -27,68 +27,32 @@ midpoint
 
 open AffineMap AffineEquiv
 
-/- warning: line_map_inv_two -> lineMap_inv_two is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : DivisionRing.{u1} R] [_inst_2 : CharZero.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u1} R (DivInvMonoid.toHasInv.{u1} R (DivisionRing.toDivInvMonoid.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))))))))) (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) (invertibleTwo.{u1} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
-but is expected to have type
-  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
-Case conversion may be inaccurate. Consider using '#align line_map_inv_two lineMap_inv_twoₓ'. -/
 theorem lineMap_inv_two {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R] [AddCommGroup V]
     [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (2⁻¹ : R) = midpoint R a b :=
   rfl
 #align line_map_inv_two lineMap_inv_two
 
-/- warning: line_map_one_half -> lineMap_one_half is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : DivisionRing.{u1} R] [_inst_2 : CharZero.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u1, u1, u1} R R R (instHDiv.{u1} R (DivInvMonoid.toHasDiv.{u1} R (DivisionRing.toDivInvMonoid.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))))))))) (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) (invertibleTwo.{u1} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
-but is expected to have type
-  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
-Case conversion may be inaccurate. Consider using '#align line_map_one_half lineMap_one_halfₓ'. -/
 theorem lineMap_one_half {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R] [AddCommGroup V]
     [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (1 / 2 : R) = midpoint R a b := by
   rw [one_div, lineMap_inv_two]
 #align line_map_one_half lineMap_one_half
 
-/- warning: homothety_inv_of_two -> homothety_invOf_two is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Invertible.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) _inst_2)) b) (midpoint.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
-but is expected to have type
-  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : CommRing.{u3} R] [_inst_2 : Invertible.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) _inst_2)) b) (midpoint.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
-Case conversion may be inaccurate. Consider using '#align homothety_inv_of_two homothety_invOf_twoₓ'. -/
 theorem homothety_invOf_two {R : Type _} {V P : Type _} [CommRing R] [Invertible (2 : R)]
     [AddCommGroup V] [Module R V] [AddTorsor V P] (a b : P) :
     homothety a (⅟ 2 : R) b = midpoint R a b :=
   rfl
 #align homothety_inv_of_two homothety_invOf_two
 
-/- warning: homothety_inv_two -> homothety_inv_two is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : Field.{u1} k] [_inst_2 : CharZero.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} k V P (Field.toCommRing.{u1} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u1} k (DivInvMonoid.toHasInv.{u1} k (DivisionRing.toDivInvMonoid.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))))))))) b) (midpoint.{u1, u2, u3} k V P (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) (invertibleTwo.{u1} k (Field.toDivisionRing.{u1} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
-but is expected to have type
-  forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u3} k (Field.toInv.{u3} k _inst_1) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
-Case conversion may be inaccurate. Consider using '#align homothety_inv_two homothety_inv_twoₓ'. -/
 theorem homothety_inv_two {k : Type _} {V P : Type _} [Field k] [CharZero k] [AddCommGroup V]
     [Module k V] [AddTorsor V P] (a b : P) : homothety a (2⁻¹ : k) b = midpoint k a b :=
   rfl
 #align homothety_inv_two homothety_inv_two
 
-/- warning: homothety_one_half -> homothety_one_half is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : Field.{u1} k] [_inst_2 : CharZero.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} k V P (Field.toCommRing.{u1} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u1, u1, u1} k k k (instHDiv.{u1} k (DivInvMonoid.toHasDiv.{u1} k (DivisionRing.toDivInvMonoid.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 1 (OfNat.mk.{u1} k 1 (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))))))))) b) (midpoint.{u1, u2, u3} k V P (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) (invertibleTwo.{u1} k (Field.toDivisionRing.{u1} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
-but is expected to have type
-  forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u3, u3, u3} k k k (instHDiv.{u3} k (Field.toDiv.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 1 (One.toOfNat1.{u3} k (Semiring.toOne.{u3} k (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1)))))) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
-Case conversion may be inaccurate. Consider using '#align homothety_one_half homothety_one_halfₓ'. -/
 theorem homothety_one_half {k : Type _} {V P : Type _} [Field k] [CharZero k] [AddCommGroup V]
     [Module k V] [AddTorsor V P] (a b : P) : homothety a (1 / 2 : k) b = midpoint k a b := by
   rw [one_div, homothety_inv_two]
 #align homothety_one_half homothety_one_half
 
-/- warning: pi_midpoint_apply -> pi_midpoint_apply is a dubious translation:
-lean 3 declaration is
-  forall {k : Type.{u1}} {ι : Type.{u2}} {V : ι -> Type.{u3}} {P : ι -> Type.{u4}} [_inst_1 : Field.{u1} k] [_inst_2 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))))))))))] [_inst_3 : forall (i : ι), AddCommGroup.{u3} (V i)] [_inst_4 : forall (i : ι), Module.{u1, u3} k (V i) (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u3, u4} (V i) (P i) (AddCommGroup.toAddGroup.{u3} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u4} (P i) (midpoint.{u1, max u2 u3, max u2 u4} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) _inst_2 (Pi.addCommGroup.{u2, u3} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (Pi.addTorsor.{u2, u3, u4} ι (fun (i : ι) => V i) (fun (i : ι) => AddCommGroup.toAddGroup.{u3} (V i) (_inst_3 i)) (fun (i : ι) => P i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u1, u3, u4} k (V i) (P i) (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
-but is expected to have type
-  forall {k : Type.{u4}} {ι : Type.{u3}} {V : ι -> Type.{u2}} {P : ι -> Type.{u1}} [_inst_1 : Field.{u4} k] [_inst_2 : Invertible.{u4} k (NonUnitalNonAssocRing.toMul.{u4} k (NonAssocRing.toNonUnitalNonAssocRing.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))))) (Semiring.toOne.{u4} k (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1)))) (OfNat.ofNat.{u4} k 2 (instOfNat.{u4} k 2 (Semiring.toNatCast.{u4} k (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : forall (i : ι), AddCommGroup.{u2} (V i)] [_inst_4 : forall (i : ι), Module.{u4, u2} k (V i) (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u2, u1} (V i) (P i) (AddCommGroup.toAddGroup.{u2} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u1} (P i) (midpoint.{u4, max u3 u2, max u3 u1} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (Pi.addCommGroup.{u3, u2} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u3, u2, u4} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (Pi.instAddTorsorForAllForAllAddGroup.{u3, u2, u1} ι (fun (i : ι) => V i) (fun (i : ι) => AddCommGroup.toAddGroup.{u2} (V i) (_inst_3 i)) (fun (i : ι) => P i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u4, u2, u1} k (V i) (P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
-Case conversion may be inaccurate. Consider using '#align pi_midpoint_apply pi_midpoint_applyₓ'. -/
 @[simp]
 theorem pi_midpoint_apply {k ι : Type _} {V : ∀ i : ι, Type _} {P : ∀ i : ι, Type _} [Field k]
     [Invertible (2 : k)] [∀ i, AddCommGroup (V i)] [∀ i, Module k (V i)]
Diff
@@ -31,7 +31,7 @@ open AffineMap AffineEquiv
 lean 3 declaration is
   forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : DivisionRing.{u1} R] [_inst_2 : CharZero.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u1} R (DivInvMonoid.toHasInv.{u1} R (DivisionRing.toDivInvMonoid.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))))))))) (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) (invertibleTwo.{u1} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
-  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
+  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align line_map_inv_two lineMap_inv_twoₓ'. -/
 theorem lineMap_inv_two {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R] [AddCommGroup V]
     [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (2⁻¹ : R) = midpoint R a b :=
@@ -42,7 +42,7 @@ theorem lineMap_inv_two {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R
 lean 3 declaration is
   forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : DivisionRing.{u1} R] [_inst_2 : CharZero.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u1, u1, u1} R R R (instHDiv.{u1} R (DivInvMonoid.toHasDiv.{u1} R (DivisionRing.toDivInvMonoid.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))))))))) (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) (invertibleTwo.{u1} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
-  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
+  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align line_map_one_half lineMap_one_halfₓ'. -/
 theorem lineMap_one_half {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R] [AddCommGroup V]
     [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (1 / 2 : R) = midpoint R a b := by
@@ -53,7 +53,7 @@ theorem lineMap_one_half {R : Type _} {V P : Type _} [DivisionRing R] [CharZero
 lean 3 declaration is
   forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Invertible.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) _inst_2)) b) (midpoint.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
-  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : CommRing.{u3} R] [_inst_2 : Invertible.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) _inst_2)) b) (midpoint.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
+  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : CommRing.{u3} R] [_inst_2 : Invertible.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) _inst_2)) b) (midpoint.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align homothety_inv_of_two homothety_invOf_twoₓ'. -/
 theorem homothety_invOf_two {R : Type _} {V P : Type _} [CommRing R] [Invertible (2 : R)]
     [AddCommGroup V] [Module R V] [AddTorsor V P] (a b : P) :
@@ -65,7 +65,7 @@ theorem homothety_invOf_two {R : Type _} {V P : Type _} [CommRing R] [Invertible
 lean 3 declaration is
   forall {k : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : Field.{u1} k] [_inst_2 : CharZero.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} k V P (Field.toCommRing.{u1} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u1} k (DivInvMonoid.toHasInv.{u1} k (DivisionRing.toDivInvMonoid.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))))))))) b) (midpoint.{u1, u2, u3} k V P (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) (invertibleTwo.{u1} k (Field.toDivisionRing.{u1} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
-  forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u3} k (Field.toInv.{u3} k _inst_1) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
+  forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u3} k (Field.toInv.{u3} k _inst_1) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align homothety_inv_two homothety_inv_twoₓ'. -/
 theorem homothety_inv_two {k : Type _} {V P : Type _} [Field k] [CharZero k] [AddCommGroup V]
     [Module k V] [AddTorsor V P] (a b : P) : homothety a (2⁻¹ : k) b = midpoint k a b :=
@@ -76,7 +76,7 @@ theorem homothety_inv_two {k : Type _} {V P : Type _} [Field k] [CharZero k] [Ad
 lean 3 declaration is
   forall {k : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : Field.{u1} k] [_inst_2 : CharZero.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} k V P (Field.toCommRing.{u1} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u1, u1, u1} k k k (instHDiv.{u1} k (DivInvMonoid.toHasDiv.{u1} k (DivisionRing.toDivInvMonoid.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 1 (OfNat.mk.{u1} k 1 (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))))))))) b) (midpoint.{u1, u2, u3} k V P (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) (invertibleTwo.{u1} k (Field.toDivisionRing.{u1} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
-  forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u3, u3, u3} k k k (instHDiv.{u3} k (Field.toDiv.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 1 (One.toOfNat1.{u3} k (Semiring.toOne.{u3} k (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1)))))) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
+  forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u3, u3, u3} k k k (instHDiv.{u3} k (Field.toDiv.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 1 (One.toOfNat1.{u3} k (Semiring.toOne.{u3} k (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1)))))) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align homothety_one_half homothety_one_halfₓ'. -/
 theorem homothety_one_half {k : Type _} {V P : Type _} [Field k] [CharZero k] [AddCommGroup V]
     [Module k V] [AddTorsor V P] (a b : P) : homothety a (1 / 2 : k) b = midpoint k a b := by
@@ -87,7 +87,7 @@ theorem homothety_one_half {k : Type _} {V P : Type _} [Field k] [CharZero k] [A
 lean 3 declaration is
   forall {k : Type.{u1}} {ι : Type.{u2}} {V : ι -> Type.{u3}} {P : ι -> Type.{u4}} [_inst_1 : Field.{u1} k] [_inst_2 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))))))))))] [_inst_3 : forall (i : ι), AddCommGroup.{u3} (V i)] [_inst_4 : forall (i : ι), Module.{u1, u3} k (V i) (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u3, u4} (V i) (P i) (AddCommGroup.toAddGroup.{u3} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u4} (P i) (midpoint.{u1, max u2 u3, max u2 u4} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) _inst_2 (Pi.addCommGroup.{u2, u3} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (Pi.addTorsor.{u2, u3, u4} ι (fun (i : ι) => V i) (fun (i : ι) => AddCommGroup.toAddGroup.{u3} (V i) (_inst_3 i)) (fun (i : ι) => P i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u1, u3, u4} k (V i) (P i) (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
 but is expected to have type
-  forall {k : Type.{u4}} {ι : Type.{u3}} {V : ι -> Type.{u2}} {P : ι -> Type.{u1}} [_inst_1 : Field.{u4} k] [_inst_2 : Invertible.{u4} k (NonUnitalNonAssocRing.toMul.{u4} k (NonAssocRing.toNonUnitalNonAssocRing.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))))) (Semiring.toOne.{u4} k (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1)))) (OfNat.ofNat.{u4} k 2 (instOfNat.{u4} k 2 (Semiring.toNatCast.{u4} k (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : forall (i : ι), AddCommGroup.{u2} (V i)] [_inst_4 : forall (i : ι), Module.{u4, u2} k (V i) (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u2, u1} (V i) (P i) (AddCommGroup.toAddGroup.{u2} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u1} (P i) (midpoint.{u4, max u3 u2, max u3 u1} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (Pi.addCommGroup.{u3, u2} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u3, u2, u4} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (AffineMap.instAddTorsorForAllForAllAddGroupToAddGroup.{u3, u2, u1} ι (fun (i : ι) => V i) (fun (i : ι) => P i) (fun (i : ι) => _inst_3 i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u4, u2, u1} k (V i) (P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
+  forall {k : Type.{u4}} {ι : Type.{u3}} {V : ι -> Type.{u2}} {P : ι -> Type.{u1}} [_inst_1 : Field.{u4} k] [_inst_2 : Invertible.{u4} k (NonUnitalNonAssocRing.toMul.{u4} k (NonAssocRing.toNonUnitalNonAssocRing.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))))) (Semiring.toOne.{u4} k (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1)))) (OfNat.ofNat.{u4} k 2 (instOfNat.{u4} k 2 (Semiring.toNatCast.{u4} k (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : forall (i : ι), AddCommGroup.{u2} (V i)] [_inst_4 : forall (i : ι), Module.{u4, u2} k (V i) (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u2, u1} (V i) (P i) (AddCommGroup.toAddGroup.{u2} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u1} (P i) (midpoint.{u4, max u3 u2, max u3 u1} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (Pi.addCommGroup.{u3, u2} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u3, u2, u4} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (Pi.instAddTorsorForAllForAllAddGroup.{u3, u2, u1} ι (fun (i : ι) => V i) (fun (i : ι) => AddCommGroup.toAddGroup.{u2} (V i) (_inst_3 i)) (fun (i : ι) => P i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u4, u2, u1} k (V i) (P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
 Case conversion may be inaccurate. Consider using '#align pi_midpoint_apply pi_midpoint_applyₓ'. -/
 @[simp]
 theorem pi_midpoint_apply {k ι : Type _} {V : ∀ i : ι, Type _} {P : ∀ i : ι, Type _} [Field k]
Diff
@@ -31,7 +31,7 @@ open AffineMap AffineEquiv
 lean 3 declaration is
   forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : DivisionRing.{u1} R] [_inst_2 : CharZero.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u1} R (DivInvMonoid.toHasInv.{u1} R (DivisionRing.toDivInvMonoid.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))))))))) (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) (invertibleTwo.{u1} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
-  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
+  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align line_map_inv_two lineMap_inv_twoₓ'. -/
 theorem lineMap_inv_two {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R] [AddCommGroup V]
     [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (2⁻¹ : R) = midpoint R a b :=
@@ -42,7 +42,7 @@ theorem lineMap_inv_two {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R
 lean 3 declaration is
   forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : DivisionRing.{u1} R] [_inst_2 : CharZero.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u1, u1, u1} R R R (instHDiv.{u1} R (DivInvMonoid.toHasDiv.{u1} R (DivisionRing.toDivInvMonoid.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))))))))) (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) (invertibleTwo.{u1} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
-  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
+  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align line_map_one_half lineMap_one_halfₓ'. -/
 theorem lineMap_one_half {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R] [AddCommGroup V]
     [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (1 / 2 : R) = midpoint R a b := by
@@ -53,7 +53,7 @@ theorem lineMap_one_half {R : Type _} {V P : Type _} [DivisionRing R] [CharZero
 lean 3 declaration is
   forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Invertible.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) _inst_2)) b) (midpoint.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
-  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : CommRing.{u3} R] [_inst_2 : Invertible.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) _inst_2)) b) (midpoint.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
+  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : CommRing.{u3} R] [_inst_2 : Invertible.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (Semiring.toNatCast.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) _inst_2)) b) (midpoint.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align homothety_inv_of_two homothety_invOf_twoₓ'. -/
 theorem homothety_invOf_two {R : Type _} {V P : Type _} [CommRing R] [Invertible (2 : R)]
     [AddCommGroup V] [Module R V] [AddTorsor V P] (a b : P) :
@@ -65,7 +65,7 @@ theorem homothety_invOf_two {R : Type _} {V P : Type _} [CommRing R] [Invertible
 lean 3 declaration is
   forall {k : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : Field.{u1} k] [_inst_2 : CharZero.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} k V P (Field.toCommRing.{u1} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u1} k (DivInvMonoid.toHasInv.{u1} k (DivisionRing.toDivInvMonoid.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))))))))) b) (midpoint.{u1, u2, u3} k V P (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) (invertibleTwo.{u1} k (Field.toDivisionRing.{u1} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
-  forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u3} k (Field.toInv.{u3} k _inst_1) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (NonAssocRing.toNatCast.{u3} k (Ring.toNonAssocRing.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
+  forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u3} k (Field.toInv.{u3} k _inst_1) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align homothety_inv_two homothety_inv_twoₓ'. -/
 theorem homothety_inv_two {k : Type _} {V P : Type _} [Field k] [CharZero k] [AddCommGroup V]
     [Module k V] [AddTorsor V P] (a b : P) : homothety a (2⁻¹ : k) b = midpoint k a b :=
@@ -76,7 +76,7 @@ theorem homothety_inv_two {k : Type _} {V P : Type _} [Field k] [CharZero k] [Ad
 lean 3 declaration is
   forall {k : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : Field.{u1} k] [_inst_2 : CharZero.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} k V P (Field.toCommRing.{u1} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u1, u1, u1} k k k (instHDiv.{u1} k (DivInvMonoid.toHasDiv.{u1} k (DivisionRing.toDivInvMonoid.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 1 (OfNat.mk.{u1} k 1 (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))))))))) b) (midpoint.{u1, u2, u3} k V P (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) (invertibleTwo.{u1} k (Field.toDivisionRing.{u1} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
-  forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u3, u3, u3} k k k (instHDiv.{u3} k (Field.toDiv.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 1 (One.toOfNat1.{u3} k (NonAssocRing.toOne.{u3} k (Ring.toNonAssocRing.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)))))) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (NonAssocRing.toNatCast.{u3} k (Ring.toNonAssocRing.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
+  forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u3, u3, u3} k k k (instHDiv.{u3} k (Field.toDiv.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 1 (One.toOfNat1.{u3} k (Semiring.toOne.{u3} k (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1)))))) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (Semiring.toNatCast.{u3} k (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align homothety_one_half homothety_one_halfₓ'. -/
 theorem homothety_one_half {k : Type _} {V P : Type _} [Field k] [CharZero k] [AddCommGroup V]
     [Module k V] [AddTorsor V P] (a b : P) : homothety a (1 / 2 : k) b = midpoint k a b := by
@@ -87,7 +87,7 @@ theorem homothety_one_half {k : Type _} {V P : Type _} [Field k] [CharZero k] [A
 lean 3 declaration is
   forall {k : Type.{u1}} {ι : Type.{u2}} {V : ι -> Type.{u3}} {P : ι -> Type.{u4}} [_inst_1 : Field.{u1} k] [_inst_2 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))))))))))] [_inst_3 : forall (i : ι), AddCommGroup.{u3} (V i)] [_inst_4 : forall (i : ι), Module.{u1, u3} k (V i) (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u3, u4} (V i) (P i) (AddCommGroup.toAddGroup.{u3} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u4} (P i) (midpoint.{u1, max u2 u3, max u2 u4} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) _inst_2 (Pi.addCommGroup.{u2, u3} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (Pi.addTorsor.{u2, u3, u4} ι (fun (i : ι) => V i) (fun (i : ι) => AddCommGroup.toAddGroup.{u3} (V i) (_inst_3 i)) (fun (i : ι) => P i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u1, u3, u4} k (V i) (P i) (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
 but is expected to have type
-  forall {k : Type.{u4}} {ι : Type.{u3}} {V : ι -> Type.{u2}} {P : ι -> Type.{u1}} [_inst_1 : Field.{u4} k] [_inst_2 : Invertible.{u4} k (NonUnitalNonAssocRing.toMul.{u4} k (NonAssocRing.toNonUnitalNonAssocRing.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))))) (NonAssocRing.toOne.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)))) (OfNat.ofNat.{u4} k 2 (instOfNat.{u4} k 2 (NonAssocRing.toNatCast.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : forall (i : ι), AddCommGroup.{u2} (V i)] [_inst_4 : forall (i : ι), Module.{u4, u2} k (V i) (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u2, u1} (V i) (P i) (AddCommGroup.toAddGroup.{u2} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u1} (P i) (midpoint.{u4, max u3 u2, max u3 u1} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (Pi.addCommGroup.{u3, u2} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u3, u2, u4} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (AffineMap.instAddTorsorForAllForAllAddGroupToAddGroup.{u3, u2, u1} ι (fun (i : ι) => V i) (fun (i : ι) => P i) (fun (i : ι) => _inst_3 i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u4, u2, u1} k (V i) (P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
+  forall {k : Type.{u4}} {ι : Type.{u3}} {V : ι -> Type.{u2}} {P : ι -> Type.{u1}} [_inst_1 : Field.{u4} k] [_inst_2 : Invertible.{u4} k (NonUnitalNonAssocRing.toMul.{u4} k (NonAssocRing.toNonUnitalNonAssocRing.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))))) (Semiring.toOne.{u4} k (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1)))) (OfNat.ofNat.{u4} k 2 (instOfNat.{u4} k 2 (Semiring.toNatCast.{u4} k (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : forall (i : ι), AddCommGroup.{u2} (V i)] [_inst_4 : forall (i : ι), Module.{u4, u2} k (V i) (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u2, u1} (V i) (P i) (AddCommGroup.toAddGroup.{u2} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u1} (P i) (midpoint.{u4, max u3 u2, max u3 u1} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (Pi.addCommGroup.{u3, u2} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u3, u2, u4} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (AffineMap.instAddTorsorForAllForAllAddGroupToAddGroup.{u3, u2, u1} ι (fun (i : ι) => V i) (fun (i : ι) => P i) (fun (i : ι) => _inst_3 i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u4, u2, u1} k (V i) (P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
 Case conversion may be inaccurate. Consider using '#align pi_midpoint_apply pi_midpoint_applyₓ'. -/
 @[simp]
 theorem pi_midpoint_apply {k ι : Type _} {V : ∀ i : ι, Type _} {P : ∀ i : ι, Type _} [Field k]
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 
 ! This file was ported from Lean 3 source module linear_algebra.affine_space.midpoint_zero
-! leanprover-community/mathlib commit 78261225eb5cedc61c5c74ecb44e5b385d13b733
+! leanprover-community/mathlib commit 31ca6f9cf5f90a6206092cd7f84b359dcb6d52e0
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.LinearAlgebra.AffineSpace.Midpoint
 /-!
 # Midpoint of a segment for characteristic zero
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We collect lemmas that require that the underlying ring has characteristic zero.
 
 ## Tags
Diff
@@ -26,7 +26,7 @@ open AffineMap AffineEquiv
 
 /- warning: line_map_inv_two -> lineMap_inv_two is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : DivisionRing.{u1} R] [_inst_2 : CharZero.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u1} R (DivInvMonoid.toHasInv.{u1} R (DivisionRing.toDivInvMonoid.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))))))))) (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) (invertibleTwo.{u1} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
+  forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : DivisionRing.{u1} R] [_inst_2 : CharZero.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u1} R (DivInvMonoid.toHasInv.{u1} R (DivisionRing.toDivInvMonoid.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))))))))) (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) (invertibleTwo.{u1} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
   forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align line_map_inv_two lineMap_inv_twoₓ'. -/
@@ -37,7 +37,7 @@ theorem lineMap_inv_two {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R
 
 /- warning: line_map_one_half -> lineMap_one_half is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : DivisionRing.{u1} R] [_inst_2 : CharZero.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u1, u1, u1} R R R (instHDiv.{u1} R (DivInvMonoid.toHasDiv.{u1} R (DivisionRing.toDivInvMonoid.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))))))))) (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) (invertibleTwo.{u1} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
+  forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : DivisionRing.{u1} R] [_inst_2 : CharZero.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u1, u1, u1} R R R (instHDiv.{u1} R (DivInvMonoid.toHasDiv.{u1} R (DivisionRing.toDivInvMonoid.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))))))))) (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) (invertibleTwo.{u1} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
   forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align line_map_one_half lineMap_one_halfₓ'. -/
@@ -48,7 +48,7 @@ theorem lineMap_one_half {R : Type _} {V P : Type _} [DivisionRing R] [CharZero
 
 /- warning: homothety_inv_of_two -> homothety_invOf_two is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Invertible.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) _inst_2)) b) (midpoint.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
+  forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Invertible.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) _inst_2)) b) (midpoint.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
   forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : CommRing.{u3} R] [_inst_2 : Invertible.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) _inst_2)) b) (midpoint.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align homothety_inv_of_two homothety_invOf_twoₓ'. -/
@@ -60,7 +60,7 @@ theorem homothety_invOf_two {R : Type _} {V P : Type _} [CommRing R] [Invertible
 
 /- warning: homothety_inv_two -> homothety_inv_two is a dubious translation:
 lean 3 declaration is
-  forall {k : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : Field.{u1} k] [_inst_2 : CharZero.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} k V P (Field.toCommRing.{u1} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u1} k (DivInvMonoid.toHasInv.{u1} k (DivisionRing.toDivInvMonoid.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))))))))) b) (midpoint.{u1, u2, u3} k V P (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) (invertibleTwo.{u1} k (Field.toDivisionRing.{u1} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
+  forall {k : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : Field.{u1} k] [_inst_2 : CharZero.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} k V P (Field.toCommRing.{u1} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u1} k (DivInvMonoid.toHasInv.{u1} k (DivisionRing.toDivInvMonoid.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))))))))) b) (midpoint.{u1, u2, u3} k V P (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) (invertibleTwo.{u1} k (Field.toDivisionRing.{u1} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
   forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u3} k (Field.toInv.{u3} k _inst_1) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (NonAssocRing.toNatCast.{u3} k (Ring.toNonAssocRing.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align homothety_inv_two homothety_inv_twoₓ'. -/
@@ -71,7 +71,7 @@ theorem homothety_inv_two {k : Type _} {V P : Type _} [Field k] [CharZero k] [Ad
 
 /- warning: homothety_one_half -> homothety_one_half is a dubious translation:
 lean 3 declaration is
-  forall {k : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : Field.{u1} k] [_inst_2 : CharZero.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} k V P (Field.toCommRing.{u1} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u1, u1, u1} k k k (instHDiv.{u1} k (DivInvMonoid.toHasDiv.{u1} k (DivisionRing.toDivInvMonoid.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 1 (OfNat.mk.{u1} k 1 (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))))))))) b) (midpoint.{u1, u2, u3} k V P (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) (invertibleTwo.{u1} k (Field.toDivisionRing.{u1} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
+  forall {k : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : Field.{u1} k] [_inst_2 : CharZero.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} k V P (Field.toCommRing.{u1} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u1, u1, u1} k k k (instHDiv.{u1} k (DivInvMonoid.toHasDiv.{u1} k (DivisionRing.toDivInvMonoid.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 1 (OfNat.mk.{u1} k 1 (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))))))))) b) (midpoint.{u1, u2, u3} k V P (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) (invertibleTwo.{u1} k (Field.toDivisionRing.{u1} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
 but is expected to have type
   forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u3, u3, u3} k k k (instHDiv.{u3} k (Field.toDiv.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 1 (One.toOfNat1.{u3} k (NonAssocRing.toOne.{u3} k (Ring.toNonAssocRing.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)))))) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (NonAssocRing.toNatCast.{u3} k (Ring.toNonAssocRing.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
 Case conversion may be inaccurate. Consider using '#align homothety_one_half homothety_one_halfₓ'. -/
@@ -82,7 +82,7 @@ theorem homothety_one_half {k : Type _} {V P : Type _} [Field k] [CharZero k] [A
 
 /- warning: pi_midpoint_apply -> pi_midpoint_apply is a dubious translation:
 lean 3 declaration is
-  forall {k : Type.{u1}} {ι : Type.{u2}} {V : ι -> Type.{u3}} {P : ι -> Type.{u4}} [_inst_1 : Field.{u1} k] [_inst_2 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))))))))))] [_inst_3 : forall (i : ι), AddCommGroup.{u3} (V i)] [_inst_4 : forall (i : ι), Module.{u1, u3} k (V i) (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u3, u4} (V i) (P i) (AddCommGroup.toAddGroup.{u3} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u4} (P i) (midpoint.{u1, max u2 u3, max u2 u4} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) _inst_2 (Pi.addCommGroup.{u2, u3} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (Pi.addTorsor.{u2, u3, u4} ι (fun (i : ι) => V i) (fun (i : ι) => AddCommGroup.toAddGroup.{u3} (V i) (_inst_3 i)) (fun (i : ι) => P i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u1, u3, u4} k (V i) (P i) (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
+  forall {k : Type.{u1}} {ι : Type.{u2}} {V : ι -> Type.{u3}} {P : ι -> Type.{u4}} [_inst_1 : Field.{u1} k] [_inst_2 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (AddCommGroupWithOne.toAddGroupWithOne.{u1} k (Ring.toAddCommGroupWithOne.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))))))))))] [_inst_3 : forall (i : ι), AddCommGroup.{u3} (V i)] [_inst_4 : forall (i : ι), Module.{u1, u3} k (V i) (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u3, u4} (V i) (P i) (AddCommGroup.toAddGroup.{u3} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u4} (P i) (midpoint.{u1, max u2 u3, max u2 u4} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) _inst_2 (Pi.addCommGroup.{u2, u3} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (Pi.addTorsor.{u2, u3, u4} ι (fun (i : ι) => V i) (fun (i : ι) => AddCommGroup.toAddGroup.{u3} (V i) (_inst_3 i)) (fun (i : ι) => P i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u1, u3, u4} k (V i) (P i) (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
 but is expected to have type
   forall {k : Type.{u4}} {ι : Type.{u3}} {V : ι -> Type.{u2}} {P : ι -> Type.{u1}} [_inst_1 : Field.{u4} k] [_inst_2 : Invertible.{u4} k (NonUnitalNonAssocRing.toMul.{u4} k (NonAssocRing.toNonUnitalNonAssocRing.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))))) (NonAssocRing.toOne.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)))) (OfNat.ofNat.{u4} k 2 (instOfNat.{u4} k 2 (NonAssocRing.toNatCast.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : forall (i : ι), AddCommGroup.{u2} (V i)] [_inst_4 : forall (i : ι), Module.{u4, u2} k (V i) (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u2, u1} (V i) (P i) (AddCommGroup.toAddGroup.{u2} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u1} (P i) (midpoint.{u4, max u3 u2, max u3 u1} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (Pi.addCommGroup.{u3, u2} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u3, u2, u4} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (AffineMap.instAddTorsorForAllForAllAddGroupToAddGroup.{u3, u2, u1} ι (fun (i : ι) => V i) (fun (i : ι) => P i) (fun (i : ι) => _inst_3 i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u4, u2, u1} k (V i) (P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
 Case conversion may be inaccurate. Consider using '#align pi_midpoint_apply pi_midpoint_applyₓ'. -/
Diff
@@ -24,32 +24,68 @@ midpoint
 
 open AffineMap AffineEquiv
 
+/- warning: line_map_inv_two -> lineMap_inv_two is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : DivisionRing.{u1} R] [_inst_2 : CharZero.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u1} R (DivInvMonoid.toHasInv.{u1} R (DivisionRing.toDivInvMonoid.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))))))))) (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) (invertibleTwo.{u1} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
+but is expected to have type
+  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (Inv.inv.{u3} R (DivisionRing.toInv.{u3} R _inst_1) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
+Case conversion may be inaccurate. Consider using '#align line_map_inv_two lineMap_inv_twoₓ'. -/
 theorem lineMap_inv_two {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R] [AddCommGroup V]
     [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (2⁻¹ : R) = midpoint R a b :=
   rfl
 #align line_map_inv_two lineMap_inv_two
 
+/- warning: line_map_one_half -> lineMap_one_half is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : DivisionRing.{u1} R] [_inst_2 : CharZero.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u1, u1, u1} R R R (instHDiv.{u1} R (DivInvMonoid.toHasDiv.{u1} R (DivisionRing.toDivInvMonoid.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1)))))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (DivisionRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R _inst_1))))))))))) (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R _inst_1) (invertibleTwo.{u1} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
+but is expected to have type
+  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : DivisionRing.{u3} R] [_inst_2 : CharZero.{u3} R (AddGroupWithOne.toAddMonoidWithOne.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (DivisionRing.toDivisionSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1)) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R _inst_1)))) _inst_3 _inst_4 _inst_5) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 a b) (HDiv.hDiv.{u3, u3, u3} R R R (instHDiv.{u3} R (DivisionRing.toDiv.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (DivisionRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R _inst_1) (invertibleTwo.{u3} R _inst_1 _inst_2) _inst_3 _inst_4 _inst_5 a b)
+Case conversion may be inaccurate. Consider using '#align line_map_one_half lineMap_one_halfₓ'. -/
 theorem lineMap_one_half {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R] [AddCommGroup V]
     [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (1 / 2 : R) = midpoint R a b := by
   rw [one_div, lineMap_inv_two]
 #align line_map_one_half lineMap_one_half
 
+/- warning: homothety_inv_of_two -> homothety_invOf_two is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Invertible.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} R V P V P (CommRing.toRing.{u1} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 2 (OfNat.mk.{u1} R 2 (bit0.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) _inst_2)) b) (midpoint.{u1, u2, u3} R V P (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
+but is expected to have type
+  forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : CommRing.{u3} R] [_inst_2 : Invertible.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} R V (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} R V P V P (CommRing.toRing.{u3} R _inst_1) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} R V P _inst_1 _inst_3 _inst_5 _inst_4 a (Invertible.invOf.{u3} R (NonUnitalNonAssocRing.toMul.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))) (OfNat.ofNat.{u3} R 2 (instOfNat.{u3} R 2 (NonAssocRing.toNatCast.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))) _inst_2)) b) (midpoint.{u3, u2, u1} R V P (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 a b)
+Case conversion may be inaccurate. Consider using '#align homothety_inv_of_two homothety_invOf_twoₓ'. -/
 theorem homothety_invOf_two {R : Type _} {V P : Type _} [CommRing R] [Invertible (2 : R)]
     [AddCommGroup V] [Module R V] [AddTorsor V P] (a b : P) :
     homothety a (⅟ 2 : R) b = midpoint R a b :=
   rfl
 #align homothety_inv_of_two homothety_invOf_two
 
+/- warning: homothety_inv_two -> homothety_inv_two is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : Field.{u1} k] [_inst_2 : CharZero.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} k V P (Field.toCommRing.{u1} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u1} k (DivInvMonoid.toHasInv.{u1} k (DivisionRing.toDivInvMonoid.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))))))))) b) (midpoint.{u1, u2, u3} k V P (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) (invertibleTwo.{u1} k (Field.toDivisionRing.{u1} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
+but is expected to have type
+  forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (Inv.inv.{u3} k (Field.toInv.{u3} k _inst_1) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (NonAssocRing.toNatCast.{u3} k (Ring.toNonAssocRing.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
+Case conversion may be inaccurate. Consider using '#align homothety_inv_two homothety_inv_twoₓ'. -/
 theorem homothety_inv_two {k : Type _} {V P : Type _} [Field k] [CharZero k] [AddCommGroup V]
     [Module k V] [AddTorsor V P] (a b : P) : homothety a (2⁻¹ : k) b = midpoint k a b :=
   rfl
 #align homothety_inv_two homothety_inv_two
 
+/- warning: homothety_one_half -> homothety_one_half is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : Field.{u1} k] [_inst_2 : CharZero.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u3} P (coeFn.{max (succ u2) (succ u3), succ u3} (AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (fun (_x : AffineMap.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) => P -> P) (AffineMap.hasCoeToFun.{u1, u2, u3, u2, u3} k V P V P (CommRing.toRing.{u1} k (Field.toCommRing.{u1} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u1, u2, u3} k V P (Field.toCommRing.{u1} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u1, u1, u1} k k k (instHDiv.{u1} k (DivInvMonoid.toHasDiv.{u1} k (DivisionRing.toDivInvMonoid.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (OfNat.ofNat.{u1} k 1 (OfNat.mk.{u1} k 1 (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))))))))))) b) (midpoint.{u1, u2, u3} k V P (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) (invertibleTwo.{u1} k (Field.toDivisionRing.{u1} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
+but is expected to have type
+  forall {k : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : Field.{u3} k] [_inst_2 : CharZero.{u3} k (AddGroupWithOne.toAddMonoidWithOne.{u3} k (Ring.toAddGroupWithOne.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1))))] [_inst_3 : AddCommGroup.{u2} V] [_inst_4 : Module.{u3, u2} k V (DivisionSemiring.toSemiring.{u3} k (Semifield.toDivisionSemiring.{u3} k (Field.toSemifield.{u3} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_3)] [_inst_5 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_3)] (a : P) (b : P), Eq.{succ u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) b) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u1} (AffineMap.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => P) _x) (AffineMap.funLike.{u3, u2, u1, u2, u1} k V P V P (CommRing.toRing.{u3} k (Field.toCommRing.{u3} k _inst_1)) _inst_3 _inst_4 _inst_5 _inst_3 _inst_4 _inst_5) (AffineMap.homothety.{u3, u2, u1} k V P (Field.toCommRing.{u3} k _inst_1) _inst_3 _inst_5 _inst_4 a (HDiv.hDiv.{u3, u3, u3} k k k (instHDiv.{u3} k (Field.toDiv.{u3} k _inst_1)) (OfNat.ofNat.{u3} k 1 (One.toOfNat1.{u3} k (NonAssocRing.toOne.{u3} k (Ring.toNonAssocRing.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)))))) (OfNat.ofNat.{u3} k 2 (instOfNat.{u3} k 2 (NonAssocRing.toNatCast.{u3} k (Ring.toNonAssocRing.{u3} k (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))))))) b) (midpoint.{u3, u2, u1} k V P (DivisionRing.toRing.{u3} k (Field.toDivisionRing.{u3} k _inst_1)) (invertibleTwo.{u3} k (Field.toDivisionRing.{u3} k _inst_1) _inst_2) _inst_3 _inst_4 _inst_5 a b)
+Case conversion may be inaccurate. Consider using '#align homothety_one_half homothety_one_halfₓ'. -/
 theorem homothety_one_half {k : Type _} {V P : Type _} [Field k] [CharZero k] [AddCommGroup V]
     [Module k V] [AddTorsor V P] (a b : P) : homothety a (1 / 2 : k) b = midpoint k a b := by
   rw [one_div, homothety_inv_two]
 #align homothety_one_half homothety_one_half
 
+/- warning: pi_midpoint_apply -> pi_midpoint_apply is a dubious translation:
+lean 3 declaration is
+  forall {k : Type.{u1}} {ι : Type.{u2}} {V : ι -> Type.{u3}} {P : ι -> Type.{u4}} [_inst_1 : Field.{u1} k] [_inst_2 : Invertible.{u1} k (Distrib.toHasMul.{u1} k (Ring.toDistrib.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{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 (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)))) (One.one.{u1} k (AddMonoidWithOne.toOne.{u1} k (AddGroupWithOne.toAddMonoidWithOne.{u1} k (NonAssocRing.toAddGroupWithOne.{u1} k (Ring.toNonAssocRing.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))))))))))] [_inst_3 : forall (i : ι), AddCommGroup.{u3} (V i)] [_inst_4 : forall (i : ι), Module.{u1, u3} k (V i) (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u3, u4} (V i) (P i) (AddCommGroup.toAddGroup.{u3} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u4} (P i) (midpoint.{u1, max u2 u3, max u2 u4} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) _inst_2 (Pi.addCommGroup.{u2, u3} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u2, u3, u1} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u1} k (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u3} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (Pi.addTorsor.{u2, u3, u4} ι (fun (i : ι) => V i) (fun (i : ι) => AddCommGroup.toAddGroup.{u3} (V i) (_inst_3 i)) (fun (i : ι) => P i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u1, u3, u4} k (V i) (P i) (DivisionRing.toRing.{u1} k (Field.toDivisionRing.{u1} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
+but is expected to have type
+  forall {k : Type.{u4}} {ι : Type.{u3}} {V : ι -> Type.{u2}} {P : ι -> Type.{u1}} [_inst_1 : Field.{u4} k] [_inst_2 : Invertible.{u4} k (NonUnitalNonAssocRing.toMul.{u4} k (NonAssocRing.toNonUnitalNonAssocRing.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))))) (NonAssocRing.toOne.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)))) (OfNat.ofNat.{u4} k 2 (instOfNat.{u4} k 2 (NonAssocRing.toNatCast.{u4} k (Ring.toNonAssocRing.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)))) (instAtLeastTwoHAddNatInstHAddInstAddNatOfNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)))))] [_inst_3 : forall (i : ι), AddCommGroup.{u2} (V i)] [_inst_4 : forall (i : ι), Module.{u4, u2} k (V i) (DivisionSemiring.toSemiring.{u4} k (Semifield.toDivisionSemiring.{u4} k (Field.toSemifield.{u4} k _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i))] [_inst_5 : forall (i : ι), AddTorsor.{u2, u1} (V i) (P i) (AddCommGroup.toAddGroup.{u2} (V i) (_inst_3 i))] (f : forall (i : ι), P i) (g : forall (i : ι), P i) (i : ι), Eq.{succ u1} (P i) (midpoint.{u4, max u3 u2, max u3 u1} k (forall (i : ι), V i) (forall (i : ι), P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (Pi.addCommGroup.{u3, u2} ι (fun (i : ι) => V i) (fun (i : ι) => _inst_3 i)) (Pi.module.{u3, u2, u4} ι (fun (i : ι) => V i) k (Ring.toSemiring.{u4} k (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1))) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} (V i) (_inst_3 i)) (fun (i : ι) => _inst_4 i)) (AffineMap.instAddTorsorForAllForAllAddGroupToAddGroup.{u3, u2, u1} ι (fun (i : ι) => V i) (fun (i : ι) => P i) (fun (i : ι) => _inst_3 i) (fun (i : ι) => _inst_5 i)) f g i) (midpoint.{u4, u2, u1} k (V i) (P i) (DivisionRing.toRing.{u4} k (Field.toDivisionRing.{u4} k _inst_1)) _inst_2 (_inst_3 i) (_inst_4 i) (_inst_5 i) (f i) (g i))
+Case conversion may be inaccurate. Consider using '#align pi_midpoint_apply pi_midpoint_applyₓ'. -/
 @[simp]
 theorem pi_midpoint_apply {k ι : Type _} {V : ∀ i : ι, Type _} {P : ∀ i : ι, Type _} [Field k]
     [Invertible (2 : k)] [∀ i, AddCommGroup (V i)] [∀ i, Module k (V i)]

Changes in mathlib4

mathlib3
mathlib4
chore(*): use α → β instead of ∀ _ : α, β (#9529)
Diff
@@ -48,7 +48,7 @@ theorem homothety_one_half {k : Type*} {V P : Type*} [Field k] [CharZero k] [Add
 #align homothety_one_half homothety_one_half
 
 @[simp]
-theorem pi_midpoint_apply {k ι : Type*} {V : ∀ _ : ι, Type*} {P : ∀ _ : ι, Type*} [Field k]
+theorem pi_midpoint_apply {k ι : Type*} {V : ι → Type*} {P : ι → Type*} [Field k]
     [Invertible (2 : k)] [∀ i, AddCommGroup (V i)] [∀ i, Module k (V i)]
     [∀ i, AddTorsor (V i) (P i)] (f g : ∀ i, P i) (i : ι) :
     midpoint k f g i = midpoint k (f i) (g i) :=
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -21,34 +21,34 @@ midpoint
 
 open AffineMap AffineEquiv
 
-theorem lineMap_inv_two {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R] [AddCommGroup V]
+theorem lineMap_inv_two {R : Type*} {V P : Type*} [DivisionRing R] [CharZero R] [AddCommGroup V]
     [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (2⁻¹ : R) = midpoint R a b :=
   rfl
 #align line_map_inv_two lineMap_inv_two
 
-theorem lineMap_one_half {R : Type _} {V P : Type _} [DivisionRing R] [CharZero R] [AddCommGroup V]
+theorem lineMap_one_half {R : Type*} {V P : Type*} [DivisionRing R] [CharZero R] [AddCommGroup V]
     [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (1 / 2 : R) = midpoint R a b := by
   rw [one_div, lineMap_inv_two]
 #align line_map_one_half lineMap_one_half
 
-theorem homothety_invOf_two {R : Type _} {V P : Type _} [CommRing R] [Invertible (2 : R)]
+theorem homothety_invOf_two {R : Type*} {V P : Type*} [CommRing R] [Invertible (2 : R)]
     [AddCommGroup V] [Module R V] [AddTorsor V P] (a b : P) :
     homothety a (⅟ 2 : R) b = midpoint R a b :=
   rfl
 #align homothety_inv_of_two homothety_invOf_two
 
-theorem homothety_inv_two {k : Type _} {V P : Type _} [Field k] [CharZero k] [AddCommGroup V]
+theorem homothety_inv_two {k : Type*} {V P : Type*} [Field k] [CharZero k] [AddCommGroup V]
     [Module k V] [AddTorsor V P] (a b : P) : homothety a (2⁻¹ : k) b = midpoint k a b :=
   rfl
 #align homothety_inv_two homothety_inv_two
 
-theorem homothety_one_half {k : Type _} {V P : Type _} [Field k] [CharZero k] [AddCommGroup V]
+theorem homothety_one_half {k : Type*} {V P : Type*} [Field k] [CharZero k] [AddCommGroup V]
     [Module k V] [AddTorsor V P] (a b : P) : homothety a (1 / 2 : k) b = midpoint k a b := by
   rw [one_div, homothety_inv_two]
 #align homothety_one_half homothety_one_half
 
 @[simp]
-theorem pi_midpoint_apply {k ι : Type _} {V : ∀ _ : ι, Type _} {P : ∀ _ : ι, Type _} [Field k]
+theorem pi_midpoint_apply {k ι : Type*} {V : ∀ _ : ι, Type*} {P : ∀ _ : ι, Type*} [Field k]
     [Invertible (2 : k)] [∀ i, AddCommGroup (V i)] [∀ i, Module k (V i)]
     [∀ i, AddTorsor (V i) (P i)] (f g : ∀ i, P i) (i : ι) :
     midpoint k f g i = midpoint k (f i) (g i) :=
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
-
-! This file was ported from Lean 3 source module linear_algebra.affine_space.midpoint_zero
-! leanprover-community/mathlib commit 78261225eb5cedc61c5c74ecb44e5b385d13b733
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.CharP.Invertible
 import Mathlib.LinearAlgebra.AffineSpace.Midpoint
 
+#align_import linear_algebra.affine_space.midpoint_zero from "leanprover-community/mathlib"@"78261225eb5cedc61c5c74ecb44e5b385d13b733"
+
 /-!
 # Midpoint of a segment for characteristic zero
 
feat: port LinearAlgebra.AffineSpace.MidpointZero (#3084)

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Dependencies 8 + 487

488 files ported (98.4%)
199579 lines ported (98.5%)
Show graph

The unported dependencies are