ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Submodule.snd_map_snd
theorem snd_map_snd : (Submodule.snd R M M₂).map (LinearMap.snd R M M₂) = ⊤ 
Arguments: (R : Type u) (M : Type v) (M₂ : Type w) [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂]
Goal: Submodule.map (LinearMap.snd R M M₂) (Submodule.snd R M M₂) = ⊤
-- Submodule.fst_sup_snd
theorem fst_sup_snd : Submodule.fst R M M₂ ⊔ Submodule.snd R M M₂ = ⊤ 
Arguments: (R : Type u) (M : Type v) (M₂ : Type w) [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂]
Goal: Submodule.fst R M M₂ ⊔ Submodule.snd R M M₂ = ⊤
-- Submodule.fst_inf_snd
theorem fst_inf_snd : Submodule.fst R M M₂ ⊓ Submodule.snd R M M₂ = ⊥ 
Arguments: (R : Type u) (M : Type v) (M₂ : Type w) [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂]
Goal: Submodule.fst R M M₂ ⊓ Submodule.snd R M M₂ = ⊥
-- Submodule.le_prod_iff
theorem le_prod_iff {p₁ : Submodule R M} {p₂ : Submodule R M₂} {q : Submodule R (M × M₂)} :
    q ≤ p₁.prod p₂ ↔ map (LinearMap.fst R M M₂) q ≤ p₁ ∧ map (LinearMap.snd R M M₂) q ≤ p₂ 
Arguments: (R : Type u) (M : Type v) (M₂ : Type w) [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂] {p₁ : Submodule R M} {p₂ : Submodule R M₂} {q : Submodule R (M × M₂)}
Goal: q ≤ p₁.prod p₂ ↔ Submodule.map (LinearMap.fst R M M₂) q ≤ p₁ ∧ Submodule.map (LinearMap.snd R M M₂) q ≤ p₂
-- Submodule.prod_le_iff
theorem prod_le_iff {p₁ : Submodule R M} {p₂ : Submodule R M₂} {q : Submodule R (M × M₂)} :
    p₁.prod p₂ ≤ q ↔ map (LinearMap.inl R M M₂) p₁ ≤ q ∧ map (LinearMap.inr R M M₂) p₂ ≤ q 
Arguments: (R : Type u) (M : Type v) (M₂ : Type w) [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂] {p₁ : Submodule R M} {p₂ : Submodule R M₂} {q : Submodule R (M × M₂)}
Goal: p₁.prod p₂ ≤ q ↔ Submodule.map (LinearMap.inl R M M₂) p₁ ≤ q ∧ Submodule.map (LinearMap.inr R M M₂) p₂ ≤ q
-- Submodule.prod_eq_bot_iff
theorem prod_eq_bot_iff {p₁ : Submodule R M} {p₂ : Submodule R M₂} :
    p₁.prod p₂ = ⊥ ↔ p₁ = ⊥ ∧ p₂ = ⊥ 
Arguments: (R : Type u) (M : Type v) (M₂ : Type w) [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂] {p₁ : Submodule R M} {p₂ : Submodule R M₂}
Goal: p₁.prod p₂ = ⊥ ↔ p₁ = ⊥ ∧ p₂ = ⊥
-- Submodule.prod_eq_top_iff
theorem prod_eq_top_iff {p₁ : Submodule R M} {p₂ : Submodule R M₂} :
    p₁.prod p₂ = ⊤ ↔ p₁ = ⊤ ∧ p₂ = ⊤ 
Arguments: (R : Type u) (M : Type v) (M₂ : Type w) [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂] {p₁ : Submodule R M} {p₂ : Submodule R M₂}
Goal: p₁.prod p₂ = ⊤ ↔ p₁ = ⊤ ∧ p₂ = ⊤
-- LinearEquiv.prodComm_apply
@[simps apply]
def prodComm (R M N : Type*) [Semiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M]
    [Module R N] : (M × N) ≃ₗ[R] N × M 
Arguments: (R : Type u_3) (M : Type u_4) (N : Type u_5) [Semiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N]
Goal: ∀ (a : M × N), (LinearEquiv.prodComm R M N) a = a.swap
-- LinearEquiv.fst_comp_prodComm
theorem fst_comp_prodComm :
    (LinearMap.fst R M₂ M).comp (prodComm R M M₂).toLinearMap = (LinearMap.snd R M M₂) 
Arguments: {R : Type u} {M : Type v} {M₂ : Type w} [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂]
Goal: LinearMap.fst R M₂ M ∘ₗ ↑(LinearEquiv.prodComm R M M₂) = LinearMap.snd R M M₂
-- LinearEquiv.snd_comp_prodComm
theorem snd_comp_prodComm :
    (LinearMap.snd R M₂ M).comp (prodComm R M M₂).toLinearMap = (LinearMap.fst R M M₂) 
Arguments: {R : Type u} {M : Type v} {M₂ : Type w} [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂]
Goal: LinearMap.snd R M₂ M ∘ₗ ↑(LinearEquiv.prodComm R M M₂) = LinearMap.fst R M M₂
-- LinearEquiv.prodProdProdComm_apply
@[simps apply]
def prodProdProdComm : ((M × M₂) × M₃ × M₄) ≃ₗ[R] (M × M₃) × M₂ × M₄ 
Arguments: (R : Type u) (M : Type v) (M₂ : Type w) (M₃ : Type y) (M₄ : Type z) [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃] [AddCommMonoid M₄] [Module R M] [Module R M₂] [Module R M₃] [Module R M₄] (mnmn : (M × M₂) × M₃ × M₄)
Goal: (LinearEquiv.prodProdProdComm R M M₂ M₃ M₄) mnmn = ((mnmn.1.1, mnmn.2.1), mnmn.1.2, mnmn.2.2)
-- LinearEquiv.prodProdProdComm_symm
@[simp]
theorem prodProdProdComm_symm :
    (prodProdProdComm R M M₂ M₃ M₄).symm = prodProdProdComm R M M₃ M₂ M₄ 
Arguments: (R : Type u) (M : Type v) (M₂ : Type w) (M₃ : Type y) (M₄ : Type z) [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃] [AddCommMonoid M₄] [Module R M] [Module R M₂] [Module R M₃] [Module R M₄]
Goal: (LinearEquiv.prodProdProdComm R M M₂ M₃ M₄).symm = LinearEquiv.prodProdProdComm R M M₃ M₂ M₄
-- LinearEquiv.prodProdProdComm_toAddEquiv
@[simp]
theorem prodProdProdComm_toAddEquiv :
    (prodProdProdComm R M M₂ M₃ M₄ : _ ≃+ _) = AddEquiv.prodProdProdComm M M₂ M₃ M₄ 
Arguments: (R : Type u) (M : Type v) (M₂ : Type w) (M₃ : Type y) (M₄ : Type z) [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃] [AddCommMonoid M₄] [Module R M] [Module R M₂] [Module R M₃] [Module R M₄]
Goal: ↑(LinearEquiv.prodProdProdComm R M M₂ M₃ M₄) = AddEquiv.prodProdProdComm M M₂ M₃ M₄
-- LinearEquiv.prod_symm
theorem prod_symm : (e₁.prod e₂).symm = e₁.symm.prod e₂.symm 
Arguments: {R : Type u} {M : Type v} {M₂ : Type w} {M₃ : Type y} {M₄ : Type z} [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃] [AddCommMonoid M₄] {module_M : Module R M} {module_M₂ : Module R M₂} {module_M₃ : Module R M₃} {module_M₄ : Module R M₄} (e₁ : M ≃ₗ[R] M₂) (e₂ : M₃ ≃ₗ[R] M₄)
Goal: (e₁.prod e₂).symm = e₁.symm.prod e₂.symm
-- LinearEquiv.prod_apply
@[simp]
theorem prod_apply (p) : e₁.prod e₂ p = (e₁ p.1, e₂ p.2) 
Arguments: {R : Type u} {M : Type v} {M₂ : Type w} {M₃ : Type y} {M₄ : Type z} [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃] [AddCommMonoid M₄] {module_M : Module R M} {module_M₂ : Module R M₂} {module_M₃ : Module R M₃} {module_M₄ : Module R M₄} (e₁ : M ≃ₗ[R] M₂) (e₂ : M₃ ≃ₗ[R] M₄) (p : M × M₃)
Goal: (e₁.prod e₂) p = (e₁ p.1, e₂ p.2)
-- LinearEquiv.coe_prod
@[simp, norm_cast]
theorem coe_prod :
    (e₁.prod e₂ : M × M₃ →ₗ[R] M₂ × M₄) = (e₁ : M →ₗ[R] M₂).prodMap (e₂ : M₃ →ₗ[R] M₄) 
Arguments: {R : Type u} {M : Type v} {M₂ : Type w} {M₃ : Type y} {M₄ : Type z} [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃] [AddCommMonoid M₄] {module_M : Module R M} {module_M₂ : Module R M₂} {module_M₃ : Module R M₃} {module_M₄ : Module R M₄} (e₁ : M ≃ₗ[R] M₂) (e₂ : M₃ ≃ₗ[R] M₄)
Goal: ↑(e₁.prod e₂) = (↑e₁).prodMap ↑e₂
-- LinearEquiv.skewProd_apply
@[simp]
theorem skewProd_apply (f : M →ₗ[R] M₄) (x) : e₁.skewProd e₂ f x = (e₁ x.1, e₂ x.2 + f x.1) 
Arguments: {R : Type u} {M : Type v} {M₂ : Type w} {M₃ : Type y} {M₄ : Type z} [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃] [AddCommGroup M₄] {module_M : Module R M} {module_M₂ : Module R M₂} {module_M₃ : Module R M₃} {module_M₄ : Module R M₄} (e₁ : M ≃ₗ[R] M₂) (e₂ : M₃ ≃ₗ[R] M₄) (f : M →ₗ[R] M₄) (x : M × M₃)
Goal: (e₁.skewProd e₂ f) x = (e₁ x.1, e₂ x.2 + f x.1)
-- LinearEquiv.skewProd_symm_apply
@[simp]
theorem skewProd_symm_apply (f : M →ₗ[R] M₄) (x) :
    (e₁.skewProd e₂ f).symm x = (e₁.symm x.1, e₂.symm (x.2 - f (e₁.symm x.1))) 
Arguments: {R : Type u} {M : Type v} {M₂ : Type w} {M₃ : Type y} {M₄ : Type z} [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃] [AddCommGroup M₄] {module_M : Module R M} {module_M₂ : Module R M₂} {module_M₃ : Module R M₃} {module_M₄ : Module R M₄} (e₁ : M ≃ₗ[R] M₂) (e₂ : M₃ ≃ₗ[R] M₄) (f : M →ₗ[R] M₄) (x : M₂ × M₄)
Goal: (e₁.skewProd e₂ f).symm x = (e₁.symm x.1, e₂.symm (x.2 - f (e₁.symm x.1)))
-- LinearMap.range_prod_eq
theorem range_prod_eq {f : M →ₗ[R] M₂} {g : M →ₗ[R] M₃} (h : ker f ⊔ ker g = ⊤) :
    range (prod f g) = (range f).prod (range g) 
Arguments: {R : Type u} {M : Type v} {M₂ : Type w} {M₃ : Type y} [Ring R] [AddCommGroup M] [AddCommGroup M₂] [AddCommGroup M₃] [Module R M] [Module R M₂] [Module R M₃] {f : M →ₗ[R] M₂} {g : M →ₗ[R] M₃} (h : LinearMap.ker f ⊔ LinearMap.ker g = ⊤)
Goal: LinearMap.range (f.prod g) = (LinearMap.range f).prod (LinearMap.range g)
-- LinearMap.tunnelAux_injective
@[deprecated (since := "2024-06-05")]
theorem tunnelAux_injective (f : M × N →ₗ[R] M) (i : Injective f)
    (Kφ : ΣK : Submodule R M, K ≃ₗ[R] M) : Injective (tunnelAux f Kφ) 
Arguments: {R : Type u} {M : Type v} [Ring R] {N : Type u_3} [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (f : M × N →ₗ[R] M) (i : Function.Injective ⇑f) (Kφ : (K : Submodule R M) × ↥K ≃ₗ[R] M)
Goal: Function.Injective ⇑(f.tunnelAux Kφ)
-- LinearMap.tailing_le_tunnel
@[deprecated (since := "2024-06-05")]
theorem tailing_le_tunnel (f : M × N →ₗ[R] M) (i : Injective f) (n : ℕ) :
    tailing f i n ≤ OrderDual.ofDual (α := Submodule R M) (tunnel f i n) 
Arguments: {R : Type u} {M : Type v} [Ring R] {N : Type u_3} [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (f : M × N →ₗ[R] M) (i : Function.Injective ⇑f) (n : ℕ)
Goal: f.tailing i n ≤ OrderDual.ofDual ((f.tunnel i) n)
-- LinearMap.tailing_disjoint_tunnel_succ
@[deprecated (since := "2024-06-05")]
theorem tailing_disjoint_tunnel_succ (f : M × N →ₗ[R] M) (i : Injective f) (n : ℕ) :
    Disjoint (tailing f i n) (OrderDual.ofDual (α := Submodule R M) <| tunnel f i (n + 1)) 
Arguments: {R : Type u} {M : Type v} [Ring R] {N : Type u_3} [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (f : M × N →ₗ[R] M) (i : Function.Injective ⇑f) (n : ℕ)
Goal: Disjoint (f.tailing i n) (OrderDual.ofDual ((f.tunnel i) (n + 1)))
-- LinearMap.tailing_sup_tunnel_succ_le_tunnel
@[deprecated (since := "2024-06-05")]
theorem tailing_sup_tunnel_succ_le_tunnel (f : M × N →ₗ[R] M) (i : Injective f) (n : ℕ) :
    tailing f i n ⊔ (OrderDual.ofDual (α := Submodule R M) $ tunnel f i (n + 1)) ≤
      (OrderDual.ofDual (α := Submodule R M) <| tunnel f i n) 
Arguments: {R : Type u} {M : Type v} [Ring R] {N : Type u_3} [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (f : M × N →ₗ[R] M) (i : Function.Injective ⇑f) (n : ℕ)
Goal: f.tailing i n ⊔ OrderDual.ofDual ((f.tunnel i) (n + 1)) ≤ OrderDual.ofDual ((f.tunnel i) n)
-- LinearMap.tailings_zero
@[simp, deprecated (since := "2024-06-05")]
theorem tailings_zero (f : M × N →ₗ[R] M) (i : Injective f) : tailings f i 0 = tailing f i 0 
Arguments: {R : Type u} {M : Type v} [Ring R] {N : Type u_3} [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (f : M × N →ₗ[R] M) (i : Function.Injective ⇑f)
Goal: f.tailings i 0 = f.tailing i 0
-- LinearMap.tailings_succ
@[simp, deprecated (since := "2024-06-05")]
theorem tailings_succ (f : M × N →ₗ[R] M) (i : Injective f) (n : ℕ) :
    tailings f i (n + 1) = tailings f i n ⊔ tailing f i (n + 1) 
Arguments: {R : Type u} {M : Type v} [Ring R] {N : Type u_3} [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (f : M × N →ₗ[R] M) (i : Function.Injective ⇑f) (n : ℕ)
Goal: f.tailings i (n + 1) = f.tailings i n ⊔ f.tailing i (n + 1)
-- LinearMap.tailings_disjoint_tunnel
@[deprecated (since := "2024-06-05")]
theorem tailings_disjoint_tunnel (f : M × N →ₗ[R] M) (i : Injective f) (n : ℕ) :
    Disjoint (tailings f i n) (OrderDual.ofDual (α := Submodule R M) <| tunnel f i (n + 1)) 
Arguments: {R : Type u} {M : Type v} [Ring R] {N : Type u_3} [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (f : M × N →ₗ[R] M) (i : Function.Injective ⇑f) (n : ℕ)
Goal: Disjoint (f.tailings i n) (OrderDual.ofDual ((f.tunnel i) (n + 1)))
-- LinearMap.tailings_disjoint_tailing
@[deprecated (since := "2024-06-05")]
theorem tailings_disjoint_tailing (f : M × N →ₗ[R] M) (i : Injective f) (n : ℕ) :
    Disjoint (tailings f i n) (tailing f i (n + 1)) 
Arguments: {R : Type u} {M : Type v} [Ring R] {N : Type u_3} [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (f : M × N →ₗ[R] M) (i : Function.Injective ⇑f) (n : ℕ)
Goal: Disjoint (f.tailings i n) (f.tailing i (n + 1))
-- LinearMap.mem_graph_iff
@[simp]
theorem mem_graph_iff (x : M × M₂) : x ∈ f.graph ↔ x.2 = f x.1 
Arguments: {R : Type u} {M : Type v} {M₂ : Type w} [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂] (f : M →ₗ[R] M₂) (x : M × M₂)
Goal: x ∈ f.graph ↔ x.2 = f x.1
-- LinearMap.graph_eq_ker_coprod
theorem graph_eq_ker_coprod : g.graph = ker ((-g).coprod LinearMap.id) 
Arguments: {R : Type u} {M₃ : Type y} {M₄ : Type z} [Semiring R] [AddCommGroup M₃] [AddCommGroup M₄] [Module R M₃] [Module R M₄] (g : M₃ →ₗ[R] M₄)
Goal: g.graph = LinearMap.ker ((-g).coprod LinearMap.id)
-- LinearMap.graph_eq_range_prod
theorem graph_eq_range_prod : f.graph = range (LinearMap.id.prod f) 
Arguments: {R : Type u} {M : Type v} {M₂ : Type w} [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂] (f : M →ₗ[R] M₂)
Goal: f.graph = LinearMap.range (LinearMap.id.prod f)
-- Matrix.cramerMap_is_linear
theorem cramerMap_is_linear (i : n) : IsLinearMap α fun b => cramerMap A b i 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α) (i : n)
Goal: IsLinearMap α fun b => A.cramerMap b i
-- Matrix.cramer_is_linear
theorem cramer_is_linear : IsLinearMap α (cramerMap A) 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α)
Goal: IsLinearMap α A.cramerMap
-- Matrix.cramer_apply
theorem cramer_apply (i : n) : cramer A b i = (A.updateColumn i b).det 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α) (b : n → α) (i : n)
Goal: A.cramer b i = (A.updateColumn i b).det
-- Matrix.cramer_transpose_apply
theorem cramer_transpose_apply (i : n) : cramer Aᵀ b i = (A.updateRow i b).det 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α) (b : n → α) (i : n)
Goal: A.transpose.cramer b i = (A.updateRow i b).det
-- Matrix.cramer_transpose_row_self
theorem cramer_transpose_row_self (i : n) : Aᵀ.cramer (A i) = Pi.single i A.det 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α) (i : n)
Goal: A.transpose.cramer (A i) = Pi.single i A.det
-- Matrix.cramer_row_self
theorem cramer_row_self (i : n) (h : ∀ j, b j = A j i) : A.cramer b = Pi.single i A.det 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α) (b : n → α) (i : n) (h : ∀ (j : n), b j = A j i)
Goal: A.cramer b = Pi.single i A.det
-- Matrix.cramer_one
@[simp]
theorem cramer_one : cramer (1 : Matrix n n α) = 1 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α]
Goal: Matrix.cramer 1 = 1
-- Matrix.cramer_smul
theorem cramer_smul (r : α) (A : Matrix n n α) :
    cramer (r • A) = r ^ (Fintype.card n - 1) • cramer A 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (r : α) (A : Matrix n n α)
Goal: (r • A).cramer = r ^ (Fintype.card n - 1) • A.cramer
-- Matrix.cramer_subsingleton_apply
@[simp]
theorem cramer_subsingleton_apply [Subsingleton n] (A : Matrix n n α) (b : n → α) (i : n) :
    cramer A b i = b i 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] [Subsingleton n] (A : Matrix n n α) (b : n → α) (i : n)
Goal: A.cramer b i = b i
-- Matrix.cramer_zero
theorem cramer_zero [Nontrivial n] : cramer (0 : Matrix n n α) = 0 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] [Nontrivial n]
Goal: Matrix.cramer 0 = 0
-- Matrix.sum_cramer
theorem sum_cramer {β} (s : Finset β) (f : β → n → α) :
    (∑ x ∈ s, cramer A (f x)) = cramer A (∑ x ∈ s, f x) 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α) {β : Type u_1} (s : Finset β) (f : β → n → α)
Goal: ∑ x ∈ s, A.cramer (f x) = A.cramer (∑ x ∈ s, f x)
-- Matrix.sum_cramer_apply
theorem sum_cramer_apply {β} (s : Finset β) (f : n → β → α) (i : n) :
    (∑ x ∈ s, cramer A (fun j => f j x) i) = cramer A (fun j : n => ∑ x ∈ s, f j x) i 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α) {β : Type u_1} (s : Finset β) (f : n → β → α) (i : n)
Goal: ∑ x ∈ s, A.cramer (fun j => f j x) i = A.cramer (fun j => ∑ x ∈ s, f j x) i
-- Matrix.cramer_submatrix_equiv
theorem cramer_submatrix_equiv (A : Matrix m m α) (e : n ≃ m) (b : n → α) :
    cramer (A.submatrix e e) b = cramer A (b ∘ e.symm) ∘ e 
Arguments: {m : Type u} {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [DecidableEq m] [Fintype m] [CommRing α] (A : Matrix m m α) (e : n ≃ m) (b : n → α)
Goal: (A.submatrix ⇑e ⇑e).cramer b = A.cramer (b ∘ ⇑e.symm) ∘ ⇑e
-- Matrix.cramer_reindex
theorem cramer_reindex (e : m ≃ n) (A : Matrix m m α) (b : n → α) :
    cramer (reindex e e A) b = cramer A (b ∘ e) ∘ e.symm 
Arguments: {m : Type u} {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [DecidableEq m] [Fintype m] [CommRing α] (e : m ≃ n) (A : Matrix m m α) (b : n → α)
Goal: ((Matrix.reindex e e) A).cramer b = A.cramer (b ∘ ⇑e) ∘ ⇑e.symm
-- Matrix.adjugate_def
theorem adjugate_def (A : Matrix n n α) : adjugate A = of fun i => cramer Aᵀ (Pi.single i 1) 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α)
Goal: A.adjugate = Matrix.of fun i => A.transpose.cramer (Pi.single i 1)
-- Matrix.adjugate_apply
theorem adjugate_apply (A : Matrix n n α) (i j : n) :
    adjugate A i j = (A.updateRow j (Pi.single i 1)).det 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α) (i j : n)
Goal: A.adjugate i j = (A.updateRow j (Pi.single i 1)).det
-- Matrix.adjugate_transpose
theorem adjugate_transpose (A : Matrix n n α) : (adjugate A)ᵀ = adjugate Aᵀ 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α)
Goal: A.adjugate.transpose = A.transpose.adjugate
-- Matrix.adjugate_submatrix_equiv_self
@[simp]
theorem adjugate_submatrix_equiv_self (e : n ≃ m) (A : Matrix m m α) :
    adjugate (A.submatrix e e) = (adjugate A).submatrix e e 
Arguments: {m : Type u} {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [DecidableEq m] [Fintype m] [CommRing α] (e : n ≃ m) (A : Matrix m m α)
Goal: (A.submatrix ⇑e ⇑e).adjugate = A.adjugate.submatrix ⇑e ⇑e
-- Matrix.adjugate_reindex
theorem adjugate_reindex (e : m ≃ n) (A : Matrix m m α) :
    adjugate (reindex e e A) = reindex e e (adjugate A) 
Arguments: {m : Type u} {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [DecidableEq m] [Fintype m] [CommRing α] (e : m ≃ n) (A : Matrix m m α)
Goal: ((Matrix.reindex e e) A).adjugate = (Matrix.reindex e e) A.adjugate
-- Matrix.cramer_eq_adjugate_mulVec
theorem cramer_eq_adjugate_mulVec (A : Matrix n n α) (b : n → α) :
    cramer A b = A.adjugate *ᵥ b 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α) (b : n → α)
Goal: A.cramer b = A.adjugate.mulVec b
-- Matrix.mul_adjugate_apply
theorem mul_adjugate_apply (A : Matrix n n α) (i j k) :
    A i k * adjugate A k j = cramer Aᵀ (Pi.single k (A i k)) j 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α) (i j k : n)
Goal: A i k * A.adjugate k j = A.transpose.cramer (Pi.single k (A i k)) j
-- Matrix.mul_adjugate
theorem mul_adjugate (A : Matrix n n α) : A * adjugate A = A.det • (1 : Matrix n n α) 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α)
Goal: A * A.adjugate = A.det • 1
-- Matrix.adjugate_mul
theorem adjugate_mul (A : Matrix n n α) : adjugate A * A = A.det • (1 : Matrix n n α) 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α)
Goal: A.adjugate * A = A.det • 1
-- Matrix.adjugate_smul
theorem adjugate_smul (r : α) (A : Matrix n n α) :
    adjugate (r • A) = r ^ (Fintype.card n - 1) • adjugate A 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (r : α) (A : Matrix n n α)
Goal: (r • A).adjugate = r ^ (Fintype.card n - 1) • A.adjugate
-- Matrix.mulVec_cramer
@[simp]
theorem mulVec_cramer (A : Matrix n n α) (b : n → α) : A *ᵥ cramer A b = A.det • b 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α) (b : n → α)
Goal: A.mulVec (A.cramer b) = A.det • b
-- Matrix.adjugate_subsingleton
theorem adjugate_subsingleton [Subsingleton n] (A : Matrix n n α) : adjugate A = 1 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] [Subsingleton n] (A : Matrix n n α)
Goal: A.adjugate = 1
-- Matrix.adjugate_eq_one_of_card_eq_one
theorem adjugate_eq_one_of_card_eq_one {A : Matrix n n α} (h : Fintype.card n = 1) :
    adjugate A = 1 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] {A : Matrix n n α} (h : Fintype.card n = 1)
Goal: A.adjugate = 1
-- Matrix.adjugate_zero
@[simp]
theorem adjugate_zero [Nontrivial n] : adjugate (0 : Matrix n n α) = 0 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] [Nontrivial n]
Goal: Matrix.adjugate 0 = 0
-- Matrix.adjugate_one
@[simp]
theorem adjugate_one : adjugate (1 : Matrix n n α) = 1 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α]
Goal: Matrix.adjugate 1 = 1
-- Matrix.adjugate_diagonal
@[simp]
theorem adjugate_diagonal (v : n → α) :
    adjugate (diagonal v) = diagonal fun i => ∏ j ∈ Finset.univ.erase i, v j 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (v : n → α)
Goal: (Matrix.diagonal v).adjugate = Matrix.diagonal fun i => ∏ j ∈ Finset.univ.erase i, v j
-- RingHom.map_adjugate
theorem _root_.RingHom.map_adjugate {R S : Type*} [CommRing R] [CommRing S] (f : R →+* S)
    (M : Matrix n n R) : f.mapMatrix M.adjugate = Matrix.adjugate (f.mapMatrix M) 
Arguments: {n : Type v} [DecidableEq n] [Fintype n] {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] (f : R →+* S) (M : Matrix n n R)
Goal: f.mapMatrix M.adjugate = (f.mapMatrix M).adjugate
-- AlgHom.map_adjugate
theorem _root_.AlgHom.map_adjugate {R A B : Type*} [CommSemiring R] [CommRing A] [CommRing B]
    [Algebra R A] [Algebra R B] (f : A →ₐ[R] B) (M : Matrix n n A) :
    f.mapMatrix M.adjugate = Matrix.adjugate (f.mapMatrix M) 
Arguments: {n : Type v} [DecidableEq n] [Fintype n] {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B) (M : Matrix n n A)
Goal: f.mapMatrix M.adjugate = (f.mapMatrix M).adjugate
-- Matrix.det_adjugate
theorem det_adjugate (A : Matrix n n α) : (adjugate A).det = A.det ^ (Fintype.card n - 1) 
Arguments: {n : Type v} {α : Type w} [DecidableEq n] [Fintype n] [CommRing α] (A : Matrix n n α)
Goal: A.adjugate.det = A.det ^ (Fintype.card n - 1)
-- Matrix.adjugate_fin_zero
@[simp]
theorem adjugate_fin_zero (A : Matrix (Fin 0) (Fin 0) α) : adjugate A = 0 
Arguments: {α : Type w} [CommRing α] (A : Matrix (Fin 0) (Fin 0) α)
Goal: A.adjugate = 0
-- Matrix.adjugate_fin_one
@[simp]
theorem adjugate_fin_one (A : Matrix (Fin 1) (Fin 1) α) : adjugate A = 1 
Arguments: {α : Type w} [CommRing α] (A : Matrix (Fin 1) (Fin 1) α)
Goal: A.adjugate = 1
-- Matrix.adjugate_fin_succ_eq_det_submatrix
theorem adjugate_fin_succ_eq_det_submatrix {n : ℕ} (A : Matrix (Fin n.succ) (Fin n.succ) α) (i j) :
    adjugate A i j = (-1) ^ (j + i : ℕ) * det (A.submatrix j.succAbove i.succAbove) 
Arguments: {α : Type w} [CommRing α] {n : ℕ} (A : Matrix (Fin n.succ) (Fin n.succ) α) (i j : Fin n.succ)
Goal: A.adjugate i j = (-1) ^ (↑j + ↑i) * (A.submatrix j.succAbove i.succAbove).det
-- Matrix.adjugate_fin_two
theorem adjugate_fin_two (A : Matrix (Fin 2) (Fin 2) α) :
    adjugate A = !![A 1 1, -A 0 1; -A 1 0, A 0 0] 
Arguments: {α : Type w} [CommRing α] (A : Matrix (Fin 2) (Fin 2) α)
Goal: A.adjugate = !![A 1 1, -A 0 1; -A 1 0, A 0 0]
-- Matrix.adjugate_fin_two_of
@[simp]
theorem adjugate_fin_two_of (a b c d : α) : adjugate !![a, b; c, d] = !![d, -b; -c, a] 
Arguments: {α : Type w} [CommRing α] (a b c d : α)
Goal: !![a, b; c, d].adjugate = !![d, -b; -c, a]