ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- TensorProduct.AlgebraTensorModule.congr_symm
theorem congr_symm (f : M ≃ₗ[A] P) (g : N ≃ₗ[R] Q) : congr f.symm g.symm = (congr f g).symm 
Arguments: {R : Type uR} {A : Type uA} {M : Type uM} {N : Type uN} {P : Type uP} {Q : Type uQ} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] [AddCommMonoid Q] [Module R Q] (f : M ≃ₗ[A] P) (g : N ≃ₗ[R] Q)
Goal: TensorProduct.AlgebraTensorModule.congr f.symm g.symm = (TensorProduct.AlgebraTensorModule.congr f g).symm
-- TensorProduct.AlgebraTensorModule.congr_one
@[simp]
theorem congr_one : congr (1 : M ≃ₗ[A] M) (1 : N ≃ₗ[R] N) = 1 
Arguments: {R : Type uR} {A : Type uA} {M : Type uM} {N : Type uN} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N]
Goal: TensorProduct.AlgebraTensorModule.congr 1 1 = 1
-- TensorProduct.AlgebraTensorModule.congr_mul
theorem congr_mul (f₁ f₂ : M ≃ₗ[A] M) (g₁ g₂ : N ≃ₗ[R] N) :
    congr (f₁ * f₂) (g₁ * g₂) = congr f₁ g₁ * congr f₂ g₂ 
Arguments: {R : Type uR} {A : Type uA} {M : Type uM} {N : Type uN} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] (f₁ f₂ : M ≃ₗ[A] M) (g₁ g₂ : N ≃ₗ[R] N)
Goal: TensorProduct.AlgebraTensorModule.congr (f₁ * f₂) (g₁ * g₂) =
  TensorProduct.AlgebraTensorModule.congr f₁ g₁ * TensorProduct.AlgebraTensorModule.congr f₂ g₂
-- TensorProduct.AlgebraTensorModule.congr_tmul
@[simp] theorem congr_tmul (f : M ≃ₗ[A] P) (g : N ≃ₗ[R] Q) (m : M) (n : N) :
    congr f g (m ⊗ₜ n) = f m ⊗ₜ g n 
Arguments: {R : Type uR} {A : Type uA} {M : Type uM} {N : Type uN} {P : Type uP} {Q : Type uQ} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] [AddCommMonoid Q] [Module R Q] (f : M ≃ₗ[A] P) (g : N ≃ₗ[R] Q) (m : M) (n : N)
Goal: (TensorProduct.AlgebraTensorModule.congr f g) (m ⊗ₜ[R] n) = f m ⊗ₜ[R] g n
-- TensorProduct.AlgebraTensorModule.congr_symm_tmul
@[simp] theorem congr_symm_tmul (f : M ≃ₗ[A] P) (g : N ≃ₗ[R] Q) (p : P) (q : Q) :
    (congr f g).symm (p ⊗ₜ q) = f.symm p ⊗ₜ g.symm q 
Arguments: {R : Type uR} {A : Type uA} {M : Type uM} {N : Type uN} {P : Type uP} {Q : Type uQ} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] [AddCommMonoid Q] [Module R Q] (f : M ≃ₗ[A] P) (g : N ≃ₗ[R] Q) (p : P) (q : Q)
Goal: (TensorProduct.AlgebraTensorModule.congr f g).symm (p ⊗ₜ[R] q) = f.symm p ⊗ₜ[R] g.symm q
-- TensorProduct.AlgebraTensorModule.rid_eq_rid
theorem rid_eq_rid : AlgebraTensorModule.rid R R M = TensorProduct.rid R M 
Arguments: (R : Type uR) (M : Type uM) [CommSemiring R] [AddCommMonoid M] [Module R M]
Goal: TensorProduct.AlgebraTensorModule.rid R R M = TensorProduct.rid R M
-- TensorProduct.AlgebraTensorModule.rid_tmul
@[simp]
theorem rid_tmul (r : R) (m : M) : AlgebraTensorModule.rid R A M (m ⊗ₜ r) = r • m 
Arguments: {R : Type uR} (A : Type uA) {M : Type uM} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] (r : R) (m : M)
Goal: (TensorProduct.AlgebraTensorModule.rid R A M) (m ⊗ₜ[R] r) = r • m
-- TensorProduct.AlgebraTensorModule.rid_symm_apply
@[simp]
theorem rid_symm_apply (m : M) : (AlgebraTensorModule.rid R A M).symm m = m ⊗ₜ 1 
Arguments: (R : Type uR) (A : Type uA) {M : Type uM} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] (m : M)
Goal: (TensorProduct.AlgebraTensorModule.rid R A M).symm m = m ⊗ₜ[R] 1
-- TensorProduct.AlgebraTensorModule.assoc_tmul
@[simp]
theorem assoc_tmul (m : M) (p : P) (q : Q) :
    assoc R A B M P Q ((m ⊗ₜ p) ⊗ₜ q) = m ⊗ₜ (p ⊗ₜ q) 
Arguments: (R : Type uR) (A : Type uA) (B : Type uB) {M : Type uM} {P : Type uP} {Q : Type uQ} [CommSemiring R] [CommSemiring A] [Semiring B] [Algebra R A] [Algebra R B] [AddCommMonoid M] [Module R M] [Module A M] [Module B M] [IsScalarTower R A M] [IsScalarTower R B M] [SMulCommClass A B M] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] [AddCommMonoid Q] [Module R Q] [Algebra A B] [IsScalarTower A B M] (m : M) (p : P) (q : Q)
Goal: (TensorProduct.AlgebraTensorModule.assoc R A B M P Q) ((m ⊗ₜ[A] p) ⊗ₜ[R] q) = m ⊗ₜ[A] p ⊗ₜ[R] q
-- TensorProduct.AlgebraTensorModule.assoc_symm_tmul
@[simp]
theorem assoc_symm_tmul (m : M) (p : P) (q : Q) :
    (assoc R A B M P Q).symm (m ⊗ₜ (p ⊗ₜ q)) = (m ⊗ₜ p) ⊗ₜ q 
Arguments: (R : Type uR) (A : Type uA) (B : Type uB) {M : Type uM} {P : Type uP} {Q : Type uQ} [CommSemiring R] [CommSemiring A] [Semiring B] [Algebra R A] [Algebra R B] [AddCommMonoid M] [Module R M] [Module A M] [Module B M] [IsScalarTower R A M] [IsScalarTower R B M] [SMulCommClass A B M] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] [AddCommMonoid Q] [Module R Q] [Algebra A B] [IsScalarTower A B M] (m : M) (p : P) (q : Q)
Goal: (TensorProduct.AlgebraTensorModule.assoc R A B M P Q).symm (m ⊗ₜ[A] p ⊗ₜ[R] q) = (m ⊗ₜ[A] p) ⊗ₜ[R] q
-- TensorProduct.AlgebraTensorModule.cancelBaseChange_tmul
@[simp]
theorem cancelBaseChange_tmul (m : M) (n : N) (a : A) :
    cancelBaseChange R A B M N (m ⊗ₜ (a ⊗ₜ n)) = (a • m) ⊗ₜ n 
Arguments: (R : Type uR) (A : Type uA) (B : Type uB) {M : Type uM} {N : Type uN} [CommSemiring R] [CommSemiring A] [Semiring B] [Algebra R A] [Algebra R B] [AddCommMonoid M] [Module R M] [Module A M] [Module B M] [IsScalarTower R A M] [IsScalarTower R B M] [SMulCommClass A B M] [AddCommMonoid N] [Module R N] [Algebra A B] [IsScalarTower A B M] (m : M) (n : N) (a : A)
Goal: (TensorProduct.AlgebraTensorModule.cancelBaseChange R A B M N) (m ⊗ₜ[A] a ⊗ₜ[R] n) = (a • m) ⊗ₜ[R] n
-- TensorProduct.AlgebraTensorModule.cancelBaseChange_symm_tmul
@[simp]
theorem cancelBaseChange_symm_tmul (m : M) (n : N) :
    (cancelBaseChange R A B M N).symm (m ⊗ₜ n) = m ⊗ₜ (1 ⊗ₜ n) 
Arguments: (R : Type uR) (A : Type uA) (B : Type uB) {M : Type uM} {N : Type uN} [CommSemiring R] [CommSemiring A] [Semiring B] [Algebra R A] [Algebra R B] [AddCommMonoid M] [Module R M] [Module A M] [Module B M] [IsScalarTower R A M] [IsScalarTower R B M] [SMulCommClass A B M] [AddCommMonoid N] [Module R N] [Algebra A B] [IsScalarTower A B M] (m : M) (n : N)
Goal: (TensorProduct.AlgebraTensorModule.cancelBaseChange R A B M N).symm (m ⊗ₜ[R] n) = m ⊗ₜ[A] 1 ⊗ₜ[R] n
-- TensorProduct.AlgebraTensorModule.leftComm_tmul
@[simp]
theorem leftComm_tmul (m : M) (p : P) (q : Q) :
    leftComm R A M P Q (m ⊗ₜ (p ⊗ₜ q)) = p ⊗ₜ (m ⊗ₜ q) 
Arguments: (R : Type uR) (A : Type uA) {M : Type uM} {P : Type uP} {Q : Type uQ} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] [AddCommMonoid Q] [Module R Q] (m : M) (p : P) (q : Q)
Goal: (TensorProduct.AlgebraTensorModule.leftComm R A M P Q) (m ⊗ₜ[A] p ⊗ₜ[R] q) = p ⊗ₜ[A] m ⊗ₜ[R] q
-- TensorProduct.AlgebraTensorModule.leftComm_symm_tmul
@[simp]
theorem leftComm_symm_tmul (m : M) (p : P) (q : Q) :
    (leftComm R A M P Q).symm (p ⊗ₜ (m ⊗ₜ q)) = m ⊗ₜ (p ⊗ₜ q) 
Arguments: (R : Type uR) (A : Type uA) {M : Type uM} {P : Type uP} {Q : Type uQ} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] [AddCommMonoid Q] [Module R Q] (m : M) (p : P) (q : Q)
Goal: (TensorProduct.AlgebraTensorModule.leftComm R A M P Q).symm (p ⊗ₜ[A] m ⊗ₜ[R] q) = m ⊗ₜ[A] p ⊗ₜ[R] q
-- TensorProduct.AlgebraTensorModule.rightComm_tmul
@[simp]
theorem rightComm_tmul (m : M) (p : P) (q : Q) :
    rightComm R A M P Q ((m ⊗ₜ p) ⊗ₜ q) = (m ⊗ₜ q) ⊗ₜ p 
Arguments: (R : Type uR) (A : Type uA) {M : Type uM} {P : Type uP} {Q : Type uQ} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid P] [Module A P] [AddCommMonoid Q] [Module R Q] (m : M) (p : P) (q : Q)
Goal: (TensorProduct.AlgebraTensorModule.rightComm R A M P Q) ((m ⊗ₜ[A] p) ⊗ₜ[R] q) = (m ⊗ₜ[R] q) ⊗ₜ[A] p
-- TensorProduct.AlgebraTensorModule.rightComm_symm_tmul
@[simp]
theorem rightComm_symm_tmul (m : M) (p : P) (q : Q) :
    (rightComm R A M P Q).symm ((m ⊗ₜ q) ⊗ₜ p) = (m ⊗ₜ p) ⊗ₜ q 
Arguments: (R : Type uR) (A : Type uA) {M : Type uM} {P : Type uP} {Q : Type uQ} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid P] [Module A P] [AddCommMonoid Q] [Module R Q] (m : M) (p : P) (q : Q)
Goal: (TensorProduct.AlgebraTensorModule.rightComm R A M P Q).symm ((m ⊗ₜ[R] q) ⊗ₜ[A] p) = (m ⊗ₜ[A] p) ⊗ₜ[R] q
-- TensorProduct.AlgebraTensorModule.tensorTensorTensorComm_tmul
@[simp]
theorem tensorTensorTensorComm_tmul (m : M) (n : N) (p : P) (q : Q) :
    tensorTensorTensorComm R A M N P Q ((m ⊗ₜ n) ⊗ₜ (p ⊗ₜ q)) = (m ⊗ₜ p) ⊗ₜ (n ⊗ₜ q) 
Arguments: (R : Type uR) (A : Type uA) {M : Type uM} {N : Type uN} {P : Type uP} {Q : Type uQ} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] [AddCommMonoid Q] [Module R Q] (m : M) (n : N) (p : P) (q : Q)
Goal: (TensorProduct.AlgebraTensorModule.tensorTensorTensorComm R A M N P Q) ((m ⊗ₜ[R] n) ⊗ₜ[A] p ⊗ₜ[R] q) =
  (m ⊗ₜ[A] p) ⊗ₜ[R] n ⊗ₜ[R] q
-- TensorProduct.AlgebraTensorModule.tensorTensorTensorComm_symm_tmul
@[simp]
theorem tensorTensorTensorComm_symm_tmul (m : M) (n : N) (p : P) (q : Q) :
    (tensorTensorTensorComm R A M N P Q).symm ((m ⊗ₜ p) ⊗ₜ (n ⊗ₜ q)) = (m ⊗ₜ n) ⊗ₜ (p ⊗ₜ q) 
Arguments: (R : Type uR) (A : Type uA) {M : Type uM} {N : Type uN} {P : Type uP} {Q : Type uQ} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] [AddCommMonoid N] [Module R N] [AddCommMonoid P] [Module R P] [Module A P] [IsScalarTower R A P] [AddCommMonoid Q] [Module R Q] (m : M) (n : N) (p : P) (q : Q)
Goal: (TensorProduct.AlgebraTensorModule.tensorTensorTensorComm R A M N P Q).symm ((m ⊗ₜ[A] p) ⊗ₜ[R] n ⊗ₜ[R] q) =
  (m ⊗ₜ[R] n) ⊗ₜ[A] p ⊗ₜ[R] q
-- Submodule.baseChange_bot
@[simp]
lemma baseChange_bot : (⊥ : Submodule R M).baseChange A = ⊥ 
Arguments: {R : Type u_1} {M : Type u_2} (A : Type u_3) [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M]
Goal: Submodule.baseChange A ⊥ = ⊥
-- Submodule.baseChange_top
@[simp]
lemma baseChange_top : (⊤ : Submodule R M).baseChange A = ⊤ 
Arguments: {R : Type u_1} {M : Type u_2} (A : Type u_3) [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M]
Goal: Submodule.baseChange A ⊤ = ⊤
-- Submodule.tmul_mem_baseChange_of_mem
lemma tmul_mem_baseChange_of_mem (a : A) {m : M} (hm : m ∈ p) :
    a ⊗ₜ[R] m ∈ p.baseChange A 
Arguments: {R : Type u_1} {M : Type u_2} {A : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] {p : Submodule R M} (a : A) {m : M} (hm : m ∈ p)
Goal: a ⊗ₜ[R] m ∈ Submodule.baseChange A p
-- Submodule.baseChange_span
@[simp]
lemma baseChange_span (s : Set M) :
    (span R s).baseChange A = span A (TensorProduct.mk R A M 1 '' s) 
Arguments: {R : Type u_1} {M : Type u_2} (A : Type u_3) [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] (s : Set M)
Goal: Submodule.baseChange A (Submodule.span R s) = Submodule.span A (⇑((TensorProduct.mk R A M) 1) '' s)
-- Matrix.invOf_eq
theorem invOf_eq [Invertible A.det] [Invertible A] : ⅟ A = ⅟ A.det • A.adjugate 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A.det] [Invertible A]
Goal: ⅟A = ⅟A.det • A.adjugate
-- Matrix.det_invOf
theorem det_invOf [Invertible A] [Invertible A.det] : (⅟ A).det = ⅟ A.det 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A] [Invertible A.det]
Goal: (⅟A).det = ⅟A.det
-- Matrix.invertibleEquivDetInvertible_symm_apply
@[simps]
def invertibleEquivDetInvertible : Invertible A ≃ Invertible A.det 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A.det]
Goal: A.invertibleEquivDetInvertible.symm inst✝ = A.invertibleOfDetInvertible
-- Matrix.invertibleEquivDetInvertible_apply
@[simps]
def invertibleEquivDetInvertible : Invertible A ≃ Invertible A.det 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A]
Goal: A.invertibleEquivDetInvertible inst✝ = A.detInvertibleOfInvertible
-- Matrix.mul_eq_one_comm
theorem mul_eq_one_comm : A * B = 1 ↔ B * A = 1 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] {A B : Matrix n n α}
Goal: A * B = 1 ↔ B * A = 1
-- Matrix.isUnit_iff_isUnit_det
theorem isUnit_iff_isUnit_det : IsUnit A ↔ IsUnit A.det 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α)
Goal: IsUnit A ↔ IsUnit A.det
-- Matrix.isUnits_det_units
@[simp]
theorem isUnits_det_units (A : (Matrix n n α)ˣ) : IsUnit (A : Matrix n n α).det 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : (Matrix n n α)ˣ)
Goal: IsUnit (↑A).det
-- Matrix.isUnit_det_of_invertible
theorem isUnit_det_of_invertible [Invertible A] : IsUnit A.det 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A]
Goal: IsUnit A.det
-- Matrix.isUnit_of_left_inverse
theorem isUnit_of_left_inverse (h : B * A = 1) : IsUnit A 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] {A B : Matrix n n α} (h : B * A = 1)
Goal: IsUnit A
-- Matrix.exists_left_inverse_iff_isUnit
theorem exists_left_inverse_iff_isUnit : (∃ B, B * A = 1) ↔ IsUnit A 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] {A : Matrix n n α}
Goal: (∃ B, B * A = 1) ↔ IsUnit A
-- Matrix.isUnit_of_right_inverse
theorem isUnit_of_right_inverse (h : A * B = 1) : IsUnit A 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] {A B : Matrix n n α} (h : A * B = 1)
Goal: IsUnit A
-- Matrix.exists_right_inverse_iff_isUnit
theorem exists_right_inverse_iff_isUnit : (∃ B, A * B = 1) ↔ IsUnit A 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] {A : Matrix n n α}
Goal: (∃ B, A * B = 1) ↔ IsUnit A
-- Matrix.isUnit_det_of_left_inverse
theorem isUnit_det_of_left_inverse (h : B * A = 1) : IsUnit A.det 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] {A B : Matrix n n α} (h : B * A = 1)
Goal: IsUnit A.det
-- Matrix.isUnit_det_of_right_inverse
theorem isUnit_det_of_right_inverse (h : A * B = 1) : IsUnit A.det 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] {A B : Matrix n n α} (h : A * B = 1)
Goal: IsUnit A.det
-- Matrix.det_ne_zero_of_left_inverse
theorem det_ne_zero_of_left_inverse [Nontrivial α] (h : B * A = 1) : A.det ≠ 0 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] {A B : Matrix n n α} [Nontrivial α] (h : B * A = 1)
Goal: A.det ≠ 0
-- Matrix.det_ne_zero_of_right_inverse
theorem det_ne_zero_of_right_inverse [Nontrivial α] (h : A * B = 1) : A.det ≠ 0 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] {A B : Matrix n n α} [Nontrivial α] (h : A * B = 1)
Goal: A.det ≠ 0
-- Matrix.isUnit_det_transpose
theorem isUnit_det_transpose (h : IsUnit A.det) : IsUnit Aᵀ.det 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (h : IsUnit A.det)
Goal: IsUnit A.transpose.det
-- Matrix.inv_def
theorem inv_def (A : Matrix n n α) : A⁻¹ = Ring.inverse A.det • A.adjugate 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α)
Goal: A⁻¹ = Ring.inverse A.det • A.adjugate
-- Matrix.nonsing_inv_apply_not_isUnit
theorem nonsing_inv_apply_not_isUnit (h : ¬IsUnit A.det) : A⁻¹ = 0 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (h : ¬IsUnit A.det)
Goal: A⁻¹ = 0
-- Matrix.nonsing_inv_apply
theorem nonsing_inv_apply (h : IsUnit A.det) : A⁻¹ = (↑h.unit⁻¹ : α) • A.adjugate 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (h : IsUnit A.det)
Goal: A⁻¹ = ↑h.unit⁻¹ • A.adjugate
-- Matrix.invOf_eq_nonsing_inv
@[simp]
theorem invOf_eq_nonsing_inv [Invertible A] : ⅟ A = A⁻¹ 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A]
Goal: ⅟A = A⁻¹
-- Matrix.coe_units_inv
@[simp, norm_cast]
theorem coe_units_inv (A : (Matrix n n α)ˣ) : ↑A⁻¹ = (A⁻¹ : Matrix n n α) 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : (Matrix n n α)ˣ)
Goal: ↑A⁻¹ = (↑A)⁻¹
-- Matrix.nonsing_inv_eq_ring_inverse
theorem nonsing_inv_eq_ring_inverse : A⁻¹ = Ring.inverse A 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α)
Goal: A⁻¹ = Ring.inverse A
-- Matrix.transpose_nonsing_inv
theorem transpose_nonsing_inv : A⁻¹ᵀ = Aᵀ⁻¹ 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α)
Goal: A⁻¹.transpose = A.transpose⁻¹
-- Matrix.conjTranspose_nonsing_inv
theorem conjTranspose_nonsing_inv [StarRing α] : A⁻¹ᴴ = Aᴴ⁻¹ 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [StarRing α]
Goal: A⁻¹.conjTranspose = A.conjTranspose⁻¹
-- Matrix.mul_nonsing_inv
@[simp]
theorem mul_nonsing_inv (h : IsUnit A.det) : A * A⁻¹ = 1 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (h : IsUnit A.det)
Goal: A * A⁻¹ = 1
-- Matrix.nonsing_inv_mul
@[simp]
theorem nonsing_inv_mul (h : IsUnit A.det) : A⁻¹ * A = 1 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (h : IsUnit A.det)
Goal: A⁻¹ * A = 1
-- Matrix.inv_inv_of_invertible
@[simp]
theorem inv_inv_of_invertible [Invertible A] : A⁻¹⁻¹ = A 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A]
Goal: A⁻¹⁻¹ = A
-- Matrix.mul_nonsing_inv_cancel_right
@[simp]
theorem mul_nonsing_inv_cancel_right (B : Matrix m n α) (h : IsUnit A.det) : B * A * A⁻¹ = B 
Arguments: {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (B : Matrix m n α) (h : IsUnit A.det)
Goal: B * A * A⁻¹ = B
-- Matrix.mul_nonsing_inv_cancel_left
@[simp]
theorem mul_nonsing_inv_cancel_left (B : Matrix n m α) (h : IsUnit A.det) : A * (A⁻¹ * B) = B 
Arguments: {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (B : Matrix n m α) (h : IsUnit A.det)
Goal: A * (A⁻¹ * B) = B
-- Matrix.nonsing_inv_mul_cancel_right
@[simp]
theorem nonsing_inv_mul_cancel_right (B : Matrix m n α) (h : IsUnit A.det) : B * A⁻¹ * A = B 
Arguments: {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (B : Matrix m n α) (h : IsUnit A.det)
Goal: B * A⁻¹ * A = B
-- Matrix.nonsing_inv_mul_cancel_left
@[simp]
theorem nonsing_inv_mul_cancel_left (B : Matrix n m α) (h : IsUnit A.det) : A⁻¹ * (A * B) = B 
Arguments: {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (B : Matrix n m α) (h : IsUnit A.det)
Goal: A⁻¹ * (A * B) = B
-- Matrix.mul_inv_of_invertible
@[simp]
theorem mul_inv_of_invertible [Invertible A] : A * A⁻¹ = 1 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A]
Goal: A * A⁻¹ = 1
-- Matrix.inv_mul_of_invertible
@[simp]
theorem inv_mul_of_invertible [Invertible A] : A⁻¹ * A = 1 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A]
Goal: A⁻¹ * A = 1
-- Matrix.mul_inv_cancel_right_of_invertible
@[simp]
theorem mul_inv_cancel_right_of_invertible (B : Matrix m n α) [Invertible A] : B * A * A⁻¹ = B 
Arguments: {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (B : Matrix m n α) [Invertible A]
Goal: B * A * A⁻¹ = B
-- Matrix.mul_inv_cancel_left_of_invertible
@[simp]
theorem mul_inv_cancel_left_of_invertible (B : Matrix n m α) [Invertible A] : A * (A⁻¹ * B) = B 
Arguments: {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (B : Matrix n m α) [Invertible A]
Goal: A * (A⁻¹ * B) = B
-- Matrix.inv_mul_cancel_right_of_invertible
@[simp]
theorem inv_mul_cancel_right_of_invertible (B : Matrix m n α) [Invertible A] : B * A⁻¹ * A = B 
Arguments: {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (B : Matrix m n α) [Invertible A]
Goal: B * A⁻¹ * A = B
-- Matrix.inv_mul_cancel_left_of_invertible
@[simp]
theorem inv_mul_cancel_left_of_invertible (B : Matrix n m α) [Invertible A] : A⁻¹ * (A * B) = B 
Arguments: {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) (B : Matrix n m α) [Invertible A]
Goal: A⁻¹ * (A * B) = B
-- Matrix.inv_mul_eq_iff_eq_mul_of_invertible
theorem inv_mul_eq_iff_eq_mul_of_invertible (A B C : Matrix n n α) [Invertible A] :
    A⁻¹ * B = C ↔ B = A * C 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A B C : Matrix n n α) [Invertible A]
Goal: A⁻¹ * B = C ↔ B = A * C
-- Matrix.mul_inv_eq_iff_eq_mul_of_invertible
theorem mul_inv_eq_iff_eq_mul_of_invertible (A B C : Matrix n n α) [Invertible A] :
    B * A⁻¹ = C ↔ B = C * A 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A B C : Matrix n n α) [Invertible A]
Goal: B * A⁻¹ = C ↔ B = C * A
-- Matrix.inv_mulVec_eq_vec
lemma inv_mulVec_eq_vec {A : Matrix n n α} [Invertible A]
    {u v : n → α} (hM : u = A.mulVec v) : A⁻¹.mulVec u = v 
Arguments: {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] {A : Matrix n n α} [Invertible A] {u v : n → α} (hM : u = A.mulVec v)
Goal: A⁻¹.mulVec u = v
-- Matrix.mul_right_injective_of_invertible
lemma mul_right_injective_of_invertible [Invertible A] :
    Function.Injective (fun (x : Matrix n m α) => A * x) 
Arguments: {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A]
Goal: Function.Injective fun x => A * x
-- Matrix.mul_left_injective_of_invertible
lemma mul_left_injective_of_invertible [Invertible A] :
    Function.Injective (fun (x : Matrix m n α) => x * A) 
Arguments: {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A]
Goal: Function.Injective fun x => x * A
-- Matrix.mul_right_inj_of_invertible
lemma mul_right_inj_of_invertible [Invertible A] {x y : Matrix n m α} : A * x = A * y ↔ x = y 
Arguments: {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A] {x y : Matrix n m α}
Goal: A * x = A * y ↔ x = y
-- Matrix.mul_left_inj_of_invertible
lemma mul_left_inj_of_invertible [Invertible A] {x y : Matrix m n α} : x * A = y * A ↔ x = y 
Arguments: {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [DecidableEq n] [CommRing α] (A : Matrix n n α) [Invertible A] {x y : Matrix m n α}
Goal: x * A = y * A ↔ x = y
-- Matrix.mul_left_injective_of_inv
lemma mul_left_injective_of_inv (A : Matrix m n α) (B : Matrix n m α) (h : A * B = 1) :
    Function.Injective (fun x : Matrix l m α => x * A) 
Arguments: {l : Type u_1} {m : Type u} {n : Type u'} {α : Type v} [Fintype n] [Fintype m] [DecidableEq m] [CommRing α] (A : Matrix m n α) (B : Matrix n m α) (h : A * B = 1)
Goal: Function.Injective fun x => x * A