linear_algebra.affine_space.pointwise
⟷
Mathlib.LinearAlgebra.AffineSpace.Pointwise
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ Copyright (c) 2022 Hanting Zhang. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Hanting Zhang
-/
-import Mathbin.LinearAlgebra.AffineSpace.AffineSubspace
+import LinearAlgebra.AffineSpace.AffineSubspace
#align_import linear_algebra.affine_space.pointwise from "leanprover-community/mathlib"@"31ca6f9cf5f90a6206092cd7f84b359dcb6d52e0"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
Copyright (c) 2022 Hanting Zhang. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Hanting Zhang
-
-! This file was ported from Lean 3 source module linear_algebra.affine_space.pointwise
-! 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.LinearAlgebra.AffineSpace.AffineSubspace
+#align_import linear_algebra.affine_space.pointwise from "leanprover-community/mathlib"@"31ca6f9cf5f90a6206092cd7f84b359dcb6d52e0"
+
/-! # Pointwise instances on `affine_subspace`s
> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -37,8 +37,6 @@ variable [AddCommGroup V₁] [Module k V₁] [AddTorsor V₁ P₁]
variable [AddCommGroup V₂] [Module k V₂] [AddTorsor V₂ P₂]
-include V
-
#print AffineSubspace.pointwiseAddAction /-
/-- The additive action on an affine subspace corresponding to applying the action to every element.
@@ -56,35 +54,42 @@ scoped[Pointwise] attribute [instance] AffineSubspace.pointwiseAddAction
open scoped Pointwise
+#print AffineSubspace.coe_pointwise_vadd /-
@[simp]
theorem coe_pointwise_vadd (v : V) (s : AffineSubspace k P) :
((v +ᵥ s : AffineSubspace k P) : Set P) = v +ᵥ s :=
rfl
#align affine_subspace.coe_pointwise_vadd AffineSubspace.coe_pointwise_vadd
+-/
+#print AffineSubspace.vadd_mem_pointwise_vadd_iff /-
theorem vadd_mem_pointwise_vadd_iff {v : V} {s : AffineSubspace k P} {p : P} :
v +ᵥ p ∈ v +ᵥ s ↔ p ∈ s :=
vadd_mem_vadd_set_iff
#align affine_subspace.vadd_mem_pointwise_vadd_iff AffineSubspace.vadd_mem_pointwise_vadd_iff
+-/
+#print AffineSubspace.pointwise_vadd_bot /-
theorem pointwise_vadd_bot (v : V) : v +ᵥ (⊥ : AffineSubspace k P) = ⊥ := by simp [SetLike.ext'_iff]
#align affine_subspace.pointwise_vadd_bot AffineSubspace.pointwise_vadd_bot
+-/
+#print AffineSubspace.pointwise_vadd_direction /-
theorem pointwise_vadd_direction (v : V) (s : AffineSubspace k P) :
(v +ᵥ s).direction = s.direction := by
unfold VAdd.vadd
rw [map_direction]
exact Submodule.map_id _
#align affine_subspace.pointwise_vadd_direction AffineSubspace.pointwise_vadd_direction
+-/
+#print AffineSubspace.pointwise_vadd_span /-
theorem pointwise_vadd_span (v : V) (s : Set P) : v +ᵥ affineSpan k s = affineSpan k (v +ᵥ s) :=
map_span _ s
#align affine_subspace.pointwise_vadd_span AffineSubspace.pointwise_vadd_span
+-/
-omit V
-
-include V₁ V₂
-
+#print AffineSubspace.map_pointwise_vadd /-
theorem map_pointwise_vadd (f : P₁ →ᵃ[k] P₂) (v : V₁) (s : AffineSubspace k P₁) :
(v +ᵥ s).map f = f.linear v +ᵥ s.map f :=
by
@@ -94,6 +99,7 @@ theorem map_pointwise_vadd (f : P₁ →ᵃ[k] P₂) (v : V₁) (s : AffineSubsp
ext
exact f.map_vadd _ _
#align affine_subspace.map_pointwise_vadd AffineSubspace.map_pointwise_vadd
+-/
end AffineSubspace
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -21,7 +21,7 @@ This file provides the additive action `affine_subspace.pointwise_add_action` in
-/
-open Affine Pointwise
+open scoped Affine Pointwise
open Set
@@ -54,7 +54,7 @@ protected def pointwiseAddAction : AddAction V (AffineSubspace k P)
scoped[Pointwise] attribute [instance] AffineSubspace.pointwiseAddAction
-open Pointwise
+open scoped Pointwise
@[simp]
theorem coe_pointwise_vadd (v : V) (s : AffineSubspace k P) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -56,44 +56,20 @@ scoped[Pointwise] attribute [instance] AffineSubspace.pointwiseAddAction
open Pointwise
-/- warning: affine_subspace.coe_pointwise_vadd -> AffineSubspace.coe_pointwise_vadd is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V : Type.{u2}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (v : V) (s : AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4), Eq.{succ u3} (Set.{u3} P) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (Set.{u3} P) (HasLiftT.mk.{succ u3, succ u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (Set.{u3} P) (CoeTCₓ.coe.{succ u3, succ u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (Set.{u3} P) (SetLike.Set.hasCoeT.{u3, u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)))) (VAdd.vadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toHasVadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4)) v s)) (VAdd.vadd.{u2, u3} V (Set.{u3} P) (Set.vaddSet.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (Set.{u3} P) (HasLiftT.mk.{succ u3, succ u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (Set.{u3} P) (CoeTCₓ.coe.{succ u3, succ u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (Set.{u3} P) (SetLike.Set.hasCoeT.{u3, u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)))) s))
-but is expected to have type
- forall {k : Type.{u3}} [_inst_1 : Ring.{u3} k] {V : Type.{u2}} {P : Type.{u1}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} k V (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (v : V) (s : AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4), Eq.{succ u1} (Set.{u1} P) (SetLike.coe.{u1, u1} (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (HVAdd.hVAdd.{u2, u1, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (instHVAdd.{u2, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toVAdd.{u2, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u3, u2, u1} k _inst_1 V P _inst_2 _inst_3 _inst_4))) v s)) (HVAdd.hVAdd.{u2, u1, u1} V (Set.{u1} P) (Set.{u1} P) (instHVAdd.{u2, u1} V (Set.{u1} P) (Set.vaddSet.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)))) v (SetLike.coe.{u1, u1} (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) s))
-Case conversion may be inaccurate. Consider using '#align affine_subspace.coe_pointwise_vadd AffineSubspace.coe_pointwise_vaddₓ'. -/
@[simp]
theorem coe_pointwise_vadd (v : V) (s : AffineSubspace k P) :
((v +ᵥ s : AffineSubspace k P) : Set P) = v +ᵥ s :=
rfl
#align affine_subspace.coe_pointwise_vadd AffineSubspace.coe_pointwise_vadd
-/- warning: affine_subspace.vadd_mem_pointwise_vadd_iff -> AffineSubspace.vadd_mem_pointwise_vadd_iff is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V : Type.{u2}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {v : V} {s : AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4} {p : P}, Iff (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v p) (VAdd.vadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toHasVadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4)) v s)) (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)) p s)
-but is expected to have type
- forall {k : Type.{u3}} [_inst_1 : Ring.{u3} k] {V : Type.{u2}} {P : Type.{u1}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} k V (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {v : V} {s : AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4} {p : P}, Iff (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4)) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v p) (HVAdd.hVAdd.{u2, u1, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (instHVAdd.{u2, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toVAdd.{u2, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u3, u2, u1} k _inst_1 V P _inst_2 _inst_3 _inst_4))) v s)) (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4)) p s)
-Case conversion may be inaccurate. Consider using '#align affine_subspace.vadd_mem_pointwise_vadd_iff AffineSubspace.vadd_mem_pointwise_vadd_iffₓ'. -/
theorem vadd_mem_pointwise_vadd_iff {v : V} {s : AffineSubspace k P} {p : P} :
v +ᵥ p ∈ v +ᵥ s ↔ p ∈ s :=
vadd_mem_vadd_set_iff
#align affine_subspace.vadd_mem_pointwise_vadd_iff AffineSubspace.vadd_mem_pointwise_vadd_iff
-/- warning: affine_subspace.pointwise_vadd_bot -> AffineSubspace.pointwise_vadd_bot is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V : Type.{u2}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (v : V), Eq.{succ u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (VAdd.vadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toHasVadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4)) v (Bot.bot.{u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (CompleteLattice.toHasBot.{u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.completeLattice.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)))) (Bot.bot.{u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (CompleteLattice.toHasBot.{u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.completeLattice.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)))
-but is expected to have type
- forall {k : Type.{u2}} [_inst_1 : Ring.{u2} k] {V : Type.{u1}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} k V (Ring.toSemiring.{u2} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] (v : V), Eq.{succ u3} (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (HVAdd.hVAdd.{u1, u3, u3} V (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (instHVAdd.{u1, u3} V (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toVAdd.{u1, u3} V (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u2, u1, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4))) v (Bot.bot.{u3} (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (CompleteLattice.toBot.{u3} (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.instCompleteLatticeAffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)))) (Bot.bot.{u3} (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (CompleteLattice.toBot.{u3} (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.instCompleteLatticeAffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)))
-Case conversion may be inaccurate. Consider using '#align affine_subspace.pointwise_vadd_bot AffineSubspace.pointwise_vadd_botₓ'. -/
theorem pointwise_vadd_bot (v : V) : v +ᵥ (⊥ : AffineSubspace k P) = ⊥ := by simp [SetLike.ext'_iff]
#align affine_subspace.pointwise_vadd_bot AffineSubspace.pointwise_vadd_bot
-/- warning: affine_subspace.pointwise_vadd_direction -> AffineSubspace.pointwise_vadd_direction is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V : Type.{u2}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (v : V) (s : AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4), Eq.{succ u2} (Submodule.{u1, u2} k V (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (AffineSubspace.direction.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toHasVadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4)) v s)) (AffineSubspace.direction.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4 s)
-but is expected to have type
- forall {k : Type.{u3}} [_inst_1 : Ring.{u3} k] {V : Type.{u2}} {P : Type.{u1}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} k V (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (v : V) (s : AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4), Eq.{succ u2} (Submodule.{u3, u2} k V (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (AffineSubspace.direction.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (instHVAdd.{u2, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toVAdd.{u2, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u3, u2, u1} k _inst_1 V P _inst_2 _inst_3 _inst_4))) v s)) (AffineSubspace.direction.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4 s)
-Case conversion may be inaccurate. Consider using '#align affine_subspace.pointwise_vadd_direction AffineSubspace.pointwise_vadd_directionₓ'. -/
theorem pointwise_vadd_direction (v : V) (s : AffineSubspace k P) :
(v +ᵥ s).direction = s.direction := by
unfold VAdd.vadd
@@ -101,12 +77,6 @@ theorem pointwise_vadd_direction (v : V) (s : AffineSubspace k P) :
exact Submodule.map_id _
#align affine_subspace.pointwise_vadd_direction AffineSubspace.pointwise_vadd_direction
-/- warning: affine_subspace.pointwise_vadd_span -> AffineSubspace.pointwise_vadd_span is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V : Type.{u2}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (v : V) (s : Set.{u3} P), Eq.{succ u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (VAdd.vadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toHasVadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4)) v (affineSpan.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4 s)) (affineSpan.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V (Set.{u3} P) (Set.vaddSet.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v s))
-but is expected to have type
- forall {k : Type.{u2}} [_inst_1 : Ring.{u2} k] {V : Type.{u1}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} k V (Ring.toSemiring.{u2} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] (v : V) (s : Set.{u3} P), Eq.{succ u3} (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (HVAdd.hVAdd.{u1, u3, u3} V (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (instHVAdd.{u1, u3} V (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toVAdd.{u1, u3} V (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u2, u1, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4))) v (affineSpan.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4 s)) (affineSpan.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u1, u3, u3} V (Set.{u3} P) (Set.{u3} P) (instHVAdd.{u1, u3} V (Set.{u3} P) (Set.vaddSet.{u1, u3} V P (AddAction.toVAdd.{u1, u3} V P (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2))) (AddTorsor.toAddAction.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2) _inst_4)))) v s))
-Case conversion may be inaccurate. Consider using '#align affine_subspace.pointwise_vadd_span AffineSubspace.pointwise_vadd_spanₓ'. -/
theorem pointwise_vadd_span (v : V) (s : Set P) : v +ᵥ affineSpan k s = affineSpan k (v +ᵥ s) :=
map_span _ s
#align affine_subspace.pointwise_vadd_span AffineSubspace.pointwise_vadd_span
@@ -115,9 +85,6 @@ omit V
include V₁ V₂
-/- warning: affine_subspace.map_pointwise_vadd -> AffineSubspace.map_pointwise_vadd is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_subspace.map_pointwise_vadd AffineSubspace.map_pointwise_vaddₓ'. -/
theorem map_pointwise_vadd (f : P₁ →ᵃ[k] P₂) (v : V₁) (s : AffineSubspace k P₁) :
(v +ᵥ s).map f = f.linear v +ᵥ s.map f :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -116,10 +116,7 @@ omit V
include V₁ V₂
/- warning: affine_subspace.map_pointwise_vadd -> AffineSubspace.map_pointwise_vadd is a dubious translation:
-lean 3 declaration is
- forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V₁ : Type.{u2}} {P₁ : Type.{u3}} {V₂ : Type.{u4}} {P₂ : Type.{u5}} [_inst_5 : AddCommGroup.{u2} V₁] [_inst_6 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5)] [_inst_7 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_5)] [_inst_8 : AddCommGroup.{u4} V₂] [_inst_9 : Module.{u1, u4} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8)] [_inst_10 : AddTorsor.{u4, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u4} V₂ _inst_8)] (f : AffineMap.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (v : V₁) (s : AffineSubspace.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7), Eq.{succ u5} (AffineSubspace.{u1, u4, u5} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.map.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f (VAdd.vadd.{u2, u3} V₁ (AffineSubspace.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AddAction.toHasVadd.{u2, u3} V₁ (AffineSubspace.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_5))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V₁ P₁ _inst_5 _inst_6 _inst_7)) v s)) (VAdd.vadd.{u4, u5} V₂ (AffineSubspace.{u1, u4, u5} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AddAction.toHasVadd.{u4, u5} V₂ (AffineSubspace.{u1, u4, u5} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} V₂ (AddGroup.toSubNegMonoid.{u4} V₂ (AddCommGroup.toAddGroup.{u4} V₂ _inst_8))) (AffineSubspace.pointwiseAddAction.{u1, u4, u5} k _inst_1 V₂ P₂ _inst_8 _inst_9 _inst_10)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u4} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8) _inst_6 _inst_9) => V₁ -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8) _inst_6 _inst_9 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1)))) (AffineMap.linear.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f) v) (AffineSubspace.map.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f s))
-but is expected to have type
- forall {k : Type.{u5}} [_inst_1 : Ring.{u5} k] {V₁ : Type.{u4}} {P₁ : Type.{u3}} {V₂ : Type.{u2}} {P₂ : Type.{u1}} [_inst_5 : AddCommGroup.{u4} V₁] [_inst_6 : Module.{u5, u4} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5)] [_inst_7 : AddTorsor.{u4, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_5)] [_inst_8 : AddCommGroup.{u2} V₂] [_inst_9 : Module.{u5, u2} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8)] [_inst_10 : AddTorsor.{u2, u1} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_8)] (f : AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (v : V₁) (s : AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7), Eq.{succ u1} (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.map.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f (HVAdd.hVAdd.{u4, u3, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (instHVAdd.{u4, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AddAction.toVAdd.{u4, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_5))) (AffineSubspace.pointwiseAddAction.{u5, u4, u3} k _inst_1 V₁ P₁ _inst_5 _inst_6 _inst_7))) v s)) (HVAdd.hVAdd.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (instHVAdd.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AddAction.toVAdd.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) _inst_8))) (AffineSubspace.pointwiseAddAction.{u5, u2, u1} k _inst_1 ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) P₂ _inst_8 _inst_9 _inst_10))) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u5, u5, u4, u2} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8) _inst_6 _inst_9) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u2} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8) _inst_6 _inst_9 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1)))) (AffineMap.linear.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f) v) (AffineSubspace.map.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f s))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_subspace.map_pointwise_vadd AffineSubspace.map_pointwise_vaddₓ'. -/
theorem map_pointwise_vadd (f : P₁ →ᵃ[k] P₂) (v : V₁) (s : AffineSubspace k P₁) :
(v +ᵥ s).map f = f.linear v +ᵥ s.map f :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -119,7 +119,7 @@ include V₁ V₂
lean 3 declaration is
forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V₁ : Type.{u2}} {P₁ : Type.{u3}} {V₂ : Type.{u4}} {P₂ : Type.{u5}} [_inst_5 : AddCommGroup.{u2} V₁] [_inst_6 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5)] [_inst_7 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_5)] [_inst_8 : AddCommGroup.{u4} V₂] [_inst_9 : Module.{u1, u4} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8)] [_inst_10 : AddTorsor.{u4, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u4} V₂ _inst_8)] (f : AffineMap.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (v : V₁) (s : AffineSubspace.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7), Eq.{succ u5} (AffineSubspace.{u1, u4, u5} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.map.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f (VAdd.vadd.{u2, u3} V₁ (AffineSubspace.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AddAction.toHasVadd.{u2, u3} V₁ (AffineSubspace.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_5))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V₁ P₁ _inst_5 _inst_6 _inst_7)) v s)) (VAdd.vadd.{u4, u5} V₂ (AffineSubspace.{u1, u4, u5} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AddAction.toHasVadd.{u4, u5} V₂ (AffineSubspace.{u1, u4, u5} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} V₂ (AddGroup.toSubNegMonoid.{u4} V₂ (AddCommGroup.toAddGroup.{u4} V₂ _inst_8))) (AffineSubspace.pointwiseAddAction.{u1, u4, u5} k _inst_1 V₂ P₂ _inst_8 _inst_9 _inst_10)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u4} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8) _inst_6 _inst_9) => V₁ -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8) _inst_6 _inst_9 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1)))) (AffineMap.linear.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f) v) (AffineSubspace.map.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f s))
but is expected to have type
- forall {k : Type.{u5}} [_inst_1 : Ring.{u5} k] {V₁ : Type.{u4}} {P₁ : Type.{u3}} {V₂ : Type.{u2}} {P₂ : Type.{u1}} [_inst_5 : AddCommGroup.{u4} V₁] [_inst_6 : Module.{u5, u4} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5)] [_inst_7 : AddTorsor.{u4, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_5)] [_inst_8 : AddCommGroup.{u2} V₂] [_inst_9 : Module.{u5, u2} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8)] [_inst_10 : AddTorsor.{u2, u1} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_8)] (f : AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (v : V₁) (s : AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7), Eq.{succ u1} (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.map.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f (HVAdd.hVAdd.{u4, u3, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (instHVAdd.{u4, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AddAction.toVAdd.{u4, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_5))) (AffineSubspace.pointwiseAddAction.{u5, u4, u3} k _inst_1 V₁ P₁ _inst_5 _inst_6 _inst_7))) v s)) (HVAdd.hVAdd.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (instHVAdd.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AddAction.toVAdd.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) _inst_8))) (AffineSubspace.pointwiseAddAction.{u5, u2, u1} k _inst_1 ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) P₂ _inst_8 _inst_9 _inst_10))) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u5, u5, u4, u2} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8) _inst_6 _inst_9) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u2} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8) _inst_6 _inst_9 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1)))) (AffineMap.linear.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f) v) (AffineSubspace.map.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f s))
+ forall {k : Type.{u5}} [_inst_1 : Ring.{u5} k] {V₁ : Type.{u4}} {P₁ : Type.{u3}} {V₂ : Type.{u2}} {P₂ : Type.{u1}} [_inst_5 : AddCommGroup.{u4} V₁] [_inst_6 : Module.{u5, u4} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5)] [_inst_7 : AddTorsor.{u4, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_5)] [_inst_8 : AddCommGroup.{u2} V₂] [_inst_9 : Module.{u5, u2} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8)] [_inst_10 : AddTorsor.{u2, u1} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_8)] (f : AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (v : V₁) (s : AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7), Eq.{succ u1} (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.map.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f (HVAdd.hVAdd.{u4, u3, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (instHVAdd.{u4, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AddAction.toVAdd.{u4, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_5))) (AffineSubspace.pointwiseAddAction.{u5, u4, u3} k _inst_1 V₁ P₁ _inst_5 _inst_6 _inst_7))) v s)) (HVAdd.hVAdd.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (instHVAdd.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AddAction.toVAdd.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) _inst_8))) (AffineSubspace.pointwiseAddAction.{u5, u2, u1} k _inst_1 ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) v) P₂ _inst_8 _inst_9 _inst_10))) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u5, u5, u4, u2} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8) _inst_6 _inst_9) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V₁) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u2} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8) _inst_6 _inst_9 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1)))) (AffineMap.linear.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f) v) (AffineSubspace.map.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f s))
Case conversion may be inaccurate. Consider using '#align affine_subspace.map_pointwise_vadd AffineSubspace.map_pointwise_vaddₓ'. -/
theorem map_pointwise_vadd (f : P₁ →ᵃ[k] P₂) (v : V₁) (s : AffineSubspace k P₁) :
(v +ᵥ s).map f = f.linear v +ᵥ s.map f :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -119,7 +119,7 @@ include V₁ V₂
lean 3 declaration is
forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V₁ : Type.{u2}} {P₁ : Type.{u3}} {V₂ : Type.{u4}} {P₂ : Type.{u5}} [_inst_5 : AddCommGroup.{u2} V₁] [_inst_6 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5)] [_inst_7 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_5)] [_inst_8 : AddCommGroup.{u4} V₂] [_inst_9 : Module.{u1, u4} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8)] [_inst_10 : AddTorsor.{u4, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u4} V₂ _inst_8)] (f : AffineMap.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (v : V₁) (s : AffineSubspace.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7), Eq.{succ u5} (AffineSubspace.{u1, u4, u5} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.map.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f (VAdd.vadd.{u2, u3} V₁ (AffineSubspace.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AddAction.toHasVadd.{u2, u3} V₁ (AffineSubspace.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_5))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V₁ P₁ _inst_5 _inst_6 _inst_7)) v s)) (VAdd.vadd.{u4, u5} V₂ (AffineSubspace.{u1, u4, u5} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AddAction.toHasVadd.{u4, u5} V₂ (AffineSubspace.{u1, u4, u5} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} V₂ (AddGroup.toSubNegMonoid.{u4} V₂ (AddCommGroup.toAddGroup.{u4} V₂ _inst_8))) (AffineSubspace.pointwiseAddAction.{u1, u4, u5} k _inst_1 V₂ P₂ _inst_8 _inst_9 _inst_10)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u4} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8) _inst_6 _inst_9) => V₁ -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8) _inst_6 _inst_9 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1)))) (AffineMap.linear.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f) v) (AffineSubspace.map.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f s))
but is expected to have type
- forall {k : Type.{u5}} [_inst_1 : Ring.{u5} k] {V₁ : Type.{u4}} {P₁ : Type.{u3}} {V₂ : Type.{u2}} {P₂ : Type.{u1}} [_inst_5 : AddCommGroup.{u4} V₁] [_inst_6 : Module.{u5, u4} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5)] [_inst_7 : AddTorsor.{u4, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_5)] [_inst_8 : AddCommGroup.{u2} V₂] [_inst_9 : Module.{u5, u2} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8)] [_inst_10 : AddTorsor.{u2, u1} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_8)] (f : AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (v : V₁) (s : AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7), Eq.{succ u1} (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.map.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f (HVAdd.hVAdd.{u4, u3, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (instHVAdd.{u4, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AddAction.toVAdd.{u4, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_5))) (AffineSubspace.pointwiseAddAction.{u5, u4, u3} k _inst_1 V₁ P₁ _inst_5 _inst_6 _inst_7))) v s)) (HVAdd.hVAdd.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (instHVAdd.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AddAction.toVAdd.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) _inst_8))) (AffineSubspace.pointwiseAddAction.{u5, u2, u1} k _inst_1 ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) P₂ _inst_8 _inst_9 _inst_10))) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u5, u5, u4, u2} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8) _inst_6 _inst_9) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u2} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8) _inst_6 _inst_9 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1)))) (AffineMap.linear.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f) v) (AffineSubspace.map.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f s))
+ forall {k : Type.{u5}} [_inst_1 : Ring.{u5} k] {V₁ : Type.{u4}} {P₁ : Type.{u3}} {V₂ : Type.{u2}} {P₂ : Type.{u1}} [_inst_5 : AddCommGroup.{u4} V₁] [_inst_6 : Module.{u5, u4} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5)] [_inst_7 : AddTorsor.{u4, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_5)] [_inst_8 : AddCommGroup.{u2} V₂] [_inst_9 : Module.{u5, u2} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8)] [_inst_10 : AddTorsor.{u2, u1} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_8)] (f : AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (v : V₁) (s : AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7), Eq.{succ u1} (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.map.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f (HVAdd.hVAdd.{u4, u3, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (instHVAdd.{u4, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AddAction.toVAdd.{u4, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_5))) (AffineSubspace.pointwiseAddAction.{u5, u4, u3} k _inst_1 V₁ P₁ _inst_5 _inst_6 _inst_7))) v s)) (HVAdd.hVAdd.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (instHVAdd.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AddAction.toVAdd.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) _inst_8))) (AffineSubspace.pointwiseAddAction.{u5, u2, u1} k _inst_1 ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) v) P₂ _inst_8 _inst_9 _inst_10))) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u5, u5, u4, u2} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8) _inst_6 _inst_9) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V₁) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u2} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8) _inst_6 _inst_9 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1)))) (AffineMap.linear.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f) v) (AffineSubspace.map.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f s))
Case conversion may be inaccurate. Consider using '#align affine_subspace.map_pointwise_vadd AffineSubspace.map_pointwise_vaddₓ'. -/
theorem map_pointwise_vadd (f : P₁ →ᵃ[k] P₂) (v : V₁) (s : AffineSubspace k P₁) :
(v +ᵥ s).map f = f.linear v +ᵥ s.map f :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/3cacc945118c8c637d89950af01da78307f59325
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Hanting Zhang
! This file was ported from Lean 3 source module linear_algebra.affine_space.pointwise
-! leanprover-community/mathlib commit e96bdfbd1e8c98a09ff75f7ac6204d142debc840
+! leanprover-community/mathlib commit 31ca6f9cf5f90a6206092cd7f84b359dcb6d52e0
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -12,6 +12,9 @@ import Mathbin.LinearAlgebra.AffineSpace.AffineSubspace
/-! # Pointwise instances on `affine_subspace`s
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file provides the additive action `affine_subspace.pointwise_add_action` in the
`pointwise` locale.
mathlib commit https://github.com/leanprover-community/mathlib/commit/b685f506164f8d17a6404048bc4d696739c5d976
@@ -36,6 +36,7 @@ variable [AddCommGroup V₂] [Module k V₂] [AddTorsor V₂ P₂]
include V
+#print AffineSubspace.pointwiseAddAction /-
/-- The additive action on an affine subspace corresponding to applying the action to every element.
This is available as an instance in the `pointwise` locale. -/
@@ -46,25 +47,50 @@ protected def pointwiseAddAction : AddAction V (AffineSubspace k P)
add_vadd x y p :=
((congr_arg fun f => p.map f) <| AffineMap.ext <| add_vadd _ _).trans (p.map_map _ _).symm
#align affine_subspace.pointwise_add_action AffineSubspace.pointwiseAddAction
+-/
scoped[Pointwise] attribute [instance] AffineSubspace.pointwiseAddAction
open Pointwise
+/- warning: affine_subspace.coe_pointwise_vadd -> AffineSubspace.coe_pointwise_vadd is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V : Type.{u2}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (v : V) (s : AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4), Eq.{succ u3} (Set.{u3} P) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (Set.{u3} P) (HasLiftT.mk.{succ u3, succ u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (Set.{u3} P) (CoeTCₓ.coe.{succ u3, succ u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (Set.{u3} P) (SetLike.Set.hasCoeT.{u3, u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)))) (VAdd.vadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toHasVadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4)) v s)) (VAdd.vadd.{u2, u3} V (Set.{u3} P) (Set.vaddSet.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (Set.{u3} P) (HasLiftT.mk.{succ u3, succ u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (Set.{u3} P) (CoeTCₓ.coe.{succ u3, succ u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (Set.{u3} P) (SetLike.Set.hasCoeT.{u3, u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)))) s))
+but is expected to have type
+ forall {k : Type.{u3}} [_inst_1 : Ring.{u3} k] {V : Type.{u2}} {P : Type.{u1}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} k V (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (v : V) (s : AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4), Eq.{succ u1} (Set.{u1} P) (SetLike.coe.{u1, u1} (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (HVAdd.hVAdd.{u2, u1, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (instHVAdd.{u2, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toVAdd.{u2, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u3, u2, u1} k _inst_1 V P _inst_2 _inst_3 _inst_4))) v s)) (HVAdd.hVAdd.{u2, u1, u1} V (Set.{u1} P) (Set.{u1} P) (instHVAdd.{u2, u1} V (Set.{u1} P) (Set.vaddSet.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)))) v (SetLike.coe.{u1, u1} (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) s))
+Case conversion may be inaccurate. Consider using '#align affine_subspace.coe_pointwise_vadd AffineSubspace.coe_pointwise_vaddₓ'. -/
@[simp]
theorem coe_pointwise_vadd (v : V) (s : AffineSubspace k P) :
((v +ᵥ s : AffineSubspace k P) : Set P) = v +ᵥ s :=
rfl
#align affine_subspace.coe_pointwise_vadd AffineSubspace.coe_pointwise_vadd
+/- warning: affine_subspace.vadd_mem_pointwise_vadd_iff -> AffineSubspace.vadd_mem_pointwise_vadd_iff is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V : Type.{u2}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {v : V} {s : AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4} {p : P}, Iff (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v p) (VAdd.vadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toHasVadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4)) v s)) (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)) p s)
+but is expected to have type
+ forall {k : Type.{u3}} [_inst_1 : Ring.{u3} k] {V : Type.{u2}} {P : Type.{u1}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} k V (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {v : V} {s : AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4} {p : P}, Iff (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4)) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v p) (HVAdd.hVAdd.{u2, u1, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (instHVAdd.{u2, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toVAdd.{u2, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u3, u2, u1} k _inst_1 V P _inst_2 _inst_3 _inst_4))) v s)) (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4)) p s)
+Case conversion may be inaccurate. Consider using '#align affine_subspace.vadd_mem_pointwise_vadd_iff AffineSubspace.vadd_mem_pointwise_vadd_iffₓ'. -/
theorem vadd_mem_pointwise_vadd_iff {v : V} {s : AffineSubspace k P} {p : P} :
v +ᵥ p ∈ v +ᵥ s ↔ p ∈ s :=
vadd_mem_vadd_set_iff
#align affine_subspace.vadd_mem_pointwise_vadd_iff AffineSubspace.vadd_mem_pointwise_vadd_iff
+/- warning: affine_subspace.pointwise_vadd_bot -> AffineSubspace.pointwise_vadd_bot is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V : Type.{u2}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (v : V), Eq.{succ u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (VAdd.vadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toHasVadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4)) v (Bot.bot.{u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (CompleteLattice.toHasBot.{u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.completeLattice.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)))) (Bot.bot.{u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (CompleteLattice.toHasBot.{u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.completeLattice.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)))
+but is expected to have type
+ forall {k : Type.{u2}} [_inst_1 : Ring.{u2} k] {V : Type.{u1}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} k V (Ring.toSemiring.{u2} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] (v : V), Eq.{succ u3} (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (HVAdd.hVAdd.{u1, u3, u3} V (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (instHVAdd.{u1, u3} V (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toVAdd.{u1, u3} V (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u2, u1, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4))) v (Bot.bot.{u3} (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (CompleteLattice.toBot.{u3} (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.instCompleteLatticeAffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)))) (Bot.bot.{u3} (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (CompleteLattice.toBot.{u3} (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.instCompleteLatticeAffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4)))
+Case conversion may be inaccurate. Consider using '#align affine_subspace.pointwise_vadd_bot AffineSubspace.pointwise_vadd_botₓ'. -/
theorem pointwise_vadd_bot (v : V) : v +ᵥ (⊥ : AffineSubspace k P) = ⊥ := by simp [SetLike.ext'_iff]
#align affine_subspace.pointwise_vadd_bot AffineSubspace.pointwise_vadd_bot
+/- warning: affine_subspace.pointwise_vadd_direction -> AffineSubspace.pointwise_vadd_direction is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V : Type.{u2}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (v : V) (s : AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4), Eq.{succ u2} (Submodule.{u1, u2} k V (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (AffineSubspace.direction.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toHasVadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4)) v s)) (AffineSubspace.direction.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4 s)
+but is expected to have type
+ forall {k : Type.{u3}} [_inst_1 : Ring.{u3} k] {V : Type.{u2}} {P : Type.{u1}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} k V (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (v : V) (s : AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4), Eq.{succ u2} (Submodule.{u3, u2} k V (Ring.toSemiring.{u3} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (AffineSubspace.direction.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (instHVAdd.{u2, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toVAdd.{u2, u1} V (AffineSubspace.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u3, u2, u1} k _inst_1 V P _inst_2 _inst_3 _inst_4))) v s)) (AffineSubspace.direction.{u3, u2, u1} k V P _inst_1 _inst_2 _inst_3 _inst_4 s)
+Case conversion may be inaccurate. Consider using '#align affine_subspace.pointwise_vadd_direction AffineSubspace.pointwise_vadd_directionₓ'. -/
theorem pointwise_vadd_direction (v : V) (s : AffineSubspace k P) :
(v +ᵥ s).direction = s.direction := by
unfold VAdd.vadd
@@ -72,6 +98,12 @@ theorem pointwise_vadd_direction (v : V) (s : AffineSubspace k P) :
exact Submodule.map_id _
#align affine_subspace.pointwise_vadd_direction AffineSubspace.pointwise_vadd_direction
+/- warning: affine_subspace.pointwise_vadd_span -> AffineSubspace.pointwise_vadd_span is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V : Type.{u2}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} k V (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (v : V) (s : Set.{u3} P), Eq.{succ u3} (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (VAdd.vadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toHasVadd.{u2, u3} V (AffineSubspace.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4)) v (affineSpan.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4 s)) (affineSpan.{u1, u2, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V (Set.{u3} P) (Set.vaddSet.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v s))
+but is expected to have type
+ forall {k : Type.{u2}} [_inst_1 : Ring.{u2} k] {V : Type.{u1}} {P : Type.{u3}} [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} k V (Ring.toSemiring.{u2} k _inst_1) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] (v : V) (s : Set.{u3} P), Eq.{succ u3} (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (HVAdd.hVAdd.{u1, u3, u3} V (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (instHVAdd.{u1, u3} V (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (AddAction.toVAdd.{u1, u3} V (AffineSubspace.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4) (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2))) (AffineSubspace.pointwiseAddAction.{u2, u1, u3} k _inst_1 V P _inst_2 _inst_3 _inst_4))) v (affineSpan.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4 s)) (affineSpan.{u2, u1, u3} k V P _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u1, u3, u3} V (Set.{u3} P) (Set.{u3} P) (instHVAdd.{u1, u3} V (Set.{u3} P) (Set.vaddSet.{u1, u3} V P (AddAction.toVAdd.{u1, u3} V P (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2))) (AddTorsor.toAddAction.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2) _inst_4)))) v s))
+Case conversion may be inaccurate. Consider using '#align affine_subspace.pointwise_vadd_span AffineSubspace.pointwise_vadd_spanₓ'. -/
theorem pointwise_vadd_span (v : V) (s : Set P) : v +ᵥ affineSpan k s = affineSpan k (v +ᵥ s) :=
map_span _ s
#align affine_subspace.pointwise_vadd_span AffineSubspace.pointwise_vadd_span
@@ -80,6 +112,12 @@ omit V
include V₁ V₂
+/- warning: affine_subspace.map_pointwise_vadd -> AffineSubspace.map_pointwise_vadd is a dubious translation:
+lean 3 declaration is
+ forall {k : Type.{u1}} [_inst_1 : Ring.{u1} k] {V₁ : Type.{u2}} {P₁ : Type.{u3}} {V₂ : Type.{u4}} {P₂ : Type.{u5}} [_inst_5 : AddCommGroup.{u2} V₁] [_inst_6 : Module.{u1, u2} k V₁ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5)] [_inst_7 : AddTorsor.{u2, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_5)] [_inst_8 : AddCommGroup.{u4} V₂] [_inst_9 : Module.{u1, u4} k V₂ (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8)] [_inst_10 : AddTorsor.{u4, u5} V₂ P₂ (AddCommGroup.toAddGroup.{u4} V₂ _inst_8)] (f : AffineMap.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (v : V₁) (s : AffineSubspace.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7), Eq.{succ u5} (AffineSubspace.{u1, u4, u5} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.map.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f (VAdd.vadd.{u2, u3} V₁ (AffineSubspace.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AddAction.toHasVadd.{u2, u3} V₁ (AffineSubspace.{u1, u2, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (SubNegMonoid.toAddMonoid.{u2} V₁ (AddGroup.toSubNegMonoid.{u2} V₁ (AddCommGroup.toAddGroup.{u2} V₁ _inst_5))) (AffineSubspace.pointwiseAddAction.{u1, u2, u3} k _inst_1 V₁ P₁ _inst_5 _inst_6 _inst_7)) v s)) (VAdd.vadd.{u4, u5} V₂ (AffineSubspace.{u1, u4, u5} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AddAction.toHasVadd.{u4, u5} V₂ (AffineSubspace.{u1, u4, u5} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} V₂ (AddGroup.toSubNegMonoid.{u4} V₂ (AddCommGroup.toAddGroup.{u4} V₂ _inst_8))) (AffineSubspace.pointwiseAddAction.{u1, u4, u5} k _inst_1 V₂ P₂ _inst_8 _inst_9 _inst_10)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u4} k k (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8) _inst_6 _inst_9) => V₁ -> V₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} k k V₁ V₂ (Ring.toSemiring.{u1} k _inst_1) (Ring.toSemiring.{u1} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u4} V₂ _inst_8) _inst_6 _inst_9 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k (Ring.toSemiring.{u1} k _inst_1)))) (AffineMap.linear.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f) v) (AffineSubspace.map.{u1, u2, u3, u4, u5} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f s))
+but is expected to have type
+ forall {k : Type.{u5}} [_inst_1 : Ring.{u5} k] {V₁ : Type.{u4}} {P₁ : Type.{u3}} {V₂ : Type.{u2}} {P₂ : Type.{u1}} [_inst_5 : AddCommGroup.{u4} V₁] [_inst_6 : Module.{u5, u4} k V₁ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5)] [_inst_7 : AddTorsor.{u4, u3} V₁ P₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_5)] [_inst_8 : AddCommGroup.{u2} V₂] [_inst_9 : Module.{u5, u2} k V₂ (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8)] [_inst_10 : AddTorsor.{u2, u1} V₂ P₂ (AddCommGroup.toAddGroup.{u2} V₂ _inst_8)] (f : AffineMap.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10) (v : V₁) (s : AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7), Eq.{succ u1} (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.map.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f (HVAdd.hVAdd.{u4, u3, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (instHVAdd.{u4, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (AddAction.toVAdd.{u4, u3} V₁ (AffineSubspace.{u5, u4, u3} k V₁ P₁ _inst_1 _inst_5 _inst_6 _inst_7) (SubNegMonoid.toAddMonoid.{u4} V₁ (AddGroup.toSubNegMonoid.{u4} V₁ (AddCommGroup.toAddGroup.{u4} V₁ _inst_5))) (AffineSubspace.pointwiseAddAction.{u5, u4, u3} k _inst_1 V₁ P₁ _inst_5 _inst_6 _inst_7))) v s)) (HVAdd.hVAdd.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (instHVAdd.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (AddAction.toVAdd.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) (AffineSubspace.{u5, u2, u1} k V₂ P₂ _inst_1 _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) _inst_8))) (AffineSubspace.pointwiseAddAction.{u5, u2, u1} k _inst_1 ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) v) P₂ _inst_8 _inst_9 _inst_10))) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (LinearMap.{u5, u5, u4, u2} k k (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1))) V₁ V₂ (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8) _inst_6 _inst_9) V₁ (fun (_x : V₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V₁) => V₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u5, u4, u2} k k V₁ V₂ (Ring.toSemiring.{u5} k _inst_1) (Ring.toSemiring.{u5} k _inst_1) (AddCommGroup.toAddCommMonoid.{u4} V₁ _inst_5) (AddCommGroup.toAddCommMonoid.{u2} V₂ _inst_8) _inst_6 _inst_9 (RingHom.id.{u5} k (Semiring.toNonAssocSemiring.{u5} k (Ring.toSemiring.{u5} k _inst_1)))) (AffineMap.linear.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f) v) (AffineSubspace.map.{u5, u4, u3, u2, u1} k V₁ P₁ V₂ P₂ _inst_1 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 _inst_10 f s))
+Case conversion may be inaccurate. Consider using '#align affine_subspace.map_pointwise_vadd AffineSubspace.map_pointwise_vaddₓ'. -/
theorem map_pointwise_vadd (f : P₁ →ᵃ[k] P₂) (v : V₁) (s : AffineSubspace k P₁) :
(v +ᵥ s).map f = f.linear v +ᵥ s.map f :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/57e09a1296bfb4330ddf6624f1028ba186117d82
@@ -41,7 +41,7 @@ include V
This is available as an instance in the `pointwise` locale. -/
protected def pointwiseAddAction : AddAction V (AffineSubspace k P)
where
- vadd x S := S.map (AffineEquiv.constVadd k P x)
+ vadd x S := S.map (AffineEquiv.constVAdd k P x)
zero_vadd p := ((congr_arg fun f => p.map f) <| AffineMap.ext <| zero_vadd _).trans p.map_id
add_vadd x y p :=
((congr_arg fun f => p.map f) <| AffineMap.ext <| add_vadd _ _).trans (p.map_map _ _).symm
mathlib commit https://github.com/leanprover-community/mathlib/commit/7ec294687917cbc5c73620b4414ae9b5dd9ae1b4
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Hanting Zhang
! This file was ported from Lean 3 source module linear_algebra.affine_space.pointwise
-! leanprover-community/mathlib commit c1faa2ee45665f3590ca56707208ae4ff68e8d00
+! leanprover-community/mathlib commit e96bdfbd1e8c98a09ff75f7ac6204d142debc840
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -62,10 +62,7 @@ theorem vadd_mem_pointwise_vadd_iff {v : V} {s : AffineSubspace k P} {p : P} :
vadd_mem_vadd_set_iff
#align affine_subspace.vadd_mem_pointwise_vadd_iff AffineSubspace.vadd_mem_pointwise_vadd_iff
-theorem pointwise_vadd_bot (v : V) : v +ᵥ (⊥ : AffineSubspace k P) = ⊥ :=
- by
- ext
- simp
+theorem pointwise_vadd_bot (v : V) : v +ᵥ (⊥ : AffineSubspace k P) = ⊥ := by simp [SetLike.ext'_iff]
#align affine_subspace.pointwise_vadd_bot AffineSubspace.pointwise_vadd_bot
theorem pointwise_vadd_direction (v : V) (s : AffineSubspace k P) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -22,13 +22,9 @@ open Set
namespace AffineSubspace
variable {k : Type*} [Ring k]
-
variable {V P V₁ P₁ V₂ P₂ : Type*}
-
variable [AddCommGroup V] [Module k V] [AffineSpace V P]
-
variable [AddCommGroup V₁] [Module k V₁] [AddTorsor V₁ P₁]
-
variable [AddCommGroup V₂] [Module k V₂] [AddTorsor V₂ P₂]
/-- The additive action on an affine subspace corresponding to applying the action to every element.
@@ -45,7 +45,7 @@ scoped[Pointwise] attribute [instance] AffineSubspace.pointwiseAddAction
open Pointwise
--- Porting note: new theorem
+-- Porting note (#10756): new theorem
theorem pointwise_vadd_eq_map (v : V) (s : AffineSubspace k P) :
v +ᵥ s = s.map (AffineEquiv.constVAdd k P v) :=
rfl
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -45,7 +45,7 @@ scoped[Pointwise] attribute [instance] AffineSubspace.pointwiseAddAction
open Pointwise
---Porting note: new theorem
+-- Porting note: new theorem
theorem pointwise_vadd_eq_map (v : V) (s : AffineSubspace k P) :
v +ᵥ s = s.map (AffineEquiv.constVAdd k P v) :=
rfl
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -21,9 +21,9 @@ open Set
namespace AffineSubspace
-variable {k : Type _} [Ring k]
+variable {k : Type*} [Ring k]
-variable {V P V₁ P₁ V₂ P₂ : Type _}
+variable {V P V₁ P₁ V₂ P₂ : Type*}
variable [AddCommGroup V] [Module k V] [AffineSpace V P]
@@ -2,14 +2,11 @@
Copyright (c) 2022 Hanting Zhang. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Hanting Zhang
-
-! This file was ported from Lean 3 source module linear_algebra.affine_space.pointwise
-! leanprover-community/mathlib commit e96bdfbd1e8c98a09ff75f7ac6204d142debc840
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace
+#align_import linear_algebra.affine_space.pointwise from "leanprover-community/mathlib"@"e96bdfbd1e8c98a09ff75f7ac6204d142debc840"
+
/-! # Pointwise instances on `AffineSubspace`s
This file provides the additive action `AffineSubspace.pointwiseAddAction` in the
The unported dependencies are