ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- AffineIndependent.eq_of_sum_eq_sum_subtype
lemma AffineIndependent.eq_of_sum_eq_sum_subtype {s : Finset V}
    (hp : AffineIndependent k ((↑) : s → V)) {w₁ w₂ : V → k} (hw : ∑ i ∈ s, w₁ i = ∑ i ∈ s, w₂ i)
    (hwp : ∑ i ∈ s, w₁ i • i = ∑ i ∈ s, w₂ i • i) : ∀ i ∈ s, w₁ i = w₂ i 
Arguments: {k : Type u_1} {V : Type u_2} [Ring k] [AddCommGroup V] [Module k V] {s : Finset V} (hp : AffineIndependent k Subtype.val) {w₁ w₂ : V → k} (hw : ∑ i ∈ s, w₁ i = ∑ i ∈ s, w₂ i) (hwp : ∑ i ∈ s, w₁ i • i = ∑ i ∈ s, w₂ i • i) (i : V)
Goal: i ∈ s → w₁ i = w₂ i
-- weightedVSub_mem_vectorSpan_pair
theorem weightedVSub_mem_vectorSpan_pair {p : ι → P} (h : AffineIndependent k p) {w w₁ w₂ : ι → k}
    {s : Finset ι} (hw : ∑ i ∈ s, w i = 0) (hw₁ : ∑ i ∈ s, w₁ i = 1)
    (hw₂ : ∑ i ∈ s, w₂ i = 1) :
    s.weightedVSub p w ∈
        vectorSpan k ({s.affineCombination k p w₁, s.affineCombination k p w₂} : Set P) ↔
      ∃ r : k, ∀ i ∈ s, w i = r * (w₁ i - w₂ i) 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {ι : Type u_4} {p : ι → P} (h : AffineIndependent k p) {w w₁ w₂ : ι → k} {s : Finset ι} (hw : ∑ i ∈ s, w i = 0) (hw₁ : ∑ i ∈ s, w₁ i = 1) (hw₂ : ∑ i ∈ s, w₂ i = 1)
Goal: (s.weightedVSub p) w ∈ vectorSpan k {(Finset.affineCombination k s p) w₁, (Finset.affineCombination k s p) w₂} ↔
  ∃ r, ∀ i ∈ s, w i = r * (w₁ i - w₂ i)
-- affineCombination_mem_affineSpan_pair
theorem affineCombination_mem_affineSpan_pair {p : ι → P} (h : AffineIndependent k p)
    {w w₁ w₂ : ι → k} {s : Finset ι} (_ : ∑ i ∈ s, w i = 1) (hw₁ : ∑ i ∈ s, w₁ i = 1)
    (hw₂ : ∑ i ∈ s, w₂ i = 1) :
    s.affineCombination k p w ∈ line[k, s.affineCombination k p w₁, s.affineCombination k p w₂] ↔
      ∃ r : k, ∀ i ∈ s, w i = r * (w₂ i - w₁ i) + w₁ i 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {ι : Type u_4} {p : ι → P} (h : AffineIndependent k p) {w w₁ w₂ : ι → k} {s : Finset ι}
Goal: ∑ i ∈ s, w i = 1 →
  ∑ i ∈ s, w₁ i = 1 →
    ∑ i ∈ s, w₂ i = 1 →
      ((Finset.affineCombination k s p) w ∈
          affineSpan k {(Finset.affineCombination k s p) w₁, (Finset.affineCombination k s p) w₂} ↔
        ∃ r, ∀ i ∈ s, w i = r * (w₂ i - w₁ i) + w₁ i)
-- exists_subset_affineIndependent_affineSpan_eq_top
theorem exists_subset_affineIndependent_affineSpan_eq_top {s : Set P}
    (h : AffineIndependent k (fun p => p : s → P)) :
    ∃ t : Set P, s ⊆ t ∧ AffineIndependent k (fun p => p : t → P) ∧ affineSpan k t = ⊤ 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {s : Set P} (h : AffineIndependent k fun p => ↑p)
Goal: ∃ t, s ⊆ t ∧ (AffineIndependent k fun p => ↑p) ∧ affineSpan k t = ⊤
-- exists_affineIndependent
theorem exists_affineIndependent (s : Set P) :
    ∃ t ⊆ s, affineSpan k t = affineSpan k s ∧ AffineIndependent k ((↑) : t → P) 
Arguments: (k : Type u_1) (V : Type u_2) {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] (s : Set P)
Goal: ∃ t ⊆ s, affineSpan k t = affineSpan k s ∧ AffineIndependent k Subtype.val
-- affineIndependent_of_ne
theorem affineIndependent_of_ne {p₁ p₂ : P} (h : p₁ ≠ p₂) : AffineIndependent k ![p₁, p₂] 
Arguments: (k : Type u_1) {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {p₁ p₂ : P} (h : p₁ ≠ p₂)
Goal: AffineIndependent k ![p₁, p₂]
-- AffineIndependent.affineIndependent_of_not_mem_span
theorem AffineIndependent.affineIndependent_of_not_mem_span {p : ι → P} {i : ι}
    (ha : AffineIndependent k fun x : { y // y ≠ i } => p x)
    (hi : p i ∉ affineSpan k (p '' { x | x ≠ i })) : AffineIndependent 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} {p : ι → P} {i : ι} (ha : AffineIndependent k fun x => p ↑x) (hi : p i ∉ affineSpan k (p '' {x | x ≠ i}))
Goal: AffineIndependent k p
-- affineIndependent_of_ne_of_mem_of_mem_of_not_mem
theorem affineIndependent_of_ne_of_mem_of_mem_of_not_mem {s : AffineSubspace k P} {p₁ p₂ p₃ : P}
    (hp₁p₂ : p₁ ≠ p₂) (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s) (hp₃ : p₃ ∉ s) :
    AffineIndependent k ![p₁, p₂, p₃] 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {s : AffineSubspace k P} {p₁ p₂ p₃ : P} (hp₁p₂ : p₁ ≠ p₂) (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s) (hp₃ : p₃ ∉ s)
Goal: AffineIndependent k ![p₁, p₂, p₃]
-- affineIndependent_of_ne_of_mem_of_not_mem_of_mem
theorem affineIndependent_of_ne_of_mem_of_not_mem_of_mem {s : AffineSubspace k P} {p₁ p₂ p₃ : P}
    (hp₁p₃ : p₁ ≠ p₃) (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∉ s) (hp₃ : p₃ ∈ s) :
    AffineIndependent k ![p₁, p₂, p₃] 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {s : AffineSubspace k P} {p₁ p₂ p₃ : P} (hp₁p₃ : p₁ ≠ p₃) (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∉ s) (hp₃ : p₃ ∈ s)
Goal: AffineIndependent k ![p₁, p₂, p₃]
-- affineIndependent_of_ne_of_not_mem_of_mem_of_mem
theorem affineIndependent_of_ne_of_not_mem_of_mem_of_mem {s : AffineSubspace k P} {p₁ p₂ p₃ : P}
    (hp₂p₃ : p₂ ≠ p₃) (hp₁ : p₁ ∉ s) (hp₂ : p₂ ∈ s) (hp₃ : p₃ ∈ s) :
    AffineIndependent k ![p₁, p₂, p₃] 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {s : AffineSubspace k P} {p₁ p₂ p₃ : P} (hp₂p₃ : p₂ ≠ p₃) (hp₁ : p₁ ∉ s) (hp₂ : p₂ ∈ s) (hp₃ : p₃ ∈ s)
Goal: AffineIndependent k ![p₁, p₂, p₃]
-- sign_eq_of_affineCombination_mem_affineSpan_pair
theorem sign_eq_of_affineCombination_mem_affineSpan_pair {p : ι → P} (h : AffineIndependent k p)
    {w w₁ w₂ : ι → k} {s : Finset ι} (hw : ∑ i ∈ s, w i = 1) (hw₁ : ∑ i ∈ s, w₁ i = 1)
    (hw₂ : ∑ i ∈ s, w₂ i = 1)
    (hs :
      s.affineCombination k p w ∈ line[k, s.affineCombination k p w₁, s.affineCombination k p w₂])
    {i j : ι} (hi : i ∈ s) (hj : j ∈ s) (hi0 : w₁ i = 0) (hj0 : w₁ j = 0)
    (hij : SignType.sign (w₂ i) = SignType.sign (w₂ j)) :
    SignType.sign (w i) = SignType.sign (w j) 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [LinearOrderedRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {ι : Type u_4} {p : ι → P} (h : AffineIndependent k p) {w w₁ w₂ : ι → k} {s : Finset ι} (hw : ∑ i ∈ s, w i = 1) (hw₁ : ∑ i ∈ s, w₁ i = 1) (hw₂ : ∑ i ∈ s, w₂ i = 1) (hs :
  (Finset.affineCombination k s p) w ∈
    affineSpan k {(Finset.affineCombination k s p) w₁, (Finset.affineCombination k s p) w₂}) {i j : ι} (hi : i ∈ s) (hj : j ∈ s) (hi0 : w₁ i = 0) (hj0 : w₁ j = 0) (hij : SignType.sign (w₂ i) = SignType.sign (w₂ j))
Goal: SignType.sign (w i) = SignType.sign (w j)
-- sign_eq_of_affineCombination_mem_affineSpan_single_lineMap
theorem sign_eq_of_affineCombination_mem_affineSpan_single_lineMap {p : ι → P}
    (h : AffineIndependent k p) {w : ι → k} {s : Finset ι} (hw : ∑ i ∈ s, w i = 1) {i₁ i₂ i₃ : ι}
    (h₁ : i₁ ∈ s) (h₂ : i₂ ∈ s) (h₃ : i₃ ∈ s) (h₁₂ : i₁ ≠ i₂) (h₁₃ : i₁ ≠ i₃) (h₂₃ : i₂ ≠ i₃)
    {c : k} (hc0 : 0 < c) (hc1 : c < 1)
    (hs : s.affineCombination k p w ∈ line[k, p i₁, AffineMap.lineMap (p i₂) (p i₃) c]) :
    SignType.sign (w i₂) = SignType.sign (w i₃) 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [LinearOrderedRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {ι : Type u_4} {p : ι → P} (h : AffineIndependent k p) {w : ι → k} {s : Finset ι} (hw : ∑ i ∈ s, w i = 1) {i₁ i₂ i₃ : ι} (h₁ : i₁ ∈ s) (h₂ : i₂ ∈ s) (h₃ : i₃ ∈ s) (h₁₂ : i₁ ≠ i₂) (h₁₃ : i₁ ≠ i₃) (h₂₃ : i₂ ≠ i₃) {c : k} (hc0 : 0 < c) (hc1 : c < 1) (hs : (Finset.affineCombination k s p) w ∈ affineSpan k {p i₁, (AffineMap.lineMap (p i₂) (p i₃)) c})
Goal: SignType.sign (w i₂) = SignType.sign (w i₃)
-- Affine.Simplex.independent
structure Simplex (n : ℕ) where
  points : Fin (n + 1) → P
  independent : AffineIndependent k points
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {n : ℕ} (self : Affine.Simplex k P n)
Goal: AffineIndependent k self.points
-- Affine.Simplex.mkOfPoint_points
@[simp]
theorem mkOfPoint_points (p : P) (i : Fin 1) : (mkOfPoint k p).points i = p 
Arguments: (k : Type u_1) {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] (p : P) (i : Fin 1)
Goal: (Affine.Simplex.mkOfPoint k p).points i = p
-- Affine.Simplex.ext
@[ext]
theorem ext {n : ℕ} {s1 s2 : Simplex k P n} (h : ∀ i, s1.points i = s2.points i) : s1 = s2 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {n : ℕ} {s1 s2 : Affine.Simplex k P n} (h : ∀ (i : Fin (n + 1)), s1.points i = s2.points i)
Goal: s1 = s2
-- Affine.Simplex.ext_iff
theorem ext_iff {n : ℕ} (s1 s2 : Simplex k P n) : s1 = s2 ↔ ∀ i, s1.points i = s2.points i 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {n : ℕ} (s1 s2 : Affine.Simplex k P n)
Goal: s1 = s2 ↔ ∀ (i : Fin (n + 1)), s1.points i = s2.points i
-- Affine.Simplex.face_points
theorem face_points {n : ℕ} (s : Simplex k P n) {fs : Finset (Fin (n + 1))} {m : ℕ}
    (h : fs.card = m + 1) (i : Fin (m + 1)) :
    (s.face h).points i = s.points (fs.orderEmbOfFin h i) 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {n : ℕ} (s : Affine.Simplex k P n) {fs : Finset (Fin (n + 1))} {m : ℕ} (h : fs.card = m + 1) (i : Fin (m + 1))
Goal: (s.face h).points i = s.points ((fs.orderEmbOfFin h) i)
-- Affine.Simplex.face_points'
theorem face_points' {n : ℕ} (s : Simplex k P n) {fs : Finset (Fin (n + 1))} {m : ℕ}
    (h : fs.card = m + 1) : (s.face h).points = s.points ∘ fs.orderEmbOfFin h 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {n : ℕ} (s : Affine.Simplex k P n) {fs : Finset (Fin (n + 1))} {m : ℕ} (h : fs.card = m + 1)
Goal: (s.face h).points = s.points ∘ ⇑(fs.orderEmbOfFin h)
-- Affine.Simplex.face_eq_mkOfPoint
@[simp]
theorem face_eq_mkOfPoint {n : ℕ} (s : Simplex k P n) (i : Fin (n + 1)) :
    s.face (Finset.card_singleton i) = mkOfPoint k (s.points i) 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {n : ℕ} (s : Affine.Simplex k P n) (i : Fin (n + 1))
Goal: s.face ⋯ = Affine.Simplex.mkOfPoint k (s.points i)
-- Affine.Simplex.range_face_points
@[simp]
theorem range_face_points {n : ℕ} (s : Simplex k P n) {fs : Finset (Fin (n + 1))} {m : ℕ}
    (h : fs.card = m + 1) : Set.range (s.face h).points = s.points '' ↑fs 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {n : ℕ} (s : Affine.Simplex k P n) {fs : Finset (Fin (n + 1))} {m : ℕ} (h : fs.card = m + 1)
Goal: Set.range (s.face h).points = s.points '' ↑fs
-- Affine.Simplex.reindex_points
@[simps]
def reindex {m n : ℕ} (s : Simplex k P m) (e : Fin (m + 1) ≃ Fin (n + 1)) : Simplex k P n 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {m n : ℕ} (s : Affine.Simplex k P m) (e : Fin (m + 1) ≃ Fin (n + 1))
Goal: ∀ (a : Fin (n + 1)), (s.reindex e).points a = (s.points ∘ ⇑e.symm) a
-- Affine.Simplex.reindex_refl
@[simp]
theorem reindex_refl {n : ℕ} (s : Simplex k P n) : s.reindex (Equiv.refl (Fin (n + 1))) = s 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {n : ℕ} (s : Affine.Simplex k P n)
Goal: s.reindex (Equiv.refl (Fin (n + 1))) = s
-- Affine.Simplex.reindex_trans
@[simp]
theorem reindex_trans {n₁ n₂ n₃ : ℕ} (e₁₂ : Fin (n₁ + 1) ≃ Fin (n₂ + 1))
    (e₂₃ : Fin (n₂ + 1) ≃ Fin (n₃ + 1)) (s : Simplex k P n₁) :
    s.reindex (e₁₂.trans e₂₃) = (s.reindex e₁₂).reindex e₂₃ 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {n₁ n₂ n₃ : ℕ} (e₁₂ : Fin (n₁ + 1) ≃ Fin (n₂ + 1)) (e₂₃ : Fin (n₂ + 1) ≃ Fin (n₃ + 1)) (s : Affine.Simplex k P n₁)
Goal: s.reindex (e₁₂.trans e₂₃) = (s.reindex e₁₂).reindex e₂₃
-- Affine.Simplex.reindex_reindex_symm
@[simp]
theorem reindex_reindex_symm {m n : ℕ} (s : Simplex k P m) (e : Fin (m + 1) ≃ Fin (n + 1)) :
    (s.reindex e).reindex e.symm = s 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {m n : ℕ} (s : Affine.Simplex k P m) (e : Fin (m + 1) ≃ Fin (n + 1))
Goal: (s.reindex e).reindex e.symm = s
-- Affine.Simplex.reindex_symm_reindex
@[simp]
theorem reindex_symm_reindex {m n : ℕ} (s : Simplex k P m) (e : Fin (n + 1) ≃ Fin (m + 1)) :
    (s.reindex e.symm).reindex e = s 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {m n : ℕ} (s : Affine.Simplex k P m) (e : Fin (n + 1) ≃ Fin (m + 1))
Goal: (s.reindex e.symm).reindex e = s
-- Affine.Simplex.reindex_range_points
@[simp]
theorem reindex_range_points {m n : ℕ} (s : Simplex k P m) (e : Fin (m + 1) ≃ Fin (n + 1)) :
    Set.range (s.reindex e).points = Set.range s.points 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [Ring k] [AddCommGroup V] [Module k V] [AffineSpace V P] {m n : ℕ} (s : Affine.Simplex k P m) (e : Fin (m + 1) ≃ Fin (n + 1))
Goal: Set.range (s.reindex e).points = Set.range s.points
-- Affine.Simplex.face_centroid_eq_centroid
@[simp]
theorem face_centroid_eq_centroid {n : ℕ} (s : Simplex k P n) {fs : Finset (Fin (n + 1))} {m : ℕ}
    (h : fs.card = m + 1) : Finset.univ.centroid k (s.face h).points = fs.centroid k s.points 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {n : ℕ} (s : Affine.Simplex k P n) {fs : Finset (Fin (n + 1))} {m : ℕ} (h : fs.card = m + 1)
Goal: Finset.centroid k Finset.univ (s.face h).points = Finset.centroid k fs s.points
-- Affine.Simplex.centroid_eq_iff
@[simp]
theorem centroid_eq_iff [CharZero k] {n : ℕ} (s : Simplex k P n) {fs₁ fs₂ : Finset (Fin (n + 1))}
    {m₁ m₂ : ℕ} (h₁ : fs₁.card = m₁ + 1) (h₂ : fs₂.card = m₂ + 1) :
    fs₁.centroid k s.points = fs₂.centroid k s.points ↔ fs₁ = fs₂ 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] [CharZero k] {n : ℕ} (s : Affine.Simplex k P n) {fs₁ fs₂ : Finset (Fin (n + 1))} {m₁ m₂ : ℕ} (h₁ : fs₁.card = m₁ + 1) (h₂ : fs₂.card = m₂ + 1)
Goal: Finset.centroid k fs₁ s.points = Finset.centroid k fs₂ s.points ↔ fs₁ = fs₂
-- Affine.Simplex.face_centroid_eq_iff
theorem face_centroid_eq_iff [CharZero k] {n : ℕ} (s : Simplex k P n)
    {fs₁ fs₂ : Finset (Fin (n + 1))} {m₁ m₂ : ℕ} (h₁ : fs₁.card = m₁ + 1) (h₂ : fs₂.card = m₂ + 1) :
    Finset.univ.centroid k (s.face h₁).points = Finset.univ.centroid k (s.face h₂).points ↔
      fs₁ = fs₂ 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] [CharZero k] {n : ℕ} (s : Affine.Simplex k P n) {fs₁ fs₂ : Finset (Fin (n + 1))} {m₁ m₂ : ℕ} (h₁ : fs₁.card = m₁ + 1) (h₂ : fs₂.card = m₂ + 1)
Goal: Finset.centroid k Finset.univ (s.face h₁).points = Finset.centroid k Finset.univ (s.face h₂).points ↔ fs₁ = fs₂
-- Affine.Simplex.centroid_eq_of_range_eq
theorem centroid_eq_of_range_eq {n : ℕ} {s₁ s₂ : Simplex k P n}
    (h : Set.range s₁.points = Set.range s₂.points) :
    Finset.univ.centroid k s₁.points = Finset.univ.centroid k s₂.points 
Arguments: {k : Type u_1} {V : Type u_2} {P : Type u_3} [DivisionRing k] [AddCommGroup V] [Module k V] [AffineSpace V P] {n : ℕ} {s₁ s₂ : Affine.Simplex k P n} (h : Set.range s₁.points = Set.range s₂.points)
Goal: Finset.centroid k Finset.univ s₁.points = Finset.centroid k Finset.univ s₂.points
-- PiToModule.fromMatrix_apply
theorem PiToModule.fromMatrix_apply [DecidableEq ι] (A : Matrix ι ι R) (w : ι → R) :
    PiToModule.fromMatrix R b A w = Fintype.total R R b (A *ᵥ w) 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) [DecidableEq ι] (A : Matrix ι ι R) (w : ι → R)
Goal: ((PiToModule.fromMatrix R b) A) w = ((Fintype.total R R) b) (A *ᵥ w)
-- PiToModule.fromMatrix_apply_single_one
theorem PiToModule.fromMatrix_apply_single_one [DecidableEq ι] (A : Matrix ι ι R) (j : ι) :
    PiToModule.fromMatrix R b A (Pi.single j 1) = ∑ i : ι, A i j • b i 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) [DecidableEq ι] (A : Matrix ι ι R) (j : ι)
Goal: ((PiToModule.fromMatrix R b) A) (Pi.single j 1) = ∑ i : ι, A i j • b i
-- PiToModule.fromEnd_apply
theorem PiToModule.fromEnd_apply (f : Module.End R M) (w : ι → R) :
    PiToModule.fromEnd R b f w = f (Fintype.total R R b w) 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) (f : Module.End R M) (w : ι → R)
Goal: ((PiToModule.fromEnd R b) f) w = f (((Fintype.total R R) b) w)
-- PiToModule.fromEnd_apply_single_one
theorem PiToModule.fromEnd_apply_single_one [DecidableEq ι] (f : Module.End R M) (i : ι) :
    PiToModule.fromEnd R b f (Pi.single i 1) = f (b i) 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) [DecidableEq ι] (f : Module.End R M) (i : ι)
Goal: ((PiToModule.fromEnd R b) f) (Pi.single i 1) = f (b i)
-- PiToModule.fromEnd_injective
theorem PiToModule.fromEnd_injective (hb : Submodule.span R (Set.range b) = ⊤) :
    Function.Injective (PiToModule.fromEnd R b) 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) (hb : Submodule.span R (Set.range b) = ⊤)
Goal: Function.Injective ⇑(PiToModule.fromEnd R b)
-- Matrix.Represents.congr_fun
theorem Matrix.Represents.congr_fun {A : Matrix ι ι R} {f : Module.End R M} (h : A.Represents b f)
    (x) : Fintype.total R R b (A *ᵥ x) = f (Fintype.total R R b x) 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] {A : Matrix ι ι R} {f : Module.End R M} (h : Matrix.Represents b A f) (x : ι → R)
Goal: ((Fintype.total R R) b) (A *ᵥ x) = f (((Fintype.total R R) b) x)
-- Matrix.represents_iff
theorem Matrix.represents_iff {A : Matrix ι ι R} {f : Module.End R M} :
    A.Represents b f ↔ ∀ x, Fintype.total R R b (A *ᵥ x) = f (Fintype.total R R b x) 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] {A : Matrix ι ι R} {f : Module.End R M}
Goal: Matrix.Represents b A f ↔ ∀ (x : ι → R), ((Fintype.total R R) b) (A *ᵥ x) = f (((Fintype.total R R) b) x)
-- Matrix.represents_iff'
theorem Matrix.represents_iff' {A : Matrix ι ι R} {f : Module.End R M} :
    A.Represents b f ↔ ∀ j, ∑ i : ι, A i j • b i = f (b j) 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] {A : Matrix ι ι R} {f : Module.End R M}
Goal: Matrix.Represents b A f ↔ ∀ (j : ι), ∑ i : ι, A i j • b i = f (b j)
-- Matrix.Represents.mul
theorem Matrix.Represents.mul {A A' : Matrix ι ι R} {f f' : Module.End R M} (h : A.Represents b f)
    (h' : Matrix.Represents b A' f') : (A * A').Represents b (f * f') 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] {A A' : Matrix ι ι R} {f f' : Module.End R M} (h : Matrix.Represents b A f) (h' : Matrix.Represents b A' f')
Goal: Matrix.Represents b (A * A') (f * f')
-- Matrix.Represents.one
theorem Matrix.Represents.one : (1 : Matrix ι ι R).Represents b 1 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι]
Goal: Matrix.Represents b 1 1
-- Matrix.Represents.add
theorem Matrix.Represents.add {A A' : Matrix ι ι R} {f f' : Module.End R M} (h : A.Represents b f)
    (h' : Matrix.Represents b A' f') : (A + A').Represents b (f + f') 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] {A A' : Matrix ι ι R} {f f' : Module.End R M} (h : Matrix.Represents b A f) (h' : Matrix.Represents b A' f')
Goal: Matrix.Represents b (A + A') (f + f')
-- Matrix.Represents.zero
theorem Matrix.Represents.zero : (0 : Matrix ι ι R).Represents b 0 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι]
Goal: Matrix.Represents b 0 0
-- Matrix.Represents.smul
theorem Matrix.Represents.smul {A : Matrix ι ι R} {f : Module.End R M} (h : A.Represents b f)
    (r : R) : (r • A).Represents b (r • f) 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] {A : Matrix ι ι R} {f : Module.End R M} (h : Matrix.Represents b A f) (r : R)
Goal: Matrix.Represents b (r • A) (r • f)
-- Matrix.Represents.algebraMap
theorem Matrix.Represents.algebraMap (r : R) :
    (algebraMap _ (Matrix ι ι R) r).Represents b (algebraMap _ (Module.End R M) r) 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} [DecidableEq ι] (r : R)
Goal: Matrix.Represents b ((algebraMap R (Matrix ι ι R)) r) ((algebraMap R (Module.End R M)) r)
-- Matrix.Represents.eq
theorem Matrix.Represents.eq {A : Matrix ι ι R} {f f' : Module.End R M} (h : A.Represents b f)
    (h' : A.Represents b f') : f = f' 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] {R : Type u_3} [CommRing R] [Module R M] {b : ι → M} (hb : Submodule.span R (Set.range b) = ⊤) [DecidableEq ι] {A : Matrix ι ι R} {f f' : Module.End R M} (h : Matrix.Represents b A f) (h' : Matrix.Represents b A f')
Goal: f = f'
-- Matrix.isRepresentation.toEnd_represents
theorem Matrix.isRepresentation.toEnd_represents (A : Matrix.isRepresentation R b) :
    (A : Matrix ι ι R).Represents b (Matrix.isRepresentation.toEnd R b hb A) 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) (hb : Submodule.span R (Set.range b) = ⊤) [DecidableEq ι] (A : ↥(Matrix.isRepresentation R b))
Goal: Matrix.Represents b (↑A) ((Matrix.isRepresentation.toEnd R b hb) A)
-- Matrix.isRepresentation.eq_toEnd_of_represents
theorem Matrix.isRepresentation.eq_toEnd_of_represents (A : Matrix.isRepresentation R b)
    {f : Module.End R M} (h : (A : Matrix ι ι R).Represents b f) :
    Matrix.isRepresentation.toEnd R b hb A = f 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) (hb : Submodule.span R (Set.range b) = ⊤) [DecidableEq ι] (A : ↥(Matrix.isRepresentation R b)) {f : Module.End R M} (h : Matrix.Represents b (↑A) f)
Goal: (Matrix.isRepresentation.toEnd R b hb) A = f
-- Matrix.isRepresentation.toEnd_exists_mem_ideal
theorem Matrix.isRepresentation.toEnd_exists_mem_ideal (f : Module.End R M) (I : Ideal R)
    (hI : LinearMap.range f ≤ I • ⊤) :
    ∃ M, Matrix.isRepresentation.toEnd R b hb M = f ∧ ∀ i j, M.1 i j ∈ I 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) (hb : Submodule.span R (Set.range b) = ⊤) [DecidableEq ι] (f : Module.End R M) (I : Ideal R) (hI : LinearMap.range f ≤ I • ⊤)
Goal: ∃ M_1, (Matrix.isRepresentation.toEnd R b hb) M_1 = f ∧ ∀ (i j : ι), ↑M_1 i j ∈ I
-- Matrix.isRepresentation.toEnd_surjective
theorem Matrix.isRepresentation.toEnd_surjective :
    Function.Surjective (Matrix.isRepresentation.toEnd R b hb) 
Arguments: {ι : Type u_1} [Fintype ι] {M : Type u_2} [AddCommGroup M] (R : Type u_3) [CommRing R] [Module R M] (b : ι → M) (hb : Submodule.span R (Set.range b) = ⊤) [DecidableEq ι]
Goal: Function.Surjective ⇑(Matrix.isRepresentation.toEnd R b hb)