ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Matrix.GeneralLinearGroup.ext_iff
theorem ext_iff (A B : GL n R) : A = B ↔ ∀ i j, (A : Matrix n n R) i j = (B : Matrix n n R) i j 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A B : GL n R)
Goal: A = B ↔ ∀ (i j : n), ↑A i j = ↑B i j
-- Matrix.GeneralLinearGroup.ext
theorem ext ⦃A B : GL n R⦄ (h : ∀ i j, (A : Matrix n n R) i j = (B : Matrix n n R) i j) : A = B 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] ⦃A B : GL n R⦄ (h : ∀ (i j : n), ↑A i j = ↑B i j)
Goal: A = B
-- Matrix.GeneralLinearGroup.coe_mul
@[simp]
theorem coe_mul : ↑(A * B) = (↑A : Matrix n n R) * (↑B : Matrix n n R) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A B : GL n R)
Goal: ↑(A * B) = ↑A * ↑B
-- Matrix.GeneralLinearGroup.coe_one
@[simp]
theorem coe_one : ↑(1 : GL n R) = (1 : Matrix n n R) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R]
Goal: ↑1 = 1
-- Matrix.GeneralLinearGroup.coe_inv
theorem coe_inv : ↑A⁻¹ = (↑A : Matrix n n R)⁻¹ 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : GL n R)
Goal: ↑A⁻¹ = (↑A)⁻¹
-- Matrix.GeneralLinearGroup.coe_toLinear
@[simp]
theorem coe_toLinear : (@toLinear n ‹_› ‹_› _ _ A : (n → R) →ₗ[R] n → R) = Matrix.mulVecLin A 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : GL n R)
Goal: ↑(Matrix.GeneralLinearGroup.toLinear A) = (↑A).mulVecLin
-- Matrix.GeneralLinearGroup.toLinear_apply
@[simp]
theorem toLinear_apply (v : n → R) : (toLinear A).toLinearEquiv v = Matrix.mulVecLin (↑A) v 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (A : GL n R) (v : n → R)
Goal: (Matrix.GeneralLinearGroup.toLinear A).toLinearEquiv v = (↑A).mulVecLin v
-- Matrix.GeneralLinearGroup.map_id
@[simp]
theorem map_id : map (RingHom.id R) = MonoidHom.id (GL n R) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R]
Goal: Matrix.GeneralLinearGroup.map (RingHom.id R) = MonoidHom.id (GL n R)
-- Matrix.GeneralLinearGroup.map_comp
@[simp]
theorem map_comp (f : T →+* R) (g : R →+* S) :
    map (g.comp f) = (map g).comp (map (n := n) f) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {S : Type u_1} {T : Type u_2} [CommRing S] [CommRing T] (f : T →+* R) (g : R →+* S)
Goal: Matrix.GeneralLinearGroup.map (g.comp f) = (Matrix.GeneralLinearGroup.map g).comp (Matrix.GeneralLinearGroup.map f)
-- Matrix.GeneralLinearGroup.map_comp_apply
@[simp]
theorem map_comp_apply (f : T →+* R) (g : R →+* S) (x : GL n T) :
    (map g).comp (map f) x = map g (map f x) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] {S : Type u_1} {T : Type u_2} [CommRing S] [CommRing T] (f : T →+* R) (g : R →+* S) (x : GL n T)
Goal: ((Matrix.GeneralLinearGroup.map g).comp (Matrix.GeneralLinearGroup.map f)) x =
  (Matrix.GeneralLinearGroup.map g) ((Matrix.GeneralLinearGroup.map f) x)
-- Matrix.SpecialLinearGroup.coeToGL_det
@[simp]
theorem coeToGL_det (g : SpecialLinearGroup n R) :
    Matrix.GeneralLinearGroup.det (g : GL n R) = 1 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [CommRing R] (g : Matrix.SpecialLinearGroup n R)
Goal: Matrix.GeneralLinearGroup.det ↑g = 1
-- Matrix.mem_glpos
@[simp]
theorem mem_glpos (A : GL n R) : A ∈ GLPos n R ↔ 0 < (Matrix.GeneralLinearGroup.det A : R) 
Arguments: {n : Type u} {R : Type v} [DecidableEq n] [Fintype n] [LinearOrderedCommRing R] (A : GL n R)
Goal: A ∈ Matrix.GLPos n R ↔ 0 < ↑(Matrix.GeneralLinearGroup.det A)
-- Matrix.GLPos.det_ne_zero
theorem GLPos.det_ne_zero (A : GLPos n R) : ((A : GL n R) : Matrix n n R).det ≠ 0 
Arguments: {n : Type u} {R : Type v} [DecidableEq n] [Fintype n] [LinearOrderedCommRing R] (A : ↥(Matrix.GLPos n R))
Goal: (↑↑A).det ≠ 0
-- Matrix.GLPos.coe_neg_GL
@[simp]
theorem GLPos.coe_neg_GL (g : GLPos n R) : ↑(-g) = -(g : GL n R) 
Arguments: {n : Type u} {R : Type v} [DecidableEq n] [Fintype n] [LinearOrderedCommRing R] [Fact (Even (Fintype.card n))] (g : ↥(Matrix.GLPos n R))
Goal: ↑(-g) = -↑g
-- Matrix.GLPos.coe_neg
@[simp]
theorem GLPos.coe_neg (g : GLPos n R) : (↑(-g) : GL n R) = -((g : GL n R) : Matrix n n R) 
Arguments: {n : Type u} {R : Type v} [DecidableEq n] [Fintype n] [LinearOrderedCommRing R] [Fact (Even (Fintype.card n))] (g : ↥(Matrix.GLPos n R))
Goal: ↑↑(-g) = -↑↑g
-- Matrix.GLPos.coe_neg_apply
@[simp]
theorem GLPos.coe_neg_apply (g : GLPos n R) (i j : n) :
    ((↑(-g) : GL n R) : Matrix n n R) i j = -((g : GL n R) : Matrix n n R) i j 
Arguments: {n : Type u} {R : Type v} [DecidableEq n] [Fintype n] [LinearOrderedCommRing R] [Fact (Even (Fintype.card n))] (g : ↥(Matrix.GLPos n R)) (i j : n)
Goal: ↑↑(-g) i j = -↑↑g i j
-- Matrix.SpecialLinearGroup.toGLPos_injective
theorem toGLPos_injective : Function.Injective (toGLPos : SpecialLinearGroup n R → GLPos n R) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [LinearOrderedCommRing R]
Goal: Function.Injective ⇑Matrix.SpecialLinearGroup.toGLPos
-- Matrix.SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrix
@[simp]
theorem coe_GLPos_coe_GL_coe_matrix (g : SpecialLinearGroup n R) :
    (↑(↑(↑g : GLPos n R) : GL n R) : Matrix n n R) = ↑g 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [LinearOrderedCommRing R] (g : Matrix.SpecialLinearGroup n R)
Goal: ↑↑(Matrix.SpecialLinearGroup.toGLPos g) = ↑g
-- Matrix.SpecialLinearGroup.coe_to_GLPos_to_GL_det
@[simp]
theorem coe_to_GLPos_to_GL_det (g : SpecialLinearGroup n R) :
    Matrix.GeneralLinearGroup.det ((g : GLPos n R) : GL n R) = 1 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [LinearOrderedCommRing R] (g : Matrix.SpecialLinearGroup n R)
Goal: Matrix.GeneralLinearGroup.det ↑(Matrix.SpecialLinearGroup.toGLPos g) = 1
-- Matrix.SpecialLinearGroup.coe_GLPos_neg
@[norm_cast]
theorem coe_GLPos_neg (g : SpecialLinearGroup n R) : ↑(-g) = -(↑g : GLPos n R) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {R : Type v} [LinearOrderedCommRing R] [Fact (Even (Fintype.card n))] (g : Matrix.SpecialLinearGroup n R)
Goal: Matrix.SpecialLinearGroup.toGLPos (-g) = -Matrix.SpecialLinearGroup.toGLPos g
-- LDL.lowerInv_eq_gramSchmidtBasis
theorem LDL.lowerInv_eq_gramSchmidtBasis :
    LDL.lowerInv hS =
      ((Pi.basisFun 𝕜 n).toMatrix
          (@gramSchmidtBasis 𝕜 (n → 𝕜) _ (_ : _) (InnerProductSpace.ofMatrix hS.transpose) n _ _ _
            (Pi.basisFun 𝕜 n)))ᵀ 
Arguments: {𝕜 : Type u_1} [RCLike 𝕜] {n : Type u_2} [LinearOrder n] [IsWellOrder n fun x x_1 => x < x_1] [LocallyFiniteOrderBot n] {S : Matrix n n 𝕜} [Fintype n] (hS : S.PosDef)
Goal: LDL.lowerInv hS = ((Pi.basisFun 𝕜 n).toMatrix ⇑(gramSchmidtBasis (Pi.basisFun 𝕜 n))).transpose
-- LDL.lowerInv_orthogonal
theorem LDL.lowerInv_orthogonal {i j : n} (h₀ : i ≠ j) :
    ⟪LDL.lowerInv hS i, Sᵀ *ᵥ LDL.lowerInv hS j⟫ₑ = 0 
Arguments: {𝕜 : Type u_1} [RCLike 𝕜] {n : Type u_2} [LinearOrder n] [IsWellOrder n fun x x_1 => x < x_1] [LocallyFiniteOrderBot n] {S : Matrix n n 𝕜} [Fintype n] (hS : S.PosDef) {i j : n} (h₀ : i ≠ j)
Goal: ⟪(WithLp.equiv 2 (n → 𝕜)).symm (LDL.lowerInv hS i),
    (WithLp.equiv 2 (n → 𝕜)).symm (S.transpose.mulVec (LDL.lowerInv hS j))⟫_𝕜 =
  0
-- LDL.lowerInv_triangular
theorem LDL.lowerInv_triangular {i j : n} (hij : i < j) : LDL.lowerInv hS i j = 0 
Arguments: {𝕜 : Type u_1} [RCLike 𝕜] {n : Type u_2} [LinearOrder n] [IsWellOrder n fun x x_1 => x < x_1] [LocallyFiniteOrderBot n] {S : Matrix n n 𝕜} [Fintype n] (hS : S.PosDef) {i j : n} (hij : i < j)
Goal: LDL.lowerInv hS i j = 0
-- LDL.diag_eq_lowerInv_conj
theorem LDL.diag_eq_lowerInv_conj : LDL.diag hS = LDL.lowerInv hS * S * (LDL.lowerInv hS)ᴴ 
Arguments: {𝕜 : Type u_1} [RCLike 𝕜] {n : Type u_2} [LinearOrder n] [IsWellOrder n fun x x_1 => x < x_1] [LocallyFiniteOrderBot n] {S : Matrix n n 𝕜} [Fintype n] (hS : S.PosDef)
Goal: LDL.diag hS = LDL.lowerInv hS * S * (LDL.lowerInv hS).conjTranspose
-- LDL.lower_conj_diag
theorem LDL.lower_conj_diag : LDL.lower hS * LDL.diag hS * (LDL.lower hS)ᴴ = S 
Arguments: {𝕜 : Type u_1} [RCLike 𝕜] {n : Type u_2} [LinearOrder n] [IsWellOrder n fun x x_1 => x < x_1] [LocallyFiniteOrderBot n] {S : Matrix n n 𝕜} [Fintype n] (hS : S.PosDef)
Goal: LDL.lower hS * LDL.diag hS * (LDL.lower hS).conjTranspose = S
-- Matrix.toBilin'Aux_stdBasis
theorem Matrix.toBilin'Aux_stdBasis [Fintype n] [DecidableEq n] (M : Matrix n n R₂) (i j : n) :
    M.toBilin'Aux (LinearMap.stdBasis R₂ (fun _ => R₂) i 1)
      (LinearMap.stdBasis R₂ (fun _ => R₂) j 1) = M i j 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (M : Matrix n n R₂) (i j : n)
Goal: (M.toBilin'Aux ((LinearMap.stdBasis R₂ (fun x => R₂) i) 1)) ((LinearMap.stdBasis R₂ (fun x => R₂) j) 1) = M i j
-- LinearMap.BilinForm.toMatrixAux_apply
@[simp]
theorem LinearMap.BilinForm.toMatrixAux_apply (B : BilinForm R₂ M₂) (b : n → M₂) (i j : n) :
    -- Porting note: had to hint the base ring even though it should be clear from context...
    BilinForm.toMatrixAux (R₂ := R₂) b B i j = B (b i) (b j) 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} (B : LinearMap.BilinForm R₂ M₂) (b : n → M₂) (i j : n)
Goal: (BilinForm.toMatrixAux b) B i j = (B (b i)) (b j)
-- toBilin'Aux_toMatrixAux
theorem toBilin'Aux_toMatrixAux [DecidableEq n] (B₂ : BilinForm R₂ (n → R₂)) :
    -- Porting note: had to hint the base ring even though it should be clear from context...
    Matrix.toBilin'Aux (BilinForm.toMatrixAux (R₂ := R₂)
      (fun j => stdBasis R₂ (fun _ => R₂) j 1) B₂) = B₂ 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (B₂ : LinearMap.BilinForm R₂ (n → R₂))
Goal: ((BilinForm.toMatrixAux fun j => (LinearMap.stdBasis R₂ (fun x => R₂) j) 1) B₂).toBilin'Aux = B₂
-- LinearMap.BilinForm.toMatrixAux_stdBasis
@[simp]
theorem LinearMap.BilinForm.toMatrixAux_stdBasis (B : BilinForm R₂ (n → R₂)) :
    -- Porting note: had to hint the base ring even though it should be clear from context...
    BilinForm.toMatrixAux (R₂ := R₂) (fun j => stdBasis R₂ (fun _ => R₂) j 1) B =
      BilinForm.toMatrix' B 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (B : LinearMap.BilinForm R₂ (n → R₂))
Goal: (BilinForm.toMatrixAux fun j => (LinearMap.stdBasis R₂ (fun x => R₂) j) 1) B = LinearMap.BilinForm.toMatrix' B
-- Matrix.toBilin'Aux_eq
@[simp]
theorem Matrix.toBilin'Aux_eq (M : Matrix n n R₂) : Matrix.toBilin'Aux M = Matrix.toBilin' M 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (M : Matrix n n R₂)
Goal: M.toBilin'Aux = Matrix.toBilin' M
-- Matrix.toBilin'_apply
theorem Matrix.toBilin'_apply (M : Matrix n n R₂) (x y : n → R₂) :
    Matrix.toBilin' M x y = ∑ i, ∑ j, x i * M i j * y j 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (M : Matrix n n R₂) (x y : n → R₂)
Goal: ((Matrix.toBilin' M) x) y = ∑ i : n, ∑ j : n, x i * M i j * y j
-- Matrix.toBilin'_apply'
theorem Matrix.toBilin'_apply' (M : Matrix n n R₂) (v w : n → R₂) :
    Matrix.toBilin' M v w = Matrix.dotProduct v (M *ᵥ w) 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (M : Matrix n n R₂) (v w : n → R₂)
Goal: ((Matrix.toBilin' M) v) w = Matrix.dotProduct v (M.mulVec w)
-- Matrix.toBilin'_stdBasis
@[simp]
theorem Matrix.toBilin'_stdBasis (M : Matrix n n R₂) (i j : n) :
    Matrix.toBilin' M
      (LinearMap.stdBasis R₂ (fun _ => R₂) i 1)
      (LinearMap.stdBasis R₂ (fun _ => R₂) j 1) = M i j 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (M : Matrix n n R₂) (i j : n)
Goal: ((Matrix.toBilin' M) ((LinearMap.stdBasis R₂ (fun x => R₂) i) 1)) ((LinearMap.stdBasis R₂ (fun x => R₂) j) 1) = M i j
-- LinearMap.BilinForm.toMatrix'_symm
@[simp]
theorem LinearMap.BilinForm.toMatrix'_symm :
    (BilinForm.toMatrix'.symm : Matrix n n R₂ ≃ₗ[R₂] _) = Matrix.toBilin' 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n]
Goal: LinearMap.BilinForm.toMatrix'.symm = Matrix.toBilin'
-- Matrix.toBilin'_symm
@[simp]
theorem Matrix.toBilin'_symm :
    (Matrix.toBilin'.symm : _ ≃ₗ[R₂] Matrix n n R₂) = BilinForm.toMatrix' 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n]
Goal: Matrix.toBilin'.symm = LinearMap.BilinForm.toMatrix'
-- Matrix.toBilin'_toMatrix'
@[simp]
theorem Matrix.toBilin'_toMatrix' (B : BilinForm R₂ (n → R₂)) :
    Matrix.toBilin' (BilinForm.toMatrix' B) = B 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (B : LinearMap.BilinForm R₂ (n → R₂))
Goal: Matrix.toBilin' (LinearMap.BilinForm.toMatrix' B) = B
-- LinearMap.BilinForm.toMatrix'_toBilin'
@[simp]
theorem BilinForm.toMatrix'_toBilin' (M : Matrix n n R₂) :
    BilinForm.toMatrix' (Matrix.toBilin' M) = M 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (M : Matrix n n R₂)
Goal: LinearMap.BilinForm.toMatrix' (Matrix.toBilin' M) = M
-- LinearMap.BilinForm.toMatrix'_apply
@[simp]
theorem BilinForm.toMatrix'_apply (B : BilinForm R₂ (n → R₂)) (i j : n) :
    BilinForm.toMatrix' B i j = B (stdBasis R₂ (fun _ => R₂) i 1) (stdBasis R₂ (fun _ => R₂) j 1) 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (B : LinearMap.BilinForm R₂ (n → R₂)) (i j : n)
Goal: LinearMap.BilinForm.toMatrix' B i j =
  (B ((LinearMap.stdBasis R₂ (fun x => R₂) i) 1)) ((LinearMap.stdBasis R₂ (fun x => R₂) j) 1)
-- LinearMap.BilinForm.toMatrix'_comp
@[simp]
theorem BilinForm.toMatrix'_comp (B : BilinForm R₂ (n → R₂)) (l r : (o → R₂) →ₗ[R₂] n → R₂) :
    BilinForm.toMatrix' (B.comp l r) =
      (LinearMap.toMatrix' l)ᵀ * BilinForm.toMatrix' B * LinearMap.toMatrix' r 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} {o : Type u_12} [Fintype n] [Fintype o] [DecidableEq n] [DecidableEq o] (B : LinearMap.BilinForm R₂ (n → R₂)) (l r : (o → R₂) →ₗ[R₂] n → R₂)
Goal: LinearMap.BilinForm.toMatrix' (B.comp l r) =
  (LinearMap.toMatrix' l).transpose * LinearMap.BilinForm.toMatrix' B * LinearMap.toMatrix' r
-- LinearMap.BilinForm.toMatrix'_compLeft
theorem BilinForm.toMatrix'_compLeft (B : BilinForm R₂ (n → R₂)) (f : (n → R₂) →ₗ[R₂] n → R₂) :
    BilinForm.toMatrix' (B.compLeft f) = (LinearMap.toMatrix' f)ᵀ * BilinForm.toMatrix' B 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (B : LinearMap.BilinForm R₂ (n → R₂)) (f : (n → R₂) →ₗ[R₂] n → R₂)
Goal: LinearMap.BilinForm.toMatrix' (B.compLeft f) = (LinearMap.toMatrix' f).transpose * LinearMap.BilinForm.toMatrix' B
-- LinearMap.BilinForm.toMatrix'_compRight
theorem BilinForm.toMatrix'_compRight (B : BilinForm R₂ (n → R₂)) (f : (n → R₂) →ₗ[R₂] n → R₂) :
    BilinForm.toMatrix' (B.compRight f) = BilinForm.toMatrix' B * LinearMap.toMatrix' f 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (B : LinearMap.BilinForm R₂ (n → R₂)) (f : (n → R₂) →ₗ[R₂] n → R₂)
Goal: LinearMap.BilinForm.toMatrix' (B.compRight f) = LinearMap.BilinForm.toMatrix' B * LinearMap.toMatrix' f
-- LinearMap.BilinForm.mul_toMatrix'_mul
theorem BilinForm.mul_toMatrix'_mul (B : BilinForm R₂ (n → R₂)) (M : Matrix o n R₂)
    (N : Matrix n o R₂) : M * BilinForm.toMatrix' B * N =
      BilinForm.toMatrix' (B.comp (Matrix.toLin' Mᵀ) (Matrix.toLin' N)) 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} {o : Type u_12} [Fintype n] [Fintype o] [DecidableEq n] [DecidableEq o] (B : LinearMap.BilinForm R₂ (n → R₂)) (M : Matrix o n R₂) (N : Matrix n o R₂)
Goal: M * LinearMap.BilinForm.toMatrix' B * N =
  LinearMap.BilinForm.toMatrix' (B.comp (Matrix.toLin' M.transpose) (Matrix.toLin' N))
-- LinearMap.BilinForm.mul_toMatrix'
theorem BilinForm.mul_toMatrix' (B : BilinForm R₂ (n → R₂)) (M : Matrix n n R₂) :
    M * BilinForm.toMatrix' B = BilinForm.toMatrix' (B.compLeft (Matrix.toLin' Mᵀ)) 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (B : LinearMap.BilinForm R₂ (n → R₂)) (M : Matrix n n R₂)
Goal: M * LinearMap.BilinForm.toMatrix' B = LinearMap.BilinForm.toMatrix' (B.compLeft (Matrix.toLin' M.transpose))
-- LinearMap.BilinForm.toMatrix'_mul
theorem BilinForm.toMatrix'_mul (B : BilinForm R₂ (n → R₂)) (M : Matrix n n R₂) :
    BilinForm.toMatrix' B * M = BilinForm.toMatrix' (B.compRight (Matrix.toLin' M)) 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n] (B : LinearMap.BilinForm R₂ (n → R₂)) (M : Matrix n n R₂)
Goal: LinearMap.BilinForm.toMatrix' B * M = LinearMap.BilinForm.toMatrix' (B.compRight (Matrix.toLin' M))
-- Matrix.toBilin'_comp
theorem Matrix.toBilin'_comp (M : Matrix n n R₂) (P Q : Matrix n o R₂) :
    M.toBilin'.comp (Matrix.toLin' P) (Matrix.toLin' Q) = Matrix.toBilin' (Pᵀ * M * Q) 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} {o : Type u_12} [Fintype n] [Fintype o] [DecidableEq n] [DecidableEq o] (M : Matrix n n R₂) (P Q : Matrix n o R₂)
Goal: (Matrix.toBilin' M).comp (Matrix.toLin' P) (Matrix.toLin' Q) = Matrix.toBilin' (P.transpose * M * Q)
-- BilinForm.toMatrix_apply
@[simp]
theorem BilinForm.toMatrix_apply (B : BilinForm R₂ M₂) (i j : n) :
    BilinForm.toMatrix b B i j = B (b i) (b j) 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} [Fintype n] [DecidableEq n] (b : Basis n R₂ M₂) (B : LinearMap.BilinForm R₂ M₂) (i j : n)
Goal: (BilinForm.toMatrix b) B i j = (B (b i)) (b j)
-- Matrix.toBilin_apply
@[simp]
theorem Matrix.toBilin_apply (M : Matrix n n R₂) (x y : M₂) :
    Matrix.toBilin b M x y = ∑ i, ∑ j, b.repr x i * M i j * b.repr y j 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} [Fintype n] [DecidableEq n] (b : Basis n R₂ M₂) (M : Matrix n n R₂) (x y : M₂)
Goal: (((Matrix.toBilin b) M) x) y = ∑ i : n, ∑ j : n, (b.repr x) i * M i j * (b.repr y) j
-- BilinearForm.toMatrixAux_eq
theorem BilinearForm.toMatrixAux_eq (B : BilinForm R₂ M₂) :
    BilinForm.toMatrixAux (R₂ := R₂) b B = BilinForm.toMatrix b B 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} [Fintype n] [DecidableEq n] (b : Basis n R₂ M₂) (B : LinearMap.BilinForm R₂ M₂)
Goal: (BilinForm.toMatrixAux ⇑b) B = (BilinForm.toMatrix b) B
-- BilinForm.toMatrix_symm
@[simp]
theorem BilinForm.toMatrix_symm : (BilinForm.toMatrix b).symm = Matrix.toBilin b 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} [Fintype n] [DecidableEq n] (b : Basis n R₂ M₂)
Goal: (BilinForm.toMatrix b).symm = Matrix.toBilin b
-- Matrix.toBilin_symm
@[simp]
theorem Matrix.toBilin_symm : (Matrix.toBilin b).symm = BilinForm.toMatrix b 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} [Fintype n] [DecidableEq n] (b : Basis n R₂ M₂)
Goal: (Matrix.toBilin b).symm = BilinForm.toMatrix b
-- Matrix.toBilin_basisFun
theorem Matrix.toBilin_basisFun : Matrix.toBilin (Pi.basisFun R₂ n) = Matrix.toBilin' 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n]
Goal: Matrix.toBilin (Pi.basisFun R₂ n) = Matrix.toBilin'
-- BilinForm.toMatrix_basisFun
theorem BilinForm.toMatrix_basisFun :
    BilinForm.toMatrix (Pi.basisFun R₂ n) = BilinForm.toMatrix' 
Arguments: {R₂ : Type u_5} [CommSemiring R₂] {n : Type u_11} [Fintype n] [DecidableEq n]
Goal: BilinForm.toMatrix (Pi.basisFun R₂ n) = LinearMap.BilinForm.toMatrix'
-- Matrix.toBilin_toMatrix
@[simp]
theorem Matrix.toBilin_toMatrix (B : BilinForm R₂ M₂) :
    Matrix.toBilin b (BilinForm.toMatrix b B) = B 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} [Fintype n] [DecidableEq n] (b : Basis n R₂ M₂) (B : LinearMap.BilinForm R₂ M₂)
Goal: (Matrix.toBilin b) ((BilinForm.toMatrix b) B) = B
-- BilinForm.toMatrix_toBilin
@[simp]
theorem BilinForm.toMatrix_toBilin (M : Matrix n n R₂) :
    BilinForm.toMatrix b (Matrix.toBilin b M) = M 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} [Fintype n] [DecidableEq n] (b : Basis n R₂ M₂) (M : Matrix n n R₂)
Goal: (BilinForm.toMatrix b) ((Matrix.toBilin b) M) = M
-- BilinForm.toMatrix_comp
theorem BilinForm.toMatrix_comp (B : BilinForm R₂ M₂) (l r : M₂' →ₗ[R₂] M₂) :
    BilinForm.toMatrix c (B.comp l r) =
      (LinearMap.toMatrix c b l)ᵀ * BilinForm.toMatrix b B * LinearMap.toMatrix c b r 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} {o : Type u_12} [Fintype n] [Fintype o] [DecidableEq n] (b : Basis n R₂ M₂) {M₂' : Type u_13} [AddCommMonoid M₂'] [Module R₂ M₂'] (c : Basis o R₂ M₂') [DecidableEq o] (B : LinearMap.BilinForm R₂ M₂) (l r : M₂' →ₗ[R₂] M₂)
Goal: (BilinForm.toMatrix c) (B.comp l r) =
  ((LinearMap.toMatrix c b) l).transpose * (BilinForm.toMatrix b) B * (LinearMap.toMatrix c b) r
-- BilinForm.toMatrix_compLeft
theorem BilinForm.toMatrix_compLeft (B : BilinForm R₂ M₂) (f : M₂ →ₗ[R₂] M₂) :
    BilinForm.toMatrix b (B.compLeft f) = (LinearMap.toMatrix b b f)ᵀ * BilinForm.toMatrix b B 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} [Fintype n] [DecidableEq n] (b : Basis n R₂ M₂) (B : LinearMap.BilinForm R₂ M₂) (f : M₂ →ₗ[R₂] M₂)
Goal: (BilinForm.toMatrix b) (B.compLeft f) = ((LinearMap.toMatrix b b) f).transpose * (BilinForm.toMatrix b) B
-- BilinForm.toMatrix_compRight
theorem BilinForm.toMatrix_compRight (B : BilinForm R₂ M₂) (f : M₂ →ₗ[R₂] M₂) :
    BilinForm.toMatrix b (B.compRight f) = BilinForm.toMatrix b B * LinearMap.toMatrix b b f 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} [Fintype n] [DecidableEq n] (b : Basis n R₂ M₂) (B : LinearMap.BilinForm R₂ M₂) (f : M₂ →ₗ[R₂] M₂)
Goal: (BilinForm.toMatrix b) (B.compRight f) = (BilinForm.toMatrix b) B * (LinearMap.toMatrix b b) f
-- BilinForm.toMatrix_mul_basis_toMatrix
@[simp]
theorem BilinForm.toMatrix_mul_basis_toMatrix (c : Basis o R₂ M₂) (B : BilinForm R₂ M₂) :
    (b.toMatrix c)ᵀ * BilinForm.toMatrix b B * b.toMatrix c = BilinForm.toMatrix c B 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} {o : Type u_12} [Fintype n] [Fintype o] [DecidableEq n] (b : Basis n R₂ M₂) [DecidableEq o] (c : Basis o R₂ M₂) (B : LinearMap.BilinForm R₂ M₂)
Goal: (b.toMatrix ⇑c).transpose * (BilinForm.toMatrix b) B * b.toMatrix ⇑c = (BilinForm.toMatrix c) B
-- BilinForm.mul_toMatrix_mul
theorem BilinForm.mul_toMatrix_mul (B : BilinForm R₂ M₂) (M : Matrix o n R₂) (N : Matrix n o R₂) :
    M * BilinForm.toMatrix b B * N =
      BilinForm.toMatrix c (B.comp (Matrix.toLin c b Mᵀ) (Matrix.toLin c b N)) 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} {o : Type u_12} [Fintype n] [Fintype o] [DecidableEq n] (b : Basis n R₂ M₂) {M₂' : Type u_13} [AddCommMonoid M₂'] [Module R₂ M₂'] (c : Basis o R₂ M₂') [DecidableEq o] (B : LinearMap.BilinForm R₂ M₂) (M : Matrix o n R₂) (N : Matrix n o R₂)
Goal: M * (BilinForm.toMatrix b) B * N =
  (BilinForm.toMatrix c) (B.comp ((Matrix.toLin c b) M.transpose) ((Matrix.toLin c b) N))
-- BilinForm.mul_toMatrix
theorem BilinForm.mul_toMatrix (B : BilinForm R₂ M₂) (M : Matrix n n R₂) :
    M * BilinForm.toMatrix b B = BilinForm.toMatrix b (B.compLeft (Matrix.toLin b b Mᵀ)) 
Arguments: {R₂ : Type u_5} {M₂ : Type u_6} [CommSemiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {n : Type u_11} [Fintype n] [DecidableEq n] (b : Basis n R₂ M₂) (B : LinearMap.BilinForm R₂ M₂) (M : Matrix n n R₂)
Goal: M * (BilinForm.toMatrix b) B = (BilinForm.toMatrix b) (B.compLeft ((Matrix.toLin b b) M.transpose))