ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Finset.card_le_one_iff_subset_singleton
theorem card_le_one_iff_subset_singleton [Nonempty α] : s.card ≤ 1 ↔ ∃ x : α, s ⊆ {x} 
Arguments: {α : Type u_1} {s : Finset α} [Nonempty α]
Goal: s.card ≤ 1 ↔ ∃ x, s ⊆ {x}
-- Finset.exists_mem_ne
lemma exists_mem_ne (hs : 1 < s.card) (a : α) : ∃ b ∈ s, b ≠ a 
Arguments: {α : Type u_1} {s : Finset α} (hs : 1 < s.card) (a : α)
Goal: ∃ b ∈ s, b ≠ a
-- Finset.card_le_one_of_subsingleton
theorem card_le_one_of_subsingleton [Subsingleton α] (s : Finset α) : s.card ≤ 1 
Arguments: {α : Type u_1} [Subsingleton α] (s : Finset α)
Goal: s.card ≤ 1
-- Finset.one_lt_card
theorem one_lt_card : 1 < s.card ↔ ∃ a ∈ s, ∃ b ∈ s, a ≠ b 
Arguments: {α : Type u_1} {s : Finset α}
Goal: 1 < s.card ↔ ∃ a ∈ s, ∃ b ∈ s, a ≠ b
-- Finset.one_lt_card_iff
theorem one_lt_card_iff : 1 < s.card ↔ ∃ a b, a ∈ s ∧ b ∈ s ∧ a ≠ b 
Arguments: {α : Type u_1} {s : Finset α}
Goal: 1 < s.card ↔ ∃ a b, a ∈ s ∧ b ∈ s ∧ a ≠ b
-- Finset.one_lt_card_iff_nontrivial
theorem one_lt_card_iff_nontrivial : 1 < s.card ↔ s.Nontrivial 
Arguments: {α : Type u_1} {s : Finset α}
Goal: 1 < s.card ↔ s.Nontrivial
-- Finset.exists_ne_of_one_lt_card
theorem exists_ne_of_one_lt_card (hs : 1 < s.card) (a : α) : ∃ b, b ∈ s ∧ b ≠ a 
Arguments: {α : Type u_1} {s : Finset α} (hs : 1 < s.card) (a : α)
Goal: ∃ b ∈ s, b ≠ a
-- Finset.exists_of_one_lt_card_pi
lemma exists_of_one_lt_card_pi {ι : Type*} {α : ι → Type*} [∀ i, DecidableEq (α i)]
    {s : Finset (∀ i, α i)} (h : 1 < s.card) :
    ∃ i, 1 < (s.image (· i)).card ∧ ∀ ai, s.filter (· i = ai) ⊂ s 
Arguments: {ι : Type u_4} {α : ι → Type u_5} [(i : ι) → DecidableEq (α i)] {s : Finset ((i : ι) → α i)} (h : 1 < s.card)
Goal: ∃ i, 1 < (Finset.image (fun x => x i) s).card ∧ ∀ (ai : α i), Finset.filter (fun x => x i = ai) s ⊂ s
-- Finset.card_eq_succ
theorem card_eq_succ : s.card = n + 1 ↔ ∃ a t, a ∉ t ∧ insert a t = s ∧ t.card = n 
Arguments: {α : Type u_1} {s : Finset α} {n : ℕ} [DecidableEq α]
Goal: s.card = n + 1 ↔ ∃ a t, a ∉ t ∧ insert a t = s ∧ t.card = n
-- Finset.card_eq_two
theorem card_eq_two : s.card = 2 ↔ ∃ x y, x ≠ y ∧ s = {x, y} 
Arguments: {α : Type u_1} {s : Finset α} [DecidableEq α]
Goal: s.card = 2 ↔ ∃ x y, x ≠ y ∧ s = {x, y}
-- Finset.card_eq_three
theorem card_eq_three : s.card = 3 ↔ ∃ x y z, x ≠ y ∧ x ≠ z ∧ y ≠ z ∧ s = {x, y, z} 
Arguments: {α : Type u_1} {s : Finset α} [DecidableEq α]
Goal: s.card = 3 ↔ ∃ x y z, x ≠ y ∧ x ≠ z ∧ y ≠ z ∧ s = {x, y, z}
-- Finset.two_lt_card_iff
theorem two_lt_card_iff : 2 < s.card ↔ ∃ a b c, a ∈ s ∧ b ∈ s ∧ c ∈ s ∧ a ≠ b ∧ a ≠ c ∧ b ≠ c 
Arguments: {α : Type u_1} {s : Finset α}
Goal: 2 < s.card ↔ ∃ a b c, a ∈ s ∧ b ∈ s ∧ c ∈ s ∧ a ≠ b ∧ a ≠ c ∧ b ≠ c
-- Finset.two_lt_card
theorem two_lt_card : 2 < s.card ↔ ∃ a ∈ s, ∃ b ∈ s, ∃ c ∈ s, a ≠ b ∧ a ≠ c ∧ b ≠ c 
Arguments: {α : Type u_1} {s : Finset α}
Goal: 2 < s.card ↔ ∃ a ∈ s, ∃ b ∈ s, ∃ c ∈ s, a ≠ b ∧ a ≠ c ∧ b ≠ c
-- Finset.strongInduction_eq
@[nolint unusedHavesSuffices] -- Porting note: false positive
theorem strongInduction_eq {p : Finset α → Sort*} (H : ∀ s, (∀ t ⊂ s, p t) → p s)
    (s : Finset α) : strongInduction H s = H s fun t _ => strongInduction H t 
Arguments: {α : Type u_1} {p : Finset α → Sort u_4} (H : (s : Finset α) → ((t : Finset α) → t ⊂ s → p t) → p s) (s : Finset α)
Goal: Finset.strongInduction H s = H s fun t x => Finset.strongInduction H t
-- Finset.strongInductionOn_eq
@[nolint unusedHavesSuffices] -- Porting note: false positive
theorem strongInductionOn_eq {p : Finset α → Sort*} (s : Finset α)
    (H : ∀ s, (∀ t ⊂ s, p t) → p s) :
    s.strongInductionOn H = H s fun t _ => t.strongInductionOn H 
Arguments: {α : Type u_1} {p : Finset α → Sort u_4} (s : Finset α) (H : (s : Finset α) → ((t : Finset α) → t ⊂ s → p t) → p s)
Goal: s.strongInductionOn H = H s fun t x => t.strongInductionOn H
-- Finset.case_strong_induction_on
@[elab_as_elim]
theorem case_strong_induction_on [DecidableEq α] {p : Finset α → Prop} (s : Finset α) (h₀ : p ∅)
    (h₁ : ∀ a s, a ∉ s → (∀ t ⊆ s, p t) → p (insert a s)) : p s 
Arguments: {α : Type u_1} [DecidableEq α] {p : Finset α → Prop} (s : Finset α) (h₀ : p ∅) (h₁ : ∀ (a : α) (s : Finset α), a ∉ s → (∀ t ⊆ s, p t) → p (insert a s))
Goal: p s
-- Finset.Nonempty.strong_induction
@[elab_as_elim]
protected lemma Nonempty.strong_induction {p : ∀ s, s.Nonempty → Prop}
    (h₀ : ∀ a, p {a} (singleton_nonempty _))
    (h₁ : ∀ ⦃s⦄ (hs : s.Nontrivial), (∀ t ht, t ⊂ s → p t ht) → p s hs.nonempty) :
    ∀ ⦃s : Finset α⦄ (hs), p s hs
  
Arguments: {α : Type u_1} {p : (s : Finset α) → s.Nonempty → Prop} (h₀ : ∀ (a : α), p {a} ⋯) (h₁ : ∀ ⦃s : Finset α⦄ (hs : s.Nontrivial), (∀ (t : Finset α) (ht : t.Nonempty), t ⊂ s → p t ht) → p s ⋯) ⦃s : Finset α⦄ (hs : s.Nonempty)
Goal: p s hs
-- Finset.strongDownwardInduction_eq
@[nolint unusedHavesSuffices] -- Porting note: false positive
theorem strongDownwardInduction_eq {p : Finset α → Sort*}
    (H : ∀ t₁, (∀ {t₂ : Finset α}, t₂.card ≤ n → t₁ ⊂ t₂ → p t₂) → t₁.card ≤ n → p t₁)
    (s : Finset α) :
    strongDownwardInduction H s = H s fun {t} ht _ => strongDownwardInduction H t ht 
Arguments: {α : Type u_1} {n : ℕ} {p : Finset α → Sort u_4} (H : (t₁ : Finset α) → ({t₂ : Finset α} → t₂.card ≤ n → t₁ ⊂ t₂ → p t₂) → t₁.card ≤ n → p t₁) (s : Finset α)
Goal: Finset.strongDownwardInduction H s = H s fun {t} ht x => Finset.strongDownwardInduction H t ht
-- Finset.strongDownwardInductionOn_eq
@[nolint unusedHavesSuffices] -- Porting note: false positive
theorem strongDownwardInductionOn_eq {p : Finset α → Sort*} (s : Finset α)
    (H : ∀ t₁, (∀ {t₂ : Finset α}, t₂.card ≤ n → t₁ ⊂ t₂ → p t₂) → t₁.card ≤ n → p t₁) :
    s.strongDownwardInductionOn H = H s fun {t} ht _ => t.strongDownwardInductionOn H ht 
Arguments: {α : Type u_1} {n : ℕ} {p : Finset α → Sort u_4} (s : Finset α) (H : (t₁ : Finset α) → ({t₂ : Finset α} → t₂.card ≤ n → t₁ ⊂ t₂ → p t₂) → t₁.card ≤ n → p t₁)
Goal: (fun a => s.strongDownwardInductionOn H a) = H s fun {t} ht x => t.strongDownwardInductionOn H ht
-- Finset.lt_wf
theorem lt_wf {α} : WellFounded (@LT.lt (Finset α) _) 
Arguments: {α : Type u_4}
Goal: WellFounded LT.lt
-- Matrix.comp_apply
@[simps]
def comp : Matrix I J (Matrix K L R) ≃ Matrix (I × K) (J × L) R 
Arguments: (I : Type u_1) (J : Type u_2) (K : Type u_3) (L : Type u_4) (R : Type u_5) (m : Matrix I J (Matrix K L R)) (ik : I × K) (jl : J × L)
Goal: (Matrix.comp I J K L R) m ik jl = m ik.1 jl.1 ik.2 jl.2
-- Matrix.comp_symm_apply
@[simps]
def comp : Matrix I J (Matrix K L R) ≃ Matrix (I × K) (J × L) R 
Arguments: (I : Type u_1) (J : Type u_2) (K : Type u_3) (L : Type u_4) (R : Type u_5) (n : Matrix (I × K) (J × L) R) (i : I) (j : J) (k : K) (l : L)
Goal: (Matrix.comp I J K L R).symm n i j k l = n (i, k) (j, l)
-- Matrix.compAddEquiv_apply
@[simps!]
def compAddEquiv : Matrix I J (Matrix K L R) ≃+ Matrix (I × K) (J × L) R 
Arguments: (I : Type u_1) (J : Type u_2) (K : Type u_3) (L : Type u_4) (R : Type u_5) [AddCommMonoid R] (m : Matrix I J (Matrix K L R)) (ik : I × K) (jl : J × L)
Goal: (Matrix.compAddEquiv I J K L R) m ik jl = m ik.1 jl.1 ik.2 jl.2
-- Matrix.compAddEquiv_symm_apply
@[simps!]
def compAddEquiv : Matrix I J (Matrix K L R) ≃+ Matrix (I × K) (J × L) R 
Arguments: (I : Type u_1) (J : Type u_2) (K : Type u_3) (L : Type u_4) (R : Type u_5) [AddCommMonoid R] (n : Matrix (I × K) (J × L) R) (i : I) (j : J) (k : K) (l : L)
Goal: (Matrix.compAddEquiv I J K L R).symm n i j k l = n (i, k) (j, l)
-- Matrix.compRingEquiv_apply
@[simps!]
def compRingEquiv : Matrix I I (Matrix J J R) ≃+* Matrix (I × J) (I × J) R 
Arguments: (I : Type u_1) (J : Type u_2) (R : Type u_5) [Semiring R] [Fintype I] [Fintype J] (m : Matrix I I (Matrix J J R)) (ik jl : I × J)
Goal: (Matrix.compRingEquiv I J R) m ik jl = m ik.1 jl.1 ik.2 jl.2
-- Matrix.compRingEquiv_symm_apply
@[simps!]
def compRingEquiv : Matrix I I (Matrix J J R) ≃+* Matrix (I × J) (I × J) R 
Arguments: (I : Type u_1) (J : Type u_2) (R : Type u_5) [Semiring R] [Fintype I] [Fintype J] (n : Matrix (I × J) (I × J) R) (i j : I) (k l : J)
Goal: (Matrix.compRingEquiv I J R).symm n i j k l = n (i, k) (j, l)
-- Matrix.compLinearEquiv_symm_apply
@[simps!]
def compLinearEquiv : Matrix I J (Matrix K L R) ≃ₗ[K] Matrix (I × K) (J × L) R 
Arguments: (I : Type u_1) (J : Type u_2) (L : Type u_4) (R : Type u_5) (K : Type u_6) [CommSemiring K] [AddCommMonoid R] [Module K R]
Goal: ∀ (a : Matrix (I × K) (J × L) R), (Matrix.compLinearEquiv I J L R K).symm a = (Matrix.compAddEquiv I J K L R).symm a
-- Matrix.compLinearEquiv_apply
@[simps!]
def compLinearEquiv : Matrix I J (Matrix K L R) ≃ₗ[K] Matrix (I × K) (J × L) R 
Arguments: (I : Type u_1) (J : Type u_2) (L : Type u_4) (R : Type u_5) (K : Type u_6) [CommSemiring K] [AddCommMonoid R] [Module K R]
Goal: ∀ (a : Matrix I J (Matrix K L R)), (Matrix.compLinearEquiv I J L R K) a = (Matrix.compAddEquiv I J K L R) a
-- Matrix.compAlgEquiv_symm_apply
@[simps!]
def compAlgEquiv : Matrix I I (Matrix J J R) ≃ₐ[K] Matrix (I × J) (I × J) R 
Arguments: (I : Type u_1) (J : Type u_2) (R : Type u_5) (K : Type u_6) [CommSemiring K] [Semiring R] [Fintype I] [Fintype J] [Algebra K R] [DecidableEq I] [DecidableEq J] (n : Matrix (I × J) (I × J) R) (i j : I) (k l : J)
Goal: (Matrix.compAlgEquiv I J R K).symm n i j k l = n (i, k) (j, l)
-- Matrix.compAlgEquiv_apply
@[simps!]
def compAlgEquiv : Matrix I I (Matrix J J R) ≃ₐ[K] Matrix (I × J) (I × J) R 
Arguments: (I : Type u_1) (J : Type u_2) (R : Type u_5) (K : Type u_6) [CommSemiring K] [Semiring R] [Fintype I] [Fintype J] [Algebra K R] [DecidableEq I] [DecidableEq J] (m : Matrix I I (Matrix J J R)) (ik jl : I × J)
Goal: (Matrix.compAlgEquiv I J R K) m ik jl = m ik.1 jl.1 ik.2 jl.2
-- Matrix.col_apply
@[simp]
theorem col_apply {ι : Type*} (w : m → α) (i) (j : ι) : col ι w i j = w i 
Arguments: {m : Type u_2} {α : Type v} {ι : Type u_6} (w : m → α) (i : m) (j : ι)
Goal: Matrix.col ι w i j = w i
-- Matrix.row_apply
@[simp]
theorem row_apply (v : n → α) (i : ι) (j) : row ι v i j = v j 
Arguments: {n : Type u_3} {α : Type v} {ι : Type u_6} (v : n → α) (i : ι) (j : n)
Goal: Matrix.row ι v i j = v j
-- Matrix.col_injective
theorem col_injective [Nonempty ι] : Function.Injective (col ι : (m → α) → Matrix m ι α) 
Arguments: {m : Type u_2} {α : Type v} {ι : Type u_6} [Nonempty ι]
Goal: Function.Injective (Matrix.col ι)
-- Matrix.col_inj
@[simp] theorem col_inj [Nonempty ι] {v w : m → α} : col ι v = col ι w ↔ v = w 
Arguments: {m : Type u_2} {α : Type v} {ι : Type u_6} [Nonempty ι] {v w : m → α}
Goal: Matrix.col ι v = Matrix.col ι w ↔ v = w
-- Matrix.col_zero
@[simp] theorem col_zero [Zero α] : col ι (0 : m → α) = 0 
Arguments: {m : Type u_2} {α : Type v} {ι : Type u_6} [Zero α]
Goal: Matrix.col ι 0 = 0
-- Matrix.col_eq_zero
@[simp] theorem col_eq_zero [Zero α] [Nonempty ι] (v : m → α) : col ι v = 0 ↔ v = 0 
Arguments: {m : Type u_2} {α : Type v} {ι : Type u_6} [Zero α] [Nonempty ι] (v : m → α)
Goal: Matrix.col ι v = 0 ↔ v = 0
-- Matrix.col_add
@[simp]
theorem col_add [Add α] (v w : m → α) : col ι (v + w) = col ι v + col ι w 
Arguments: {m : Type u_2} {α : Type v} {ι : Type u_6} [Add α] (v w : m → α)
Goal: Matrix.col ι (v + w) = Matrix.col ι v + Matrix.col ι w
-- Matrix.col_smul
@[simp]
theorem col_smul [SMul R α] (x : R) (v : m → α) : col ι (x • v) = x • col ι v 
Arguments: {m : Type u_2} {R : Type u_5} {α : Type v} {ι : Type u_6} [SMul R α] (x : R) (v : m → α)
Goal: Matrix.col ι (x • v) = x • Matrix.col ι v
-- Matrix.row_injective
theorem row_injective [Nonempty ι] : Function.Injective (row ι : (n → α) → Matrix ι n α) 
Arguments: {n : Type u_3} {α : Type v} {ι : Type u_6} [Nonempty ι]
Goal: Function.Injective (Matrix.row ι)
-- Matrix.row_inj
@[simp] theorem row_inj [Nonempty ι] {v w : n → α} : row ι v = row ι w ↔ v = w 
Arguments: {n : Type u_3} {α : Type v} {ι : Type u_6} [Nonempty ι] {v w : n → α}
Goal: Matrix.row ι v = Matrix.row ι w ↔ v = w
-- Matrix.row_zero
@[simp] theorem row_zero [Zero α] : row ι (0 : n → α) = 0 
Arguments: {n : Type u_3} {α : Type v} {ι : Type u_6} [Zero α]
Goal: Matrix.row ι 0 = 0
-- Matrix.row_eq_zero
@[simp] theorem row_eq_zero [Zero α] [Nonempty ι] (v : n → α) : row ι v = 0 ↔ v = 0 
Arguments: {n : Type u_3} {α : Type v} {ι : Type u_6} [Zero α] [Nonempty ι] (v : n → α)
Goal: Matrix.row ι v = 0 ↔ v = 0
-- Matrix.row_add
@[simp]
theorem row_add [Add α] (v w : m → α) : row ι (v + w) = row ι v + row ι w 
Arguments: {m : Type u_2} {α : Type v} {ι : Type u_6} [Add α] (v w : m → α)
Goal: Matrix.row ι (v + w) = Matrix.row ι v + Matrix.row ι w
-- Matrix.row_smul
@[simp]
theorem row_smul [SMul R α] (x : R) (v : m → α) : row ι (x • v) = x • row ι v 
Arguments: {m : Type u_2} {R : Type u_5} {α : Type v} {ι : Type u_6} [SMul R α] (x : R) (v : m → α)
Goal: Matrix.row ι (x • v) = x • Matrix.row ι v
-- Matrix.transpose_col
@[simp]
theorem transpose_col (v : m → α) : (Matrix.col ι v)ᵀ = Matrix.row ι v 
Arguments: {m : Type u_2} {α : Type v} {ι : Type u_6} (v : m → α)
Goal: (Matrix.col ι v).transpose = Matrix.row ι v
-- Matrix.transpose_row
@[simp]
theorem transpose_row (v : m → α) : (Matrix.row ι v)ᵀ = Matrix.col ι v 
Arguments: {m : Type u_2} {α : Type v} {ι : Type u_6} (v : m → α)
Goal: (Matrix.row ι v).transpose = Matrix.col ι v
-- Matrix.conjTranspose_col
@[simp]
theorem conjTranspose_col [Star α] (v : m → α) : (col ι v)ᴴ = row ι (star v) 
Arguments: {m : Type u_2} {α : Type v} {ι : Type u_6} [Star α] (v : m → α)
Goal: (Matrix.col ι v).conjTranspose = Matrix.row ι (star v)
-- Matrix.conjTranspose_row
@[simp]
theorem conjTranspose_row [Star α] (v : m → α) : (row ι v)ᴴ = col ι (star v) 
Arguments: {m : Type u_2} {α : Type v} {ι : Type u_6} [Star α] (v : m → α)
Goal: (Matrix.row ι v).conjTranspose = Matrix.col ι (star v)
-- Matrix.row_vecMul
theorem row_vecMul [Fintype m] [NonUnitalNonAssocSemiring α] (M : Matrix m n α) (v : m → α) :
    Matrix.row ι (v ᵥ* M) = Matrix.row ι v * M 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {ι : Type u_6} [Fintype m] [NonUnitalNonAssocSemiring α] (M : Matrix m n α) (v : m → α)
Goal: Matrix.row ι (Matrix.vecMul v M) = Matrix.row ι v * M
-- Matrix.col_vecMul
theorem col_vecMul [Fintype m] [NonUnitalNonAssocSemiring α] (M : Matrix m n α) (v : m → α) :
    Matrix.col ι (v ᵥ* M) = (Matrix.row ι v * M)ᵀ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {ι : Type u_6} [Fintype m] [NonUnitalNonAssocSemiring α] (M : Matrix m n α) (v : m → α)
Goal: Matrix.col ι (Matrix.vecMul v M) = (Matrix.row ι v * M).transpose
-- Matrix.col_mulVec
theorem col_mulVec [Fintype n] [NonUnitalNonAssocSemiring α] (M : Matrix m n α) (v : n → α) :
    Matrix.col ι (M *ᵥ v) = M * Matrix.col ι v 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {ι : Type u_6} [Fintype n] [NonUnitalNonAssocSemiring α] (M : Matrix m n α) (v : n → α)
Goal: Matrix.col ι (M.mulVec v) = M * Matrix.col ι v
-- Matrix.row_mulVec
theorem row_mulVec [Fintype n] [NonUnitalNonAssocSemiring α] (M : Matrix m n α) (v : n → α) :
    Matrix.row ι (M *ᵥ v) = (M * Matrix.col ι v)ᵀ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {ι : Type u_6} [Fintype n] [NonUnitalNonAssocSemiring α] (M : Matrix m n α) (v : n → α)
Goal: Matrix.row ι (M.mulVec v) = (M * Matrix.col ι v).transpose
-- Matrix.row_mul_col_apply
@[simp]
theorem row_mul_col_apply [Fintype m] [Mul α] [AddCommMonoid α] (v w : m → α) (i j) :
    (row ι v * col ι w) i j = v ⬝ᵥ w 
Arguments: {m : Type u_2} {α : Type v} {ι : Type u_6} [Fintype m] [Mul α] [AddCommMonoid α] (v w : m → α) (i j : ι)
Goal: (Matrix.row ι v * Matrix.col ι w) i j = Matrix.dotProduct v w
-- Matrix.diag_col_mul_row
@[simp]
theorem diag_col_mul_row [Mul α] [AddCommMonoid α] [Unique ι] (a b : n → α) :
    diag (col ι a * row ι b) = a * b 
Arguments: {n : Type u_3} {α : Type v} {ι : Type u_6} [Mul α] [AddCommMonoid α] [Unique ι] (a b : n → α)
Goal: (Matrix.col ι a * Matrix.row ι b).diag = a * b
-- Matrix.vecMulVec_eq
theorem vecMulVec_eq [Mul α] [AddCommMonoid α] [Unique ι] (w : m → α) (v : n → α) :
    vecMulVec w v = col ι w * row ι v 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} (ι : Type u_6) [Mul α] [AddCommMonoid α] [Unique ι] (w : m → α) (v : n → α)
Goal: Matrix.vecMulVec w v = Matrix.col ι w * Matrix.row ι v
-- Matrix.updateRow_self
@[simp]
theorem updateRow_self [DecidableEq m] : updateRow M i b i = b 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {M : Matrix m n α} {i : m} {b : n → α} [DecidableEq m]
Goal: M.updateRow i b i = b
-- Matrix.updateColumn_self
@[simp]
theorem updateColumn_self [DecidableEq n] : updateColumn M j c i j = c i 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {M : Matrix m n α} {i : m} {j : n} {c : m → α} [DecidableEq n]
Goal: M.updateColumn j c i j = c i
-- Matrix.updateRow_ne
@[simp]
theorem updateRow_ne [DecidableEq m] {i' : m} (i_ne : i' ≠ i) : updateRow M i b i' = M i' 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {M : Matrix m n α} {i : m} {b : n → α} [DecidableEq m] {i' : m} (i_ne : i' ≠ i)
Goal: M.updateRow i b i' = M i'
-- Matrix.updateColumn_ne
@[simp]
theorem updateColumn_ne [DecidableEq n] {j' : n} (j_ne : j' ≠ j) :
    updateColumn M j c i j' = M i j' 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {M : Matrix m n α} {i : m} {j : n} {c : m → α} [DecidableEq n] {j' : n} (j_ne : j' ≠ j)
Goal: M.updateColumn j c i j' = M i j'
-- Matrix.updateRow_apply
theorem updateRow_apply [DecidableEq m] {i' : m} :
    updateRow M i b i' j = if i' = i then b j else M i' j 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {M : Matrix m n α} {i : m} {j : n} {b : n → α} [DecidableEq m] {i' : m}
Goal: M.updateRow i b i' j = if i' = i then b j else M i' j
-- Matrix.updateColumn_apply
theorem updateColumn_apply [DecidableEq n] {j' : n} :
    updateColumn M j c i j' = if j' = j then c i else M i j' 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {M : Matrix m n α} {i : m} {j : n} {c : m → α} [DecidableEq n] {j' : n}
Goal: M.updateColumn j c i j' = if j' = j then c i else M i j'
-- Matrix.updateColumn_subsingleton
@[simp]
theorem updateColumn_subsingleton [Subsingleton n] (A : Matrix m n R) (i : n) (b : m → R) :
    A.updateColumn i b = (col (Fin 1) b).submatrix id (Function.const n 0) 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_5} [Subsingleton n] (A : Matrix m n R) (i : n) (b : m → R)
Goal: A.updateColumn i b = (Matrix.col (Fin 1) b).submatrix id (Function.const n 0)
-- Matrix.updateRow_subsingleton
@[simp]
theorem updateRow_subsingleton [Subsingleton m] (A : Matrix m n R) (i : m) (b : n → R) :
    A.updateRow i b = (row (Fin 1) b).submatrix (Function.const m 0) id 
Arguments: {m : Type u_2} {n : Type u_3} {R : Type u_5} [Subsingleton m] (A : Matrix m n R) (i : m) (b : n → R)
Goal: A.updateRow i b = (Matrix.row (Fin 1) b).submatrix (Function.const m 0) id
-- Matrix.map_updateRow
theorem map_updateRow [DecidableEq m] (f : α → β) :
    map (updateRow M i b) f = updateRow (M.map f) i (f ∘ b) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} {M : Matrix m n α} {i : m} {b : n → α} [DecidableEq m] (f : α → β)
Goal: (M.updateRow i b).map f = (M.map f).updateRow i (f ∘ b)
-- Matrix.map_updateColumn
theorem map_updateColumn [DecidableEq n] (f : α → β) :
    map (updateColumn M j c) f = updateColumn (M.map f) j (f ∘ c) 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {β : Type w} {M : Matrix m n α} {j : n} {c : m → α} [DecidableEq n] (f : α → β)
Goal: (M.updateColumn j c).map f = (M.map f).updateColumn j (f ∘ c)
-- Matrix.updateRow_transpose
theorem updateRow_transpose [DecidableEq n] : updateRow Mᵀ j c = (updateColumn M j c)ᵀ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {M : Matrix m n α} {j : n} {c : m → α} [DecidableEq n]
Goal: M.transpose.updateRow j c = (M.updateColumn j c).transpose
-- Matrix.updateColumn_transpose
theorem updateColumn_transpose [DecidableEq m] : updateColumn Mᵀ i b = (updateRow M i b)ᵀ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {M : Matrix m n α} {i : m} {b : n → α} [DecidableEq m]
Goal: M.transpose.updateColumn i b = (M.updateRow i b).transpose
-- Matrix.updateRow_conjTranspose
theorem updateRow_conjTranspose [DecidableEq n] [Star α] :
    updateRow Mᴴ j (star c) = (updateColumn M j c)ᴴ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {M : Matrix m n α} {j : n} {c : m → α} [DecidableEq n] [Star α]
Goal: M.conjTranspose.updateRow j (star c) = (M.updateColumn j c).conjTranspose
-- Matrix.updateColumn_conjTranspose
theorem updateColumn_conjTranspose [DecidableEq m] [Star α] :
    updateColumn Mᴴ i (star b) = (updateRow M i b)ᴴ 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} {M : Matrix m n α} {i : m} {b : n → α} [DecidableEq m] [Star α]
Goal: M.conjTranspose.updateColumn i (star b) = (M.updateRow i b).conjTranspose
-- Matrix.updateRow_eq_self
@[simp]
theorem updateRow_eq_self [DecidableEq m] (A : Matrix m n α) (i : m) : A.updateRow i (A i) = A 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [DecidableEq m] (A : Matrix m n α) (i : m)
Goal: A.updateRow i (A i) = A
-- Matrix.updateColumn_eq_self
@[simp]
theorem updateColumn_eq_self [DecidableEq n] (A : Matrix m n α) (i : n) :
    (A.updateColumn i fun j => A j i) = A 
Arguments: {m : Type u_2} {n : Type u_3} {α : Type v} [DecidableEq n] (A : Matrix m n α) (i : n)
Goal: (A.updateColumn i fun j => A j i) = A
-- Matrix.diagonal_updateColumn_single
theorem diagonal_updateColumn_single [DecidableEq n] [Zero α] (v : n → α) (i : n) (x : α) :
    (diagonal v).updateColumn i (Pi.single i x) = diagonal (Function.update v i x) 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] (v : n → α) (i : n) (x : α)
Goal: (Matrix.diagonal v).updateColumn i (Pi.single i x) = Matrix.diagonal (Function.update v i x)
-- Matrix.diagonal_updateRow_single
theorem diagonal_updateRow_single [DecidableEq n] [Zero α] (v : n → α) (i : n) (x : α) :
    (diagonal v).updateRow i (Pi.single i x) = diagonal (Function.update v i x) 
Arguments: {n : Type u_3} {α : Type v} [DecidableEq n] [Zero α] (v : n → α) (i : n) (x : α)
Goal: (Matrix.diagonal v).updateRow i (Pi.single i x) = Matrix.diagonal (Function.update v i x)
-- Matrix.updateRow_submatrix_equiv
theorem updateRow_submatrix_equiv [DecidableEq l] [DecidableEq m] (A : Matrix m n α) (i : l)
    (r : o → α) (e : l ≃ m) (f : o ≃ n) :
    updateRow (A.submatrix e f) i r = (A.updateRow (e i) fun j => r (f.symm j)).submatrix e f 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [DecidableEq l] [DecidableEq m] (A : Matrix m n α) (i : l) (r : o → α) (e : l ≃ m) (f : o ≃ n)
Goal: (A.submatrix ⇑e ⇑f).updateRow i r = (A.updateRow (e i) fun j => r (f.symm j)).submatrix ⇑e ⇑f
-- Matrix.submatrix_updateRow_equiv
theorem submatrix_updateRow_equiv [DecidableEq l] [DecidableEq m] (A : Matrix m n α) (i : m)
    (r : n → α) (e : l ≃ m) (f : o ≃ n) :
    (A.updateRow i r).submatrix e f = updateRow (A.submatrix e f) (e.symm i) fun i => r (f i) 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [DecidableEq l] [DecidableEq m] (A : Matrix m n α) (i : m) (r : n → α) (e : l ≃ m) (f : o ≃ n)
Goal: (A.updateRow i r).submatrix ⇑e ⇑f = (A.submatrix ⇑e ⇑f).updateRow (e.symm i) fun i => r (f i)
-- Matrix.updateColumn_submatrix_equiv
theorem updateColumn_submatrix_equiv [DecidableEq o] [DecidableEq n] (A : Matrix m n α) (j : o)
    (c : l → α) (e : l ≃ m) (f : o ≃ n) : updateColumn (A.submatrix e f) j c =
    (A.updateColumn (f j) fun i => c (e.symm i)).submatrix e f 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [DecidableEq o] [DecidableEq n] (A : Matrix m n α) (j : o) (c : l → α) (e : l ≃ m) (f : o ≃ n)
Goal: (A.submatrix ⇑e ⇑f).updateColumn j c = (A.updateColumn (f j) fun i => c (e.symm i)).submatrix ⇑e ⇑f
-- Matrix.submatrix_updateColumn_equiv
theorem submatrix_updateColumn_equiv [DecidableEq o] [DecidableEq n] (A : Matrix m n α) (j : n)
    (c : m → α) (e : l ≃ m) (f : o ≃ n) : (A.updateColumn j c).submatrix e f =
    updateColumn (A.submatrix e f) (f.symm j) fun i => c (e i) 
Arguments: {l : Type u_1} {m : Type u_2} {n : Type u_3} {o : Type u_4} {α : Type v} [DecidableEq o] [DecidableEq n] (A : Matrix m n α) (j : n) (c : m → α) (e : l ≃ m) (f : o ≃ n)
Goal: (A.updateColumn j c).submatrix ⇑e ⇑f = (A.submatrix ⇑e ⇑f).updateColumn (f.symm j) fun i => c (e i)