ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- finrank_eq_rank
@[simp]
theorem finrank_eq_rank [Module.Finite R M] :
    ↑(FiniteDimensional.finrank R M) = Module.rank R M 
Arguments: (R : Type u) (M : Type v) [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] [Module.Finite R M]
Goal: ↑(FiniteDimensional.finrank R M) = Module.rank R M
-- LinearMap.finrank_le_finrank_of_injective
theorem LinearMap.finrank_le_finrank_of_injective [Module.Finite R M'] {f : M →ₗ[R] M'}
    (hf : Function.Injective f) : finrank R M ≤ finrank R M' 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] {M' : Type u_1} [AddCommGroup M'] [Module R M'] [Module.Finite R M'] {f : M →ₗ[R] M'} (hf : Function.Injective ⇑f)
Goal: FiniteDimensional.finrank R M ≤ FiniteDimensional.finrank R M'
-- LinearMap.finrank_range_le
theorem LinearMap.finrank_range_le [Module.Finite R M] (f : M →ₗ[R] M') :
    finrank R (LinearMap.range f) ≤ finrank R M 
Arguments: {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] [StrongRankCondition R] {M' : Type u_1} [AddCommGroup M'] [Module R M'] [Module.Finite R M] (f : M →ₗ[R] M')
Goal: FiniteDimensional.finrank R ↥(LinearMap.range f) ≤ FiniteDimensional.finrank R M
-- DirectSum.induction_lon
theorem induction_lon {R : Type*} [Semiring R] {ι: Type*} [DecidableEq ι]
    {M : ι → Type*} [(i: ι) → AddCommMonoid <| M i] [(i : ι) → Module R (M i)]
    {C: (⨁ i, M i) → Prop} (x : ⨁ i, M i)
    (H_zero : C 0)
    (H_basic : ∀ i (x : M i), C (lof R ι M i x))
    (H_plus : ∀ (x y : ⨁ i, M i), C x → C y → C (x + y)) : C x 
Arguments: {R : Type u_1} [Semiring R] {ι : Type u_2} [DecidableEq ι] {M : ι → Type u_3} [(i : ι) → AddCommMonoid (M i)] [(i : ι) → Module R (M i)] {C : (⨁ (i : ι), M i) → Prop} (x : ⨁ (i : ι), M i) (H_zero : C 0) (H_basic : ∀ (i : ι) (x : M i), C ((DirectSum.lof R ι M i) x)) (H_plus : ∀ (x y : ⨁ (i : ι), M i), C x → C y → C (x + y))
Goal: C x
-- LinearAlgebra.FreeProduct.rel_id
theorem rel_id (i : I) : rel R A (ι R <| lof R I A i 1) 1 
Arguments: {I : Type u} [DecidableEq I] (R : Type v) [CommSemiring R] (A : I → Type w) [(i : I) → Semiring (A i)] [(i : I) → Algebra R (A i)] (i : I)
Goal: LinearAlgebra.FreeProduct.rel R A ((TensorAlgebra.ι R) ((DirectSum.lof R I A i) 1)) 1
-- LinearAlgebra.FreeProduct.ι_apply
@[simp] theorem ι_apply (x : ⨁ i, A i) :
  ⟨Quot.mk (Rel <| rel R A) (TensorAlgebra.ι R x)⟩ = ι' R A x 
Arguments: {I : Type u} [DecidableEq I] (R : Type v) [CommSemiring R] (A : I → Type w) [(i : I) → Semiring (A i)] [(i : I) → Algebra R (A i)] (x : ⨁ (i : I), A i)
Goal: { toQuot := Quot.mk (RingQuot.Rel (LinearAlgebra.FreeProduct.rel R A)) ((TensorAlgebra.ι R) x) } =
  (LinearAlgebra.FreeProduct.ι' R A) x
-- LinearAlgebra.FreeProduct.identify_one
theorem identify_one (i : I) : ι' R A (DirectSum.lof R I A i 1) = 1 
Arguments: {I : Type u} [DecidableEq I] (R : Type v) [CommSemiring R] (A : I → Type w) [(i : I) → Semiring (A i)] [(i : I) → Algebra R (A i)] (i : I)
Goal: (LinearAlgebra.FreeProduct.ι' R A) ((DirectSum.lof R I A i) 1) = 1
-- LinearAlgebra.FreeProduct.mul_injections
theorem mul_injections (a₁ a₂ : A i) :
    ι' R A (DirectSum.lof R I A i a₁) * ι' R A (DirectSum.lof R I A i a₂)
      = ι' R A (DirectSum.lof R I A i (a₁ * a₂)) 
Arguments: {I : Type u} [DecidableEq I] {i : I} (R : Type v) [CommSemiring R] (A : I → Type w) [(i : I) → Semiring (A i)] [(i : I) → Algebra R (A i)] (a₁ a₂ : A i)
Goal: (LinearAlgebra.FreeProduct.ι' R A) ((DirectSum.lof R I A i) a₁) *
    (LinearAlgebra.FreeProduct.ι' R A) ((DirectSum.lof R I A i) a₂) =
  (LinearAlgebra.FreeProduct.ι' R A) ((DirectSum.lof R I A i) (a₁ * a₂))
-- LinearAlgebra.FreeProduct.lof_map_one
theorem lof_map_one (i : I) : lof R A i 1 = 1 
Arguments: {I : Type u} [DecidableEq I] (R : Type v) [CommSemiring R] (A : I → Type w) [(i : I) → Semiring (A i)] [(i : I) → Algebra R (A i)] (i : I)
Goal: (LinearAlgebra.FreeProduct.lof R A i) 1 = 1
-- LinearAlgebra.FreeProduct.ι_def
irreducible_def ι (i : I) : A i →ₐ[R] FreeProduct R A 
Arguments: {I : Type u_1} [DecidableEq I] (R : Type u_2) [CommSemiring R] (A : I → Type u_3) [(i : I) → Semiring (A i)] [(i : I) → Algebra R (A i)] (i : I)
Goal: LinearAlgebra.FreeProduct.ι R A i = AlgHom.ofLinearMap (LinearAlgebra.FreeProduct.ι' R A ∘ₗ DirectSum.lof R I A i) ⋯ ⋯
-- LinearAlgebra.FreeProduct.of_def
irreducible_def of {i : I} : A i →ₐ[R] FreeProduct R A 
Arguments: {I : Type u_1} [DecidableEq I] (R : Type u_2) [CommSemiring R] (A : I → Type u_3) [(i : I) → Semiring (A i)] [(i : I) → Algebra R (A i)] {i : I}
Goal: LinearAlgebra.FreeProduct.of R A = LinearAlgebra.FreeProduct.ι R A i
-- LinearAlgebra.FreeProduct.lift_symm_apply
@[simps] def lift : ({i : I} → A i →ₐ[R] B) ≃ (FreeProduct R A →ₐ[R] B) 
Arguments: {I : Type u} [DecidableEq I] (R : Type v) [CommSemiring R] (A : I → Type w) [(i : I) → Semiring (A i)] [(i : I) → Algebra R (A i)] {B : Type w'} [Semiring B] [Algebra R B] (π : LinearAlgebra.FreeProduct R A →ₐ[R] B) (i : I)
Goal: (LinearAlgebra.FreeProduct.lift R A).symm π = π.comp (LinearAlgebra.FreeProduct.ι R A i)
-- LinearAlgebra.FreeProduct.lift_apply
@[simps] def lift : ({i : I} → A i →ₐ[R] B) ≃ (FreeProduct R A →ₐ[R] B) 
Arguments: {I : Type u} [DecidableEq I] (R : Type v) [CommSemiring R] (A : I → Type w) [(i : I) → Semiring (A i)] [(i : I) → Algebra R (A i)] {B : Type w'} [Semiring B] [Algebra R B] (maps : {i : I} → A i →ₐ[R] B)
Goal: (LinearAlgebra.FreeProduct.lift R A) maps =
  (RingQuot.liftAlgHom R) ⟨(TensorAlgebra.lift R) (DirectSum.toModule R I B fun x => maps.toLinearMap), ⋯⟩
-- LinearAlgebra.FreeProduct.lift_comp_ι
theorem lift_comp_ι : (lift R A maps) ∘ₐ (ι R A i) = maps 
Arguments: {I : Type u} [DecidableEq I] {i : I} (R : Type v) [CommSemiring R] (A : I → Type w) [(i : I) → Semiring (A i)] [(i : I) → Algebra R (A i)] {B : Type w'} [Semiring B] [Algebra R B] (maps : {i : I} → A i →ₐ[R] B)
Goal: ((LinearAlgebra.FreeProduct.lift R A) fun {i} => maps).comp (LinearAlgebra.FreeProduct.ι R A i) = maps
-- LinearAlgebra.FreeProduct.lift_unique
@[aesop safe destruct] theorem lift_unique
    (f : FreeProduct R A →ₐ[R] B) (h : ∀ i, f ∘ₐ ι R A i = maps) :
    f = lift R A maps 
Arguments: {I : Type u} [DecidableEq I] (R : Type v) [CommSemiring R] (A : I → Type w) [(i : I) → Semiring (A i)] [(i : I) → Algebra R (A i)] {B : Type w'} [Semiring B] [Algebra R B] (maps : {i : I} → A i →ₐ[R] B) (f : LinearAlgebra.FreeProduct R A →ₐ[R] B) (h : ∀ (i : I), f.comp (LinearAlgebra.FreeProduct.ι R A i) = maps)
Goal: f = (LinearAlgebra.FreeProduct.lift R A) fun {i} => maps
-- Polynomial.mem_annIdeal_iff_aeval_eq_zero
theorem mem_annIdeal_iff_aeval_eq_zero {a : A} {p : R[X]} : p ∈ annIdeal R a ↔ aeval a p = 0 
Arguments: {R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Algebra R A] {a : A} {p : R[X]}
Goal: p ∈ Polynomial.annIdeal R a ↔ (Polynomial.aeval a) p = 0
-- Polynomial.annIdealGenerator_eq_zero_iff
@[simp]
theorem annIdealGenerator_eq_zero_iff {a : A} : annIdealGenerator 𝕜 a = 0 ↔ annIdeal 𝕜 a = ⊥ 
Arguments: {𝕜 : Type u_1} {A : Type u_2} [Field 𝕜] [Ring A] [Algebra 𝕜 A] {a : A}
Goal: Polynomial.annIdealGenerator 𝕜 a = 0 ↔ Polynomial.annIdeal 𝕜 a = ⊥
-- Polynomial.span_singleton_annIdealGenerator
@[simp]
theorem span_singleton_annIdealGenerator (a : A) :
    Ideal.span {annIdealGenerator 𝕜 a} = annIdeal 𝕜 a 
Arguments: (𝕜 : Type u_1) {A : Type u_2} [Field 𝕜] [Ring A] [Algebra 𝕜 A] (a : A)
Goal: Ideal.span {Polynomial.annIdealGenerator 𝕜 a} = Polynomial.annIdeal 𝕜 a
-- Polynomial.annIdealGenerator_mem
theorem annIdealGenerator_mem (a : A) : annIdealGenerator 𝕜 a ∈ annIdeal 𝕜 a 
Arguments: (𝕜 : Type u_1) {A : Type u_2} [Field 𝕜] [Ring A] [Algebra 𝕜 A] (a : A)
Goal: Polynomial.annIdealGenerator 𝕜 a ∈ Polynomial.annIdeal 𝕜 a
-- Polynomial.mem_iff_eq_smul_annIdealGenerator
theorem mem_iff_eq_smul_annIdealGenerator {p : 𝕜[X]} (a : A) :
    p ∈ annIdeal 𝕜 a ↔ ∃ s : 𝕜[X], p = s • annIdealGenerator 𝕜 a 
Arguments: (𝕜 : Type u_1) {A : Type u_2} [Field 𝕜] [Ring A] [Algebra 𝕜 A] {p : 𝕜[X]} (a : A)
Goal: p ∈ Polynomial.annIdeal 𝕜 a ↔ ∃ s, p = s • Polynomial.annIdealGenerator 𝕜 a
-- Polynomial.monic_annIdealGenerator
theorem monic_annIdealGenerator (a : A) (hg : annIdealGenerator 𝕜 a ≠ 0) :
    Monic (annIdealGenerator 𝕜 a) 
Arguments: (𝕜 : Type u_1) {A : Type u_2} [Field 𝕜] [Ring A] [Algebra 𝕜 A] (a : A) (hg : Polynomial.annIdealGenerator 𝕜 a ≠ 0)
Goal: (Polynomial.annIdealGenerator 𝕜 a).Monic
-- Polynomial.annIdealGenerator_aeval_eq_zero
theorem annIdealGenerator_aeval_eq_zero (a : A) : aeval a (annIdealGenerator 𝕜 a) = 0 
Arguments: (𝕜 : Type u_1) {A : Type u_2} [Field 𝕜] [Ring A] [Algebra 𝕜 A] (a : A)
Goal: (Polynomial.aeval a) (Polynomial.annIdealGenerator 𝕜 a) = 0
-- Polynomial.mem_iff_annIdealGenerator_dvd
theorem mem_iff_annIdealGenerator_dvd {p : 𝕜[X]} {a : A} :
    p ∈ annIdeal 𝕜 a ↔ annIdealGenerator 𝕜 a ∣ p 
Arguments: {𝕜 : Type u_1} {A : Type u_2} [Field 𝕜] [Ring A] [Algebra 𝕜 A] {p : 𝕜[X]} {a : A}
Goal: p ∈ Polynomial.annIdeal 𝕜 a ↔ Polynomial.annIdealGenerator 𝕜 a ∣ p
-- Polynomial.degree_annIdealGenerator_le_of_mem
theorem degree_annIdealGenerator_le_of_mem (a : A) (p : 𝕜[X]) (hp : p ∈ annIdeal 𝕜 a)
    (hpn0 : p ≠ 0) : degree (annIdealGenerator 𝕜 a) ≤ degree p 
Arguments: {𝕜 : Type u_1} {A : Type u_2} [Field 𝕜] [Ring A] [Algebra 𝕜 A] (a : A) (p : 𝕜[X]) (hp : p ∈ Polynomial.annIdeal 𝕜 a) (hpn0 : p ≠ 0)
Goal: (Polynomial.annIdealGenerator 𝕜 a).degree ≤ p.degree
-- Polynomial.annIdealGenerator_eq_minpoly
theorem annIdealGenerator_eq_minpoly (a : A) : annIdealGenerator 𝕜 a = minpoly 𝕜 a 
Arguments: (𝕜 : Type u_1) {A : Type u_2} [Field 𝕜] [Ring A] [Algebra 𝕜 A] (a : A)
Goal: Polynomial.annIdealGenerator 𝕜 a = minpoly 𝕜 a
-- Polynomial.monic_generator_eq_minpoly
theorem monic_generator_eq_minpoly (a : A) (p : 𝕜[X]) (p_monic : p.Monic)
    (p_gen : Ideal.span {p} = annIdeal 𝕜 a) : annIdealGenerator 𝕜 a = p 
Arguments: (𝕜 : Type u_1) {A : Type u_2} [Field 𝕜] [Ring A] [Algebra 𝕜 A] (a : A) (p : 𝕜[X]) (p_monic : p.Monic) (p_gen : Ideal.span {p} = Polynomial.annIdeal 𝕜 a)
Goal: Polynomial.annIdealGenerator 𝕜 a = p
-- Polynomial.span_minpoly_eq_annihilator
theorem span_minpoly_eq_annihilator {M} [AddCommGroup M] [Module 𝕜 M] (f : Module.End 𝕜 M) :
    Ideal.span {minpoly 𝕜 f} = Module.annihilator 𝕜[X] (Module.AEval' f) 
Arguments: (𝕜 : Type u_1) [Field 𝕜] {M : Type u_3} [AddCommGroup M] [Module 𝕜 M] (f : Module.End 𝕜 M)
Goal: Ideal.span {minpoly 𝕜 f} = Module.annihilator 𝕜[X] (Module.AEval' f)
-- FreeAlgebra.rank_eq
theorem rank_eq [CommRing R] [Nontrivial R] :
    Module.rank R (FreeAlgebra R X) = Cardinal.lift.{u} (Cardinal.mk (List X)) 
Arguments: (R : Type u) (X : Type v) [CommRing R] [Nontrivial R]
Goal: Module.rank R (FreeAlgebra R X) = Cardinal.lift.{u, v} (Cardinal.mk (List X))
-- Matrix.mem_unitaryGroup_iff
theorem mem_unitaryGroup_iff : A ∈ Matrix.unitaryGroup n α ↔ A * star A = 1 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] {A : Matrix n n α}
Goal: A ∈ Matrix.unitaryGroup n α ↔ A * star A = 1
-- Matrix.mem_unitaryGroup_iff'
theorem mem_unitaryGroup_iff' : A ∈ Matrix.unitaryGroup n α ↔ star A * A = 1 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] {A : Matrix n n α}
Goal: A ∈ Matrix.unitaryGroup n α ↔ star A * A = 1
-- Matrix.det_of_mem_unitary
theorem det_of_mem_unitary {A : Matrix n n α} (hA : A ∈ Matrix.unitaryGroup n α) :
    A.det ∈ unitary α 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] {A : Matrix n n α} (hA : A ∈ Matrix.unitaryGroup n α)
Goal: A.det ∈ unitary α
-- Matrix.UnitaryGroup.ext_iff
theorem ext_iff (A B : unitaryGroup n α) : A = B ↔ ∀ i j, A i j = B i j 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] (A B : ↥(Matrix.unitaryGroup n α))
Goal: A = B ↔ ∀ (i j : n), ↑A i j = ↑B i j
-- Matrix.UnitaryGroup.ext
@[ext]
theorem ext (A B : unitaryGroup n α) : (∀ i j, A i j = B i j) → A = B 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] (A B : ↥(Matrix.unitaryGroup n α))
Goal: (∀ (i j : n), ↑A i j = ↑B i j) → A = B
-- Matrix.UnitaryGroup.star_mul_self
theorem star_mul_self (A : unitaryGroup n α) : star A.1 * A.1 = 1 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] (A : ↥(Matrix.unitaryGroup n α))
Goal: star ↑A * ↑A = 1
-- Matrix.UnitaryGroup.det_isUnit
@[simp]
theorem det_isUnit (A : unitaryGroup n α) : IsUnit (A : Matrix n n α).det 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] (A : ↥(Matrix.unitaryGroup n α))
Goal: IsUnit (↑A).det
-- Matrix.UnitaryGroup.inv_val
@[simp] theorem inv_val : ↑A⁻¹ = (star A : Matrix n n α) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] (A : ↥(Matrix.unitaryGroup n α))
Goal: ↑A⁻¹ = star ↑A
-- Matrix.UnitaryGroup.inv_apply
@[simp] theorem inv_apply : ⇑A⁻¹ = (star A : Matrix n n α) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] (A : ↥(Matrix.unitaryGroup n α))
Goal: ↑A⁻¹ = star ↑A
-- Matrix.UnitaryGroup.mul_val
@[simp] theorem mul_val : ↑(A * B) = A.1 * B.1 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] (A B : ↥(Matrix.unitaryGroup n α))
Goal: ↑(A * B) = ↑A * ↑B
-- Matrix.UnitaryGroup.mul_apply
@[simp] theorem mul_apply : ⇑(A * B) = A.1 * B.1 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] (A B : ↥(Matrix.unitaryGroup n α))
Goal: ↑(A * B) = ↑A * ↑B
-- Matrix.UnitaryGroup.one_val
@[simp] theorem one_val : ↑(1 : unitaryGroup n α) = (1 : Matrix n n α) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α]
Goal: ↑1 = 1
-- Matrix.UnitaryGroup.one_apply
@[simp] theorem one_apply : ⇑(1 : unitaryGroup n α) = (1 : Matrix n n α) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α]
Goal: ↑1 = 1
-- Matrix.UnitaryGroup.toLin'_mul
@[simp]
theorem toLin'_mul : toLin' (A * B) = (toLin' A).comp (toLin' B) 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] (A B : ↥(Matrix.unitaryGroup n α))
Goal: Matrix.UnitaryGroup.toLin' (A * B) = Matrix.UnitaryGroup.toLin' A ∘ₗ Matrix.UnitaryGroup.toLin' B
-- Matrix.UnitaryGroup.toLin'_one
@[simp]
theorem toLin'_one : toLin' (1 : unitaryGroup n α) = LinearMap.id 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α]
Goal: Matrix.UnitaryGroup.toLin' 1 = LinearMap.id
-- Matrix.UnitaryGroup.coe_toGL
theorem coe_toGL (A : unitaryGroup n α) : (toGL A).1 = toLin' A 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] (A : ↥(Matrix.unitaryGroup n α))
Goal: ↑(Matrix.UnitaryGroup.toGL A) = Matrix.UnitaryGroup.toLin' A
-- Matrix.UnitaryGroup.toGL_one
@[simp]
theorem toGL_one : toGL (1 : unitaryGroup n α) = 1 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α]
Goal: Matrix.UnitaryGroup.toGL 1 = 1
-- Matrix.UnitaryGroup.toGL_mul
@[simp]
theorem toGL_mul (A B : unitaryGroup n α) : toGL (A * B) = toGL A * toGL B 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] (A B : ↥(Matrix.unitaryGroup n α))
Goal: Matrix.UnitaryGroup.toGL (A * B) = Matrix.UnitaryGroup.toGL A * Matrix.UnitaryGroup.toGL B
-- Matrix.mem_specialUnitaryGroup_iff
theorem mem_specialUnitaryGroup_iff :
    A ∈ specialUnitaryGroup n α ↔ A ∈ unitaryGroup n α ∧ A.det = 1 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {α : Type v} [CommRing α] [StarRing α] {A : Matrix n n α}
Goal: A ∈ Matrix.specialUnitaryGroup n α ↔ A ∈ Matrix.unitaryGroup n α ∧ A.det = 1
-- Matrix.mem_orthogonalGroup_iff
theorem mem_orthogonalGroup_iff {A : Matrix n n β} :
    A ∈ Matrix.orthogonalGroup n β ↔ A * star A = 1 
Arguments: (n : Type u) [DecidableEq n] [Fintype n] (β : Type v) [CommRing β] {A : Matrix n n β}
Goal: A ∈ Matrix.orthogonalGroup n β ↔ A * star A = 1
-- Matrix.mem_orthogonalGroup_iff'
theorem mem_orthogonalGroup_iff' {A : Matrix n n β} :
    A ∈ Matrix.orthogonalGroup n β ↔ star A * A = 1 
Arguments: (n : Type u) [DecidableEq n] [Fintype n] (β : Type v) [CommRing β] {A : Matrix n n β}
Goal: A ∈ Matrix.orthogonalGroup n β ↔ star A * A = 1
-- Matrix.mem_specialOrthogonalGroup_iff
theorem mem_specialOrthogonalGroup_iff :
    A ∈ specialOrthogonalGroup n β ↔ A ∈ orthogonalGroup n β ∧ A.det = 1 
Arguments: {n : Type u} [DecidableEq n] [Fintype n] {β : Type v} [CommRing β] {A : Matrix n n β}
Goal: A ∈ Matrix.specialOrthogonalGroup n β ↔ A ∈ Matrix.orthogonalGroup n β ∧ A.det = 1
-- TensorProduct.gradedCommAux_lof_tmul
@[simp]
theorem gradedCommAux_lof_tmul (i j : ι) (a : 𝒜 i) (b : ℬ j) :
    gradedCommAux R 𝒜 ℬ (lof R _ 𝒜ℬ (i, j) (a ⊗ₜ b)) =
      (-1 : ℤˣ)^(j * i) • lof R _ ℬ𝒜 (j, i) (b ⊗ₜ a) 
Arguments: (R : Type u_1) {ι : Type u_2} [CommSemiring ι] [Module ι (Additive ℤˣ)] [DecidableEq ι] (𝒜 : ι → Type u_5) (ℬ : ι → Type u_6) [CommRing R] [(i : ι) → AddCommGroup (𝒜 i)] [(i : ι) → AddCommGroup (ℬ i)] [(i : ι) → Module R (𝒜 i)] [(i : ι) → Module R (ℬ i)] (i j : ι) (a : 𝒜 i) (b : ℬ j)
Goal: (TensorProduct.gradedCommAux R 𝒜 ℬ) ((DirectSum.lof R (ι × ι) (fun i => 𝒜 i.1 ⊗[R] ℬ i.2) (i, j)) (a ⊗ₜ[R] b)) =
  (-1) ^ (j * i) • (DirectSum.lof R (ι × ι) (fun i => ℬ i.1 ⊗[R] 𝒜 i.2) (j, i)) (b ⊗ₜ[R] a)
-- TensorProduct.gradedCommAux_comp_gradedCommAux
@[simp]
theorem gradedCommAux_comp_gradedCommAux :
    gradedCommAux R 𝒜 ℬ ∘ₗ gradedCommAux R ℬ 𝒜 = LinearMap.id 
Arguments: (R : Type u_1) {ι : Type u_2} [CommSemiring ι] [Module ι (Additive ℤˣ)] [DecidableEq ι] (𝒜 : ι → Type u_5) (ℬ : ι → Type u_6) [CommRing R] [(i : ι) → AddCommGroup (𝒜 i)] [(i : ι) → AddCommGroup (ℬ i)] [(i : ι) → Module R (𝒜 i)] [(i : ι) → Module R (ℬ i)]
Goal: TensorProduct.gradedCommAux R 𝒜 ℬ ∘ₗ TensorProduct.gradedCommAux R ℬ 𝒜 = LinearMap.id
-- TensorProduct.gradedComm_symm
@[simp]
theorem gradedComm_symm : (gradedComm R 𝒜 ℬ).symm = gradedComm R ℬ 𝒜 
Arguments: (R : Type u_1) {ι : Type u_2} [CommSemiring ι] [Module ι (Additive ℤˣ)] [DecidableEq ι] (𝒜 : ι → Type u_5) (ℬ : ι → Type u_6) [CommRing R] [(i : ι) → AddCommGroup (𝒜 i)] [(i : ι) → AddCommGroup (ℬ i)] [(i : ι) → Module R (𝒜 i)] [(i : ι) → Module R (ℬ i)]
Goal: (TensorProduct.gradedComm R 𝒜 ℬ).symm = TensorProduct.gradedComm R ℬ 𝒜
-- TensorProduct.gradedComm_of_tmul_of
theorem gradedComm_of_tmul_of (i j : ι) (a : 𝒜 i) (b : ℬ j) :
    gradedComm R 𝒜 ℬ (lof R _ 𝒜 i a ⊗ₜ lof R _ ℬ j b) =
      (-1 : ℤˣ)^(j * i) • (lof R _ ℬ _ b ⊗ₜ lof R _ 𝒜 _ a) 
Arguments: (R : Type u_1) {ι : Type u_2} [CommSemiring ι] [Module ι (Additive ℤˣ)] [DecidableEq ι] (𝒜 : ι → Type u_5) (ℬ : ι → Type u_6) [CommRing R] [(i : ι) → AddCommGroup (𝒜 i)] [(i : ι) → AddCommGroup (ℬ i)] [(i : ι) → Module R (𝒜 i)] [(i : ι) → Module R (ℬ i)] [DirectSum.GRing 𝒜] [DirectSum.GRing ℬ] [DirectSum.GAlgebra R 𝒜] [DirectSum.GAlgebra R ℬ] (i j : ι) (a : 𝒜 i) (b : ℬ j)
Goal: (TensorProduct.gradedComm R 𝒜 ℬ) ((DirectSum.lof R ι 𝒜 i) a ⊗ₜ[R] (DirectSum.lof R ι ℬ j) b) =
  (-1) ^ (j * i) • (DirectSum.lof R ι ℬ j) b ⊗ₜ[R] (DirectSum.lof R ι 𝒜 i) a
-- TensorProduct.gradedComm_tmul_of_zero
theorem gradedComm_tmul_of_zero (a : ⨁ i, 𝒜 i) (b : ℬ 0) :
    gradedComm R 𝒜 ℬ (a ⊗ₜ lof R _ ℬ 0 b) = lof R _ ℬ _ b ⊗ₜ a 
Arguments: (R : Type u_1) {ι : Type u_2} [CommSemiring ι] [Module ι (Additive ℤˣ)] [DecidableEq ι] (𝒜 : ι → Type u_5) (ℬ : ι → Type u_6) [CommRing R] [(i : ι) → AddCommGroup (𝒜 i)] [(i : ι) → AddCommGroup (ℬ i)] [(i : ι) → Module R (𝒜 i)] [(i : ι) → Module R (ℬ i)] [DirectSum.GRing 𝒜] [DirectSum.GRing ℬ] [DirectSum.GAlgebra R 𝒜] [DirectSum.GAlgebra R ℬ] (a : ⨁ (i : ι), 𝒜 i) (b : ℬ 0)
Goal: (TensorProduct.gradedComm R 𝒜 ℬ) (a ⊗ₜ[R] (DirectSum.lof R ι ℬ 0) b) = (DirectSum.lof R ι ℬ 0) b ⊗ₜ[R] a
-- TensorProduct.gradedComm_of_zero_tmul
theorem gradedComm_of_zero_tmul (a : 𝒜 0) (b : ⨁ i, ℬ i) :
    gradedComm R 𝒜 ℬ (lof R _ 𝒜 0 a ⊗ₜ b) = b ⊗ₜ lof R _ 𝒜 _ a 
Arguments: (R : Type u_1) {ι : Type u_2} [CommSemiring ι] [Module ι (Additive ℤˣ)] [DecidableEq ι] (𝒜 : ι → Type u_5) (ℬ : ι → Type u_6) [CommRing R] [(i : ι) → AddCommGroup (𝒜 i)] [(i : ι) → AddCommGroup (ℬ i)] [(i : ι) → Module R (𝒜 i)] [(i : ι) → Module R (ℬ i)] [DirectSum.GRing 𝒜] [DirectSum.GRing ℬ] [DirectSum.GAlgebra R 𝒜] [DirectSum.GAlgebra R ℬ] (a : 𝒜 0) (b : ⨁ (i : ι), ℬ i)
Goal: (TensorProduct.gradedComm R 𝒜 ℬ) ((DirectSum.lof R ι 𝒜 0) a ⊗ₜ[R] b) = b ⊗ₜ[R] (DirectSum.lof R ι 𝒜 0) a
-- TensorProduct.gradedComm_tmul_one
theorem gradedComm_tmul_one (a : ⨁ i, 𝒜 i) : gradedComm R 𝒜 ℬ (a ⊗ₜ 1) = 1 ⊗ₜ a 
Arguments: (R : Type u_1) {ι : Type u_2} [CommSemiring ι] [Module ι (Additive ℤˣ)] [DecidableEq ι] (𝒜 : ι → Type u_5) (ℬ : ι → Type u_6) [CommRing R] [(i : ι) → AddCommGroup (𝒜 i)] [(i : ι) → AddCommGroup (ℬ i)] [(i : ι) → Module R (𝒜 i)] [(i : ι) → Module R (ℬ i)] [DirectSum.GRing 𝒜] [DirectSum.GRing ℬ] [DirectSum.GAlgebra R 𝒜] [DirectSum.GAlgebra R ℬ] (a : ⨁ (i : ι), 𝒜 i)
Goal: (TensorProduct.gradedComm R 𝒜 ℬ) (a ⊗ₜ[R] 1) = 1 ⊗ₜ[R] a
-- TensorProduct.gradedComm_one_tmul
theorem gradedComm_one_tmul (b : ⨁ i, ℬ i) : gradedComm R 𝒜 ℬ (1 ⊗ₜ b) = b ⊗ₜ 1 
Arguments: (R : Type u_1) {ι : Type u_2} [CommSemiring ι] [Module ι (Additive ℤˣ)] [DecidableEq ι] (𝒜 : ι → Type u_5) (ℬ : ι → Type u_6) [CommRing R] [(i : ι) → AddCommGroup (𝒜 i)] [(i : ι) → AddCommGroup (ℬ i)] [(i : ι) → Module R (𝒜 i)] [(i : ι) → Module R (ℬ i)] [DirectSum.GRing 𝒜] [DirectSum.GRing ℬ] [DirectSum.GAlgebra R 𝒜] [DirectSum.GAlgebra R ℬ] (b : ⨁ (i : ι), ℬ i)
Goal: (TensorProduct.gradedComm R 𝒜 ℬ) (1 ⊗ₜ[R] b) = b ⊗ₜ[R] 1
-- TensorProduct.gradedComm_one
@[simp, nolint simpNF] -- linter times out
theorem gradedComm_one : gradedComm R 𝒜 ℬ 1 = 1 
Arguments: (R : Type u_1) {ι : Type u_2} [CommSemiring ι] [Module ι (Additive ℤˣ)] [DecidableEq ι] (𝒜 : ι → Type u_5) (ℬ : ι → Type u_6) [CommRing R] [(i : ι) → AddCommGroup (𝒜 i)] [(i : ι) → AddCommGroup (ℬ i)] [(i : ι) → Module R (𝒜 i)] [(i : ι) → Module R (ℬ i)] [DirectSum.GRing 𝒜] [DirectSum.GRing ℬ] [DirectSum.GAlgebra R 𝒜] [DirectSum.GAlgebra R ℬ]
Goal: (TensorProduct.gradedComm R 𝒜 ℬ) 1 = 1
-- TensorProduct.gradedComm_tmul_algebraMap
theorem gradedComm_tmul_algebraMap (a : ⨁ i, 𝒜 i) (r : R) :
    gradedComm R 𝒜 ℬ (a ⊗ₜ algebraMap R _ r) = algebraMap R _ r ⊗ₜ a 
Arguments: (R : Type u_1) {ι : Type u_2} [CommSemiring ι] [Module ι (Additive ℤˣ)] [DecidableEq ι] (𝒜 : ι → Type u_5) (ℬ : ι → Type u_6) [CommRing R] [(i : ι) → AddCommGroup (𝒜 i)] [(i : ι) → AddCommGroup (ℬ i)] [(i : ι) → Module R (𝒜 i)] [(i : ι) → Module R (ℬ i)] [DirectSum.GRing 𝒜] [DirectSum.GRing ℬ] [DirectSum.GAlgebra R 𝒜] [DirectSum.GAlgebra R ℬ] (a : ⨁ (i : ι), 𝒜 i) (r : R)
Goal: (TensorProduct.gradedComm R 𝒜 ℬ) (a ⊗ₜ[R] (algebraMap R (⨁ (i : ι), ℬ i)) r) = (algebraMap R (⨁ (i : ι), ℬ i)) r ⊗ₜ[R] a
-- TensorProduct.gradedComm_algebraMap_tmul
theorem gradedComm_algebraMap_tmul (r : R) (b : ⨁ i, ℬ i) :
    gradedComm R 𝒜 ℬ (algebraMap R _ r ⊗ₜ b) = b ⊗ₜ algebraMap R _ r 
Arguments: (R : Type u_1) {ι : Type u_2} [CommSemiring ι] [Module ι (Additive ℤˣ)] [DecidableEq ι] (𝒜 : ι → Type u_5) (ℬ : ι → Type u_6) [CommRing R] [(i : ι) → AddCommGroup (𝒜 i)] [(i : ι) → AddCommGroup (ℬ i)] [(i : ι) → Module R (𝒜 i)] [(i : ι) → Module R (ℬ i)] [DirectSum.GRing 𝒜] [DirectSum.GRing ℬ] [DirectSum.GAlgebra R 𝒜] [DirectSum.GAlgebra R ℬ] (r : R) (b : ⨁ (i : ι), ℬ i)
Goal: (TensorProduct.gradedComm R 𝒜 ℬ) ((algebraMap R (⨁ (i : ι), 𝒜 i)) r ⊗ₜ[R] b) = b ⊗ₜ[R] (algebraMap R (⨁ (i : ι), 𝒜 i)) r
-- TensorProduct.gradedComm_algebraMap
theorem gradedComm_algebraMap (r : R) :
    gradedComm R 𝒜 ℬ (algebraMap R _ r) = algebraMap R _ r 
Arguments: (R : Type u_1) {ι : Type u_2} [CommSemiring ι] [Module ι (Additive ℤˣ)] [DecidableEq ι] (𝒜 : ι → Type u_5) (ℬ : ι → Type u_6) [CommRing R] [(i : ι) → AddCommGroup (𝒜 i)] [(i : ι) → AddCommGroup (ℬ i)] [(i : ι) → Module R (𝒜 i)] [(i : ι) → Module R (ℬ i)] [DirectSum.GRing 𝒜] [DirectSum.GRing ℬ] [DirectSum.GAlgebra R 𝒜] [DirectSum.GAlgebra R ℬ] (r : R)
Goal: (TensorProduct.gradedComm R 𝒜 ℬ) ((algebraMap R ((⨁ (i : ι), 𝒜 i) ⊗[R] ⨁ (i : ι), ℬ i)) r) =
  (algebraMap R ((⨁ (i : ι), ℬ i) ⊗[R] ⨁ (i : ι), 𝒜 i)) r