ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Finset.centroid_eq_of_inj_on_of_image_eq
theorem centroid_eq_of_inj_on_of_image_eq {p : ι → P}
    (hi : ∀ i ∈ s, ∀ j ∈ s, p i = p j → i = j) {p₂ : ι₂ → P}
    (hi₂ : ∀ i ∈ s₂, ∀ j ∈ s₂, p₂ i = p₂ j → i = j) (he : p '' ↑s = p₂ '' ↑s₂) :
    s.centroid k p = s₂.centroid k p₂ 
Arguments: (k : Type u_1) {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {ι : Type u_4} (s : Finset ι) {ι₂ : Type u_5} (s₂ : Finset ι₂) {p : ι → P} (hi : ∀ i ∈ s, ∀ j ∈ s, p i = p j → i = j) {p₂ : ι₂ → P} (hi₂ : ∀ i ∈ s₂, ∀ j ∈ s₂, p₂ i = p₂ j → i = j) (he : p '' ↑s = p₂ '' ↑s₂)
Goal: Finset.centroid k s p = Finset.centroid k s₂ p₂
-- weightedVSub_mem_vectorSpan
theorem weightedVSub_mem_vectorSpan {s : Finset ι} {w : ι → k} (h : ∑ i ∈ s, w i = 0)
    (p : ι → P) : s.weightedVSub p w ∈ vectorSpan k (Set.range p) 
Arguments: {ι : Type u_1} {k : Type u_2} {V : Type u_3} {P : Type u_4} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {s : Finset ι} {w : ι → k} (h : ∑ i ∈ s, w i = 0) (p : ι → P)
Goal: (s.weightedVSub p) w ∈ vectorSpan k (Set.range p)
-- affineCombination_mem_affineSpan
theorem affineCombination_mem_affineSpan [Nontrivial k] {s : Finset ι} {w : ι → k}
    (h : ∑ i ∈ s, w i = 1) (p : ι → P) :
    s.affineCombination k p w ∈ affineSpan k (Set.range p) 
Arguments: {ι : Type u_1} {k : Type u_2} {V : Type u_3} {P : Type u_4} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] [Nontrivial k] {s : Finset ι} {w : ι → k} (h : ∑ i ∈ s, w i = 1) (p : ι → P)
Goal: (Finset.affineCombination k s p) w ∈ affineSpan k (Set.range p)
-- mem_vectorSpan_iff_eq_weightedVSub
theorem mem_vectorSpan_iff_eq_weightedVSub {v : V} {p : ι → P} :
    v ∈ vectorSpan k (Set.range p) ↔
      ∃ (s : Finset ι) (w : ι → k), ∑ i ∈ s, w i = 0 ∧ v = s.weightedVSub p w 
Arguments: {ι : Type u_1} (k : Type u_2) {V : Type u_3} {P : Type u_4} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {v : V} {p : ι → P}
Goal: v ∈ vectorSpan k (Set.range p) ↔ ∃ s w, ∑ i ∈ s, w i = 0 ∧ v = (s.weightedVSub p) w
-- eq_affineCombination_of_mem_affineSpan
theorem eq_affineCombination_of_mem_affineSpan {p1 : P} {p : ι → P}
    (h : p1 ∈ affineSpan k (Set.range p)) :
    ∃ (s : Finset ι) (w : ι → k), ∑ i ∈ s, w i = 1 ∧ p1 = s.affineCombination k p w 
Arguments: {ι : Type u_1} {k : Type u_2} {V : Type u_3} {P : Type u_4} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {p1 : P} {p : ι → P} (h : p1 ∈ affineSpan k (Set.range p))
Goal: ∃ s w, ∑ i ∈ s, w i = 1 ∧ p1 = (Finset.affineCombination k s p) w
-- eq_affineCombination_of_mem_affineSpan_of_fintype
theorem eq_affineCombination_of_mem_affineSpan_of_fintype [Fintype ι] {p1 : P} {p : ι → P}
    (h : p1 ∈ affineSpan k (Set.range p)) :
    ∃ w : ι → k, ∑ i, w i = 1 ∧ p1 = Finset.univ.affineCombination k p w 
Arguments: {ι : Type u_1} {k : Type u_2} {V : Type u_3} {P : Type u_4} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] [Fintype ι] {p1 : P} {p : ι → P} (h : p1 ∈ affineSpan k (Set.range p))
Goal: ∃ w, ∑ i : ι, w i = 1 ∧ p1 = (Finset.affineCombination k Finset.univ p) w
-- mem_affineSpan_iff_eq_affineCombination
theorem mem_affineSpan_iff_eq_affineCombination [Nontrivial k] {p1 : P} {p : ι → P} :
    p1 ∈ affineSpan k (Set.range p) ↔
      ∃ (s : Finset ι) (w : ι → k), ∑ i ∈ s, w i = 1 ∧ p1 = s.affineCombination k p w 
Arguments: {ι : Type u_1} (k : Type u_2) (V : Type u_3) {P : Type u_4} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] [Nontrivial k] {p1 : P} {p : ι → P}
Goal: p1 ∈ affineSpan k (Set.range p) ↔ ∃ s w, ∑ i ∈ s, w i = 1 ∧ p1 = (Finset.affineCombination k s p) w
-- mem_affineSpan_iff_eq_weightedVSubOfPoint_vadd
theorem mem_affineSpan_iff_eq_weightedVSubOfPoint_vadd [Nontrivial k] (p : ι → P) (j : ι) (q : P) :
    q ∈ affineSpan k (Set.range p) ↔
      ∃ (s : Finset ι) (w : ι → k), q = s.weightedVSubOfPoint p (p j) w +ᵥ p j 
Arguments: {ι : Type u_1} (k : Type u_2) (V : Type u_3) {P : Type u_4} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] [Nontrivial k] (p : ι → P) (j : ι) (q : P)
Goal: q ∈ affineSpan k (Set.range p) ↔ ∃ s w, q = (s.weightedVSubOfPoint p (p j)) w +ᵥ p j
-- affineSpan_eq_affineSpan_lineMap_units
theorem affineSpan_eq_affineSpan_lineMap_units [Nontrivial k] {s : Set P} {p : P} (hp : p ∈ s)
    (w : s → Units k) :
    affineSpan k (Set.range fun q : s => AffineMap.lineMap p ↑q (w q : k)) = affineSpan k s 
Arguments: {k : Type u_2} {V : Type u_3} {P : Type u_4} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] [Nontrivial k] {s : Set P} {p : P} (hp : p ∈ s) (w : ↑s → kˣ)
Goal: affineSpan k (Set.range fun q => (AffineMap.lineMap p ↑q) ↑(w q)) = affineSpan k s
-- centroid_mem_affineSpan_of_cast_card_ne_zero
theorem centroid_mem_affineSpan_of_cast_card_ne_zero {s : Finset ι} (p : ι → P)
    (h : (card s : k) ≠ 0) : s.centroid k p ∈ affineSpan k (range p) 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {ι : Type u_4} {s : Finset ι} (p : ι → P) (h : ↑s.card ≠ 0)
Goal: Finset.centroid k s p ∈ affineSpan k (Set.range p)
-- centroid_mem_affineSpan_of_card_ne_zero
theorem centroid_mem_affineSpan_of_card_ne_zero [CharZero k] {s : Finset ι} (p : ι → P)
    (h : card s ≠ 0) : s.centroid k p ∈ affineSpan k (range p) 
Arguments: (k : Type u_1) {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {ι : Type u_4} [CharZero k] {s : Finset ι} (p : ι → P) (h : s.card ≠ 0)
Goal: Finset.centroid k s p ∈ affineSpan k (Set.range p)
-- centroid_mem_affineSpan_of_nonempty
theorem centroid_mem_affineSpan_of_nonempty [CharZero k] {s : Finset ι} (p : ι → P)
    (h : s.Nonempty) : s.centroid k p ∈ affineSpan k (range p) 
Arguments: (k : Type u_1) {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {ι : Type u_4} [CharZero k] {s : Finset ι} (p : ι → P) (h : s.Nonempty)
Goal: Finset.centroid k s p ∈ affineSpan k (Set.range p)
-- centroid_mem_affineSpan_of_card_eq_add_one
theorem centroid_mem_affineSpan_of_card_eq_add_one [CharZero k] {s : Finset ι} (p : ι → P) {n : ℕ}
    (h : card s = n + 1) : s.centroid k p ∈ affineSpan k (range p) 
Arguments: (k : Type u_1) {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {ι : Type u_4} [CharZero k] {s : Finset ι} (p : ι → P) {n : ℕ} (h : s.card = n + 1)
Goal: Finset.centroid k s p ∈ affineSpan k (Set.range p)
-- AffineMap.map_vadd'
structure AffineMap (k : Type*) {V1 : Type*} (P1 : Type*) {V2 : Type*} (P2 : Type*) [Ring k]
  [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2]
  [AffineSpace V2 P2] where
  toFun : P1 → P2
  linear : V1 →ₗ[k] V2
  map_vadd' : ∀ (p : P1) (v : V1), toFun (v +ᵥ p) = linear v +ᵥ toFun p
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (self : P1 →ᵃ[k] P2) (p : P1) (v : V1)
Goal: self.toFun (v +ᵥ p) = self.linear v +ᵥ self.toFun p
-- LinearMap.coe_toAffineMap
@[simp]
theorem coe_toAffineMap : ⇑f.toAffineMap = f 
Arguments: {k : Type u_1} {V₁ : Type u_2} {V₂ : Type u_3} [Ring k] [AddCommGroup V₁] [Module k V₁] [AddCommGroup V₂] [Module k V₂] (f : V₁ →ₗ[k] V₂)
Goal: ⇑f.toAffineMap = ⇑f
-- LinearMap.toAffineMap_linear
@[simp]
theorem toAffineMap_linear : f.toAffineMap.linear = f 
Arguments: {k : Type u_1} {V₁ : Type u_2} {V₂ : Type u_3} [Ring k] [AddCommGroup V₁] [Module k V₁] [AddCommGroup V₂] [Module k V₂] (f : V₁ →ₗ[k] V₂)
Goal: f.toAffineMap.linear = f
-- AffineMap.coe_mk
@[simp]
theorem coe_mk (f : P1 → P2) (linear add) : ((mk f linear add : P1 →ᵃ[k] P2) : P1 → P2) = f 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 → P2) (linear : V1 →ₗ[k] V2) (add : ∀ (p : P1) (v : V1), f (v +ᵥ p) = linear v +ᵥ f p)
Goal: ⇑{ toFun := f, linear := linear, map_vadd' := add } = f
-- AffineMap.toFun_eq_coe
@[simp]
theorem toFun_eq_coe (f : P1 →ᵃ[k] P2) : f.toFun = ⇑f 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 →ᵃ[k] P2)
Goal: f.toFun = ⇑f
-- AffineMap.map_vadd
@[simp]
theorem map_vadd (f : P1 →ᵃ[k] P2) (p : P1) (v : V1) : f (v +ᵥ p) = f.linear v +ᵥ f p 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 →ᵃ[k] P2) (p : P1) (v : V1)
Goal: f (v +ᵥ p) = f.linear v +ᵥ f p
-- AffineMap.linearMap_vsub
@[simp]
theorem linearMap_vsub (f : P1 →ᵃ[k] P2) (p1 p2 : P1) : f.linear (p1 -ᵥ p2) = f p1 -ᵥ f p2 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 →ᵃ[k] P2) (p1 p2 : P1)
Goal: f.linear (p1 -ᵥ p2) = f p1 -ᵥ f p2
-- AffineMap.ext
@[ext]
theorem ext {f g : P1 →ᵃ[k] P2} (h : ∀ p, f p = g p) : f = g 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] {f g : P1 →ᵃ[k] P2} (h : ∀ (p : P1), f p = g p)
Goal: f = g
-- AffineMap.ext_iff
theorem ext_iff {f g : P1 →ᵃ[k] P2} : f = g ↔ ∀ p, f p = g p 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] {f g : P1 →ᵃ[k] P2}
Goal: f = g ↔ ∀ (p : P1), f p = g p
-- AffineMap.coeFn_injective
theorem coeFn_injective : @Function.Injective (P1 →ᵃ[k] P2) (P1 → P2) (⇑) 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2]
Goal: Function.Injective DFunLike.coe
-- AffineMap.congr_arg
protected theorem congr_arg (f : P1 →ᵃ[k] P2) {x y : P1} (h : x = y) : f x = f y 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 →ᵃ[k] P2) {x y : P1} (h : x = y)
Goal: f x = f y
-- AffineMap.congr_fun
protected theorem congr_fun {f g : P1 →ᵃ[k] P2} (h : f = g) (x : P1) : f x = g x 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] {f g : P1 →ᵃ[k] P2} (h : f = g) (x : P1)
Goal: f x = g x
-- AffineMap.ext_linear
theorem ext_linear {f g : P1 →ᵃ[k] P2} (h₁ : f.linear = g.linear) {p : P1} (h₂ : f p = g p) :
    f = g 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] {f g : P1 →ᵃ[k] P2} (h₁ : f.linear = g.linear) {p : P1} (h₂ : f p = g p)
Goal: f = g
-- AffineMap.ext_linear_iff
theorem ext_linear_iff {f g : P1 →ᵃ[k] P2} : f = g ↔ (f.linear = g.linear) ∧ (∃ p, f p = g p) 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] {f g : P1 →ᵃ[k] P2}
Goal: f = g ↔ f.linear = g.linear ∧ ∃ p, f p = g p
-- AffineMap.coe_const
@[simp]
theorem coe_const (p : P2) : ⇑(const k P1 p) = Function.const P1 p 
Arguments: (k : Type u_1) {V1 : Type u_2} (P1 : Type u_3) {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (p : P2)
Goal: ⇑(AffineMap.const k P1 p) = Function.const P1 p
-- AffineMap.const_apply
@[simp]
theorem const_apply (p : P2) (q : P1) : (const k P1 p) q = p 
Arguments: (k : Type u_1) {V1 : Type u_2} (P1 : Type u_3) {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (p : P2) (q : P1)
Goal: (AffineMap.const k P1 p) q = p
-- AffineMap.const_linear
@[simp]
theorem const_linear (p : P2) : (const k P1 p).linear = 0 
Arguments: (k : Type u_1) {V1 : Type u_2} (P1 : Type u_3) {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (p : P2)
Goal: (AffineMap.const k P1 p).linear = 0
-- AffineMap.linear_eq_zero_iff_exists_const
theorem linear_eq_zero_iff_exists_const (f : P1 →ᵃ[k] P2) :
    f.linear = 0 ↔ ∃ q, f = const k P1 q 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 →ᵃ[k] P2)
Goal: f.linear = 0 ↔ ∃ q, f = AffineMap.const k P1 q
-- AffineMap.coe_mk'
@[simp]
theorem coe_mk' (f : P1 → P2) (f' : V1 →ₗ[k] V2) (p h) : ⇑(mk' f f' p h) = f 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 → P2) (f' : V1 →ₗ[k] V2) (p : P1) (h : ∀ (p' : P1), f p' = f' (p' -ᵥ p) +ᵥ f p)
Goal: ⇑(AffineMap.mk' f f' p h) = f
-- AffineMap.mk'_linear
@[simp]
theorem mk'_linear (f : P1 → P2) (f' : V1 →ₗ[k] V2) (p h) : (mk' f f' p h).linear = f' 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 → P2) (f' : V1 →ₗ[k] V2) (p : P1) (h : ∀ (p' : P1), f p' = f' (p' -ᵥ p) +ᵥ f p)
Goal: (AffineMap.mk' f f' p h).linear = f'
-- AffineMap.coe_smul
@[simp, norm_cast]
theorem coe_smul (c : R) (f : P1 →ᵃ[k] V2) : ⇑(c • f) = c • ⇑f 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] {R : Type u_10} [Monoid R] [DistribMulAction R V2] [SMulCommClass k R V2] (c : R) (f : P1 →ᵃ[k] V2)
Goal: ⇑(c • f) = c • ⇑f
-- AffineMap.smul_linear
@[simp]
theorem smul_linear (t : R) (f : P1 →ᵃ[k] V2) : (t • f).linear = t • f.linear 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] {R : Type u_10} [Monoid R] [DistribMulAction R V2] [SMulCommClass k R V2] (t : R) (f : P1 →ᵃ[k] V2)
Goal: (t • f).linear = t • f.linear
-- AffineMap.coe_zero
@[simp, norm_cast]
theorem coe_zero : ⇑(0 : P1 →ᵃ[k] V2) = 0 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2]
Goal: ⇑0 = 0
-- AffineMap.coe_add
@[simp, norm_cast]
theorem coe_add (f g : P1 →ᵃ[k] V2) : ⇑(f + g) = f + g 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] (f g : P1 →ᵃ[k] V2)
Goal: ⇑(f + g) = ⇑f + ⇑g
-- AffineMap.coe_neg
@[simp, norm_cast]
theorem coe_neg (f : P1 →ᵃ[k] V2) : ⇑(-f) = -f 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] (f : P1 →ᵃ[k] V2)
Goal: ⇑(-f) = -⇑f
-- AffineMap.coe_sub
@[simp, norm_cast]
theorem coe_sub (f g : P1 →ᵃ[k] V2) : ⇑(f - g) = f - g 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] (f g : P1 →ᵃ[k] V2)
Goal: ⇑(f - g) = ⇑f - ⇑g
-- AffineMap.zero_linear
@[simp]
theorem zero_linear : (0 : P1 →ᵃ[k] V2).linear = 0 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2]
Goal: AffineMap.linear 0 = 0
-- AffineMap.add_linear
@[simp]
theorem add_linear (f g : P1 →ᵃ[k] V2) : (f + g).linear = f.linear + g.linear 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] (f g : P1 →ᵃ[k] V2)
Goal: (f + g).linear = f.linear + g.linear
-- AffineMap.sub_linear
@[simp]
theorem sub_linear (f g : P1 →ᵃ[k] V2) : (f - g).linear = f.linear - g.linear 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] (f g : P1 →ᵃ[k] V2)
Goal: (f - g).linear = f.linear - g.linear
-- AffineMap.neg_linear
@[simp]
theorem neg_linear (f : P1 →ᵃ[k] V2) : (-f).linear = -f.linear 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] (f : P1 →ᵃ[k] V2)
Goal: (-f).linear = -f.linear
-- AffineMap.vadd_apply
@[simp]
theorem vadd_apply (f : P1 →ᵃ[k] V2) (g : P1 →ᵃ[k] P2) (p : P1) : (f +ᵥ g) p = f p +ᵥ g p 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 →ᵃ[k] V2) (g : P1 →ᵃ[k] P2) (p : P1)
Goal: (f +ᵥ g) p = f p +ᵥ g p
-- AffineMap.vsub_apply
@[simp]
theorem vsub_apply (f g : P1 →ᵃ[k] P2) (p : P1) : (f -ᵥ g : P1 →ᵃ[k] V2) p = f p -ᵥ g p 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f g : P1 →ᵃ[k] P2) (p : P1)
Goal: (f -ᵥ g) p = f p -ᵥ g p
-- AffineMap.coe_fst
@[simp]
theorem coe_fst : ⇑(fst : P1 × P2 →ᵃ[k] P1) = Prod.fst 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2]
Goal: ⇑AffineMap.fst = Prod.fst
-- AffineMap.fst_linear
@[simp]
theorem fst_linear : (fst : P1 × P2 →ᵃ[k] P1).linear = LinearMap.fst k V1 V2 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2]
Goal: AffineMap.fst.linear = LinearMap.fst k V1 V2
-- AffineMap.coe_snd
@[simp]
theorem coe_snd : ⇑(snd : P1 × P2 →ᵃ[k] P2) = Prod.snd 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2]
Goal: ⇑AffineMap.snd = Prod.snd
-- AffineMap.snd_linear
@[simp]
theorem snd_linear : (snd : P1 × P2 →ᵃ[k] P2).linear = LinearMap.snd k V1 V2 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2]
Goal: AffineMap.snd.linear = LinearMap.snd k V1 V2
-- AffineMap.coe_id
@[simp]
theorem coe_id : ⇑(id k P1) = _root_.id 
Arguments: (k : Type u_1) {V1 : Type u_2} (P1 : Type u_3) [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1]
Goal: ⇑(AffineMap.id k P1) = id
-- AffineMap.id_linear
@[simp]
theorem id_linear : (id k P1).linear = LinearMap.id 
Arguments: (k : Type u_1) {V1 : Type u_2} (P1 : Type u_3) [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1]
Goal: (AffineMap.id k P1).linear = LinearMap.id
-- AffineMap.id_apply
theorem id_apply (p : P1) : id k P1 p = p 
Arguments: (k : Type u_1) {V1 : Type u_2} {P1 : Type u_3} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] (p : P1)
Goal: (AffineMap.id k P1) p = p
-- AffineMap.coe_comp
@[simp]
theorem coe_comp (f : P2 →ᵃ[k] P3) (g : P1 →ᵃ[k] P2) : ⇑(f.comp g) = f ∘ g 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} {V3 : Type u_6} {P3 : Type u_7} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] [AddCommGroup V3] [Module k V3] [AffineSpace V3 P3] (f : P2 →ᵃ[k] P3) (g : P1 →ᵃ[k] P2)
Goal: ⇑(f.comp g) = ⇑f ∘ ⇑g
-- AffineMap.comp_apply
theorem comp_apply (f : P2 →ᵃ[k] P3) (g : P1 →ᵃ[k] P2) (p : P1) : f.comp g p = f (g p) 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} {V3 : Type u_6} {P3 : Type u_7} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] [AddCommGroup V3] [Module k V3] [AffineSpace V3 P3] (f : P2 →ᵃ[k] P3) (g : P1 →ᵃ[k] P2) (p : P1)
Goal: (f.comp g) p = f (g p)
-- AffineMap.comp_id
@[simp]
theorem comp_id (f : P1 →ᵃ[k] P2) : f.comp (id k P1) = f 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 →ᵃ[k] P2)
Goal: f.comp (AffineMap.id k P1) = f
-- AffineMap.id_comp
@[simp]
theorem id_comp (f : P1 →ᵃ[k] P2) : (id k P2).comp f = f 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 →ᵃ[k] P2)
Goal: (AffineMap.id k P2).comp f = f
-- AffineMap.comp_assoc
theorem comp_assoc (f₃₄ : P3 →ᵃ[k] P4) (f₂₃ : P2 →ᵃ[k] P3) (f₁₂ : P1 →ᵃ[k] P2) :
    (f₃₄.comp f₂₃).comp f₁₂ = f₃₄.comp (f₂₃.comp f₁₂) 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} {V3 : Type u_6} {P3 : Type u_7} {V4 : Type u_8} {P4 : Type u_9} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] [AddCommGroup V3] [Module k V3] [AffineSpace V3 P3] [AddCommGroup V4] [Module k V4] [AffineSpace V4 P4] (f₃₄ : P3 →ᵃ[k] P4) (f₂₃ : P2 →ᵃ[k] P3) (f₁₂ : P1 →ᵃ[k] P2)
Goal: (f₃₄.comp f₂₃).comp f₁₂ = f₃₄.comp (f₂₃.comp f₁₂)
-- AffineMap.coe_mul
@[simp]
theorem coe_mul (f g : P1 →ᵃ[k] P1) : ⇑(f * g) = f ∘ g 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] (f g : P1 →ᵃ[k] P1)
Goal: ⇑(f * g) = ⇑f ∘ ⇑g
-- AffineMap.coe_one
@[simp]
theorem coe_one : ⇑(1 : P1 →ᵃ[k] P1) = _root_.id 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1]
Goal: ⇑1 = id
-- AffineMap.linearHom_apply
@[simps]
def linearHom : (P1 →ᵃ[k] P1) →* V1 →ₗ[k] V1 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] (self : P1 →ᵃ[k] P1)
Goal: AffineMap.linearHom self = self.linear
-- AffineMap.linear_injective_iff
@[simp]
theorem linear_injective_iff (f : P1 →ᵃ[k] P2) :
    Function.Injective f.linear ↔ Function.Injective f 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 →ᵃ[k] P2)
Goal: Function.Injective ⇑f.linear ↔ Function.Injective ⇑f
-- AffineMap.linear_surjective_iff
@[simp]
theorem linear_surjective_iff (f : P1 →ᵃ[k] P2) :
    Function.Surjective f.linear ↔ Function.Surjective f 
Arguments: {k : Type u_1} {V1 : Type u_2} {P1 : Type u_3} {V2 : Type u_4} {P2 : Type u_5} [Ring k] [AddCommGroup V1] [Module k V1] [AffineSpace V1 P1] [AddCommGroup V2] [Module k V2] [AffineSpace V2 P2] (f : P1 →ᵃ[k] P2)
Goal: Function.Surjective ⇑f.linear ↔ Function.Surjective ⇑f