ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- QuadraticMap.Isometry.inl_apply
@[simps!]
def Isometry.inl (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) : Q₁ →qᵢ (Q₁.prod Q₂) 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) (i : M₁)
Goal: (QuadraticMap.Isometry.inl Q₁ Q₂) i = (i, 0)
-- QuadraticMap.Isometry.inr_apply
@[simps!]
def Isometry.inr (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) : Q₂ →qᵢ (Q₁.prod Q₂) 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) (i : M₂)
Goal: (QuadraticMap.Isometry.inr Q₁ Q₂) i = (0, i)
-- QuadraticMap.Isometry.fst_apply
@[simps!]
def Isometry.fst (Q₁ : QuadraticMap R M₁ P) : (Q₁.prod (0 : QuadraticMap R M₂ P)) →qᵢ Q₁ 
Arguments: {R : Type u_2} {M₁ : Type u_3} (M₂ : Type u_4) {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] (Q₁ : QuadraticMap R M₁ P) (self : M₁ × M₂)
Goal: (QuadraticMap.Isometry.fst M₂ Q₁) self = self.1
-- QuadraticMap.Isometry.snd_apply
@[simps!]
def Isometry.snd (Q₂ : QuadraticMap R M₂ P) : ((0 : QuadraticMap R M₁ P).prod Q₂) →qᵢ Q₂ 
Arguments: {R : Type u_2} (M₁ : Type u_3) {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] (Q₂ : QuadraticMap R M₂ P) (self : M₁ × M₂)
Goal: (QuadraticMap.Isometry.snd M₁ Q₂) self = self.2
-- QuadraticMap.Isometry.fst_comp_inl
@[simp]
lemma Isometry.fst_comp_inl (Q₁ : QuadraticMap R M₁ P) :
    (fst M₂ Q₁).comp (inl Q₁ (0 : QuadraticMap R M₂ P)) = .id _ 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] (Q₁ : QuadraticMap R M₁ P)
Goal: (QuadraticMap.Isometry.fst M₂ Q₁).comp (QuadraticMap.Isometry.inl Q₁ 0) = QuadraticMap.Isometry.id Q₁
-- QuadraticMap.Isometry.snd_comp_inr
@[simp]
lemma Isometry.snd_comp_inr (Q₂ : QuadraticMap R M₂ P) :
    (snd M₁ Q₂).comp (inr (0 : QuadraticMap R M₁ P) Q₂) = .id _ 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] (Q₂ : QuadraticMap R M₂ P)
Goal: (QuadraticMap.Isometry.snd M₁ Q₂).comp (QuadraticMap.Isometry.inr 0 Q₂) = QuadraticMap.Isometry.id Q₂
-- QuadraticMap.Isometry.snd_comp_inl
@[simp]
lemma Isometry.snd_comp_inl (Q₂ : QuadraticMap R M₂ P) :
    (snd M₁ Q₂).comp (inl (0 : QuadraticMap R M₁ P) Q₂) = 0 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] (Q₂ : QuadraticMap R M₂ P)
Goal: (QuadraticMap.Isometry.snd M₁ Q₂).comp (QuadraticMap.Isometry.inl 0 Q₂) = 0
-- QuadraticMap.Isometry.fst_comp_inr
@[simp]
lemma Isometry.fst_comp_inr (Q₁ : QuadraticMap R M₁ P) :
    (fst M₂ Q₁).comp (inr Q₁ (0 : QuadraticMap R M₂ P)) = 0 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] (Q₁ : QuadraticMap R M₁ P)
Goal: (QuadraticMap.Isometry.fst M₂ Q₁).comp (QuadraticMap.Isometry.inr Q₁ 0) = 0
-- QuadraticMap.Equivalent.prod
theorem Equivalent.prod {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P}
    {Q₁' : QuadraticMap R N₁ P} {Q₂' : QuadraticMap R N₂ P} (e₁ : Q₁.Equivalent Q₁')
    (e₂ : Q₂.Equivalent Q₂') : (Q₁.prod Q₂).Equivalent (Q₁'.prod Q₂') 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {N₁ : Type u_5} {N₂ : Type u_6} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid N₁] [AddCommMonoid N₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R N₁] [Module R N₂] [Module R P] {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P} {Q₁' : QuadraticMap R N₁ P} {Q₂' : QuadraticMap R N₂ P} (e₁ : Q₁.Equivalent Q₁') (e₂ : Q₂.Equivalent Q₂')
Goal: (Q₁.prod Q₂).Equivalent (Q₁'.prod Q₂')
-- QuadraticMap.IsometryEquiv.prodComm_invFun
@[simps!]
def IsometryEquiv.prodComm (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) :
    (Q₁.prod Q₂).IsometryEquiv (Q₂.prod Q₁) 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P)
Goal: ∀ (a : M₂ × M₁), (QuadraticMap.IsometryEquiv.prodComm Q₁ Q₂).invFun a = a.swap
-- QuadraticMap.IsometryEquiv.prodComm_toFun
@[simps!]
def IsometryEquiv.prodComm (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) :
    (Q₁.prod Q₂).IsometryEquiv (Q₂.prod Q₁) 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P)
Goal: ∀ (a : M₁ × M₂), (QuadraticMap.IsometryEquiv.prodComm Q₁ Q₂) a = a.swap
-- QuadraticMap.IsometryEquiv.prodProdProdComm_invFun
@[simps!]
def IsometryEquiv.prodProdProdComm
    (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P)
    (Q₃ : QuadraticMap R N₁ P) (Q₄ : QuadraticMap R N₂ P) :
    ((Q₁.prod Q₂).prod (Q₃.prod Q₄)).IsometryEquiv ((Q₁.prod Q₃).prod (Q₂.prod Q₄)) 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {N₁ : Type u_5} {N₂ : Type u_6} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid N₁] [AddCommMonoid N₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R N₁] [Module R N₂] [Module R P] (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) (Q₃ : QuadraticMap R N₁ P) (Q₄ : QuadraticMap R N₂ P) (mmnn : (M₁ × N₁) × M₂ × N₂)
Goal: (QuadraticMap.IsometryEquiv.prodProdProdComm Q₁ Q₂ Q₃ Q₄).invFun mmnn = ((mmnn.1.1, mmnn.2.1), mmnn.1.2, mmnn.2.2)
-- QuadraticMap.IsometryEquiv.prodProdProdComm_toFun
@[simps!]
def IsometryEquiv.prodProdProdComm
    (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P)
    (Q₃ : QuadraticMap R N₁ P) (Q₄ : QuadraticMap R N₂ P) :
    ((Q₁.prod Q₂).prod (Q₃.prod Q₄)).IsometryEquiv ((Q₁.prod Q₃).prod (Q₂.prod Q₄)) 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {N₁ : Type u_5} {N₂ : Type u_6} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid N₁] [AddCommMonoid N₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R N₁] [Module R N₂] [Module R P] (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) (Q₃ : QuadraticMap R N₁ P) (Q₄ : QuadraticMap R N₂ P) (mnmn : (M₁ × M₂) × N₁ × N₂)
Goal: (QuadraticMap.IsometryEquiv.prodProdProdComm Q₁ Q₂ Q₃ Q₄) mnmn = ((mnmn.1.1, mnmn.2.1), mnmn.1.2, mnmn.2.2)
-- QuadraticMap.anisotropic_of_prod
theorem anisotropic_of_prod
    {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P} (h : (Q₁.prod Q₂).Anisotropic) :
    Q₁.Anisotropic ∧ Q₂.Anisotropic 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P} (h : (Q₁.prod Q₂).Anisotropic)
Goal: Q₁.Anisotropic ∧ Q₂.Anisotropic
-- QuadraticMap.nonneg_prod_iff
theorem nonneg_prod_iff [Preorder P] [CovariantClass P P (· + ·) (· ≤ ·)]
    {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P} :
    (∀ x, 0 ≤ (Q₁.prod Q₂) x) ↔ (∀ x, 0 ≤ Q₁ x) ∧ ∀ x, 0 ≤ Q₂ x 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] [Preorder P] [CovariantClass P P (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P}
Goal: (∀ (x : M₁ × M₂), 0 ≤ (Q₁.prod Q₂) x) ↔ (∀ (x : M₁), 0 ≤ Q₁ x) ∧ ∀ (x : M₂), 0 ≤ Q₂ x
-- QuadraticMap.posDef_prod_iff
theorem posDef_prod_iff [PartialOrder P] [CovariantClass P P (· + ·) (· ≤ ·)]
    {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P} :
    (Q₁.prod Q₂).PosDef ↔ Q₁.PosDef ∧ Q₂.PosDef 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] [PartialOrder P] [CovariantClass P P (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P}
Goal: (Q₁.prod Q₂).PosDef ↔ Q₁.PosDef ∧ Q₂.PosDef
-- QuadraticMap.PosDef.prod
theorem PosDef.prod [PartialOrder P] [CovariantClass P P (· + ·) (· ≤ ·)]
    {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P} (h₁ : Q₁.PosDef) (h₂ : Q₂.PosDef) :
    (Q₁.prod Q₂).PosDef 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] [PartialOrder P] [CovariantClass P P (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P} (h₁ : Q₁.PosDef) (h₂ : Q₂.PosDef)
Goal: (Q₁.prod Q₂).PosDef
-- QuadraticMap.IsOrtho.prod
theorem IsOrtho.prod {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P}
    {v w : M₁ × M₂} (h₁ : Q₁.IsOrtho v.1 w.1) (h₂ : Q₂.IsOrtho v.2 w.2) :
    (Q₁.prod Q₂).IsOrtho v w 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P} {v w : M₁ × M₂} (h₁ : Q₁.IsOrtho v.1 w.1) (h₂ : Q₂.IsOrtho v.2 w.2)
Goal: (Q₁.prod Q₂).IsOrtho v w
-- QuadraticMap.IsOrtho.inl_inr
@[simp] theorem IsOrtho.inl_inr {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P}
    (m₁ : M₁) (m₂ : M₂) :
    (Q₁.prod Q₂).IsOrtho (m₁, 0) (0, m₂) 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P} (m₁ : M₁) (m₂ : M₂)
Goal: (Q₁.prod Q₂).IsOrtho (m₁, 0) (0, m₂)
-- QuadraticMap.IsOrtho.inr_inl
@[simp] theorem IsOrtho.inr_inl {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P}
    (m₁ : M₁) (m₂ : M₂) :
    (Q₁.prod Q₂).IsOrtho (0, m₂) (m₁, 0) 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P} (m₁ : M₁) (m₂ : M₂)
Goal: (Q₁.prod Q₂).IsOrtho (0, m₂) (m₁, 0)
-- QuadraticMap.isOrtho_inl_inl_iff
@[simp] theorem isOrtho_inl_inl_iff {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P}
    (m₁ m₁' : M₁) :
    (Q₁.prod Q₂).IsOrtho (m₁, 0) (m₁', 0) ↔ Q₁.IsOrtho m₁ m₁' 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P} (m₁ m₁' : M₁)
Goal: (Q₁.prod Q₂).IsOrtho (m₁, 0) (m₁', 0) ↔ Q₁.IsOrtho m₁ m₁'
-- QuadraticMap.isOrtho_inr_inr_iff
@[simp] theorem isOrtho_inr_inr_iff {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P}
    (m₂ m₂' : M₂) :
    (Q₁.prod Q₂).IsOrtho (0, m₂) (0, m₂') ↔ Q₂.IsOrtho m₂ m₂' 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid P] [Module R M₁] [Module R M₂] [Module R P] {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P} (m₂ m₂' : M₂)
Goal: (Q₁.prod Q₂).IsOrtho (0, m₂) (0, m₂') ↔ Q₂.IsOrtho m₂ m₂'
-- QuadraticMap.polar_prod
@[simp] theorem polar_prod (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) (x y : M₁ × M₂) :
    polar (Q₁.prod Q₂) x y = polar Q₁ x.1 y.1 + polar Q₂ x.2 y.2 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommRing R] [AddCommGroup M₁] [AddCommGroup M₂] [AddCommGroup P] [Module R M₁] [Module R M₂] [Module R P] (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) (x y : M₁ × M₂)
Goal: QuadraticMap.polar (⇑(Q₁.prod Q₂)) x y = QuadraticMap.polar (⇑Q₁) x.1 y.1 + QuadraticMap.polar (⇑Q₂) x.2 y.2
-- QuadraticMap.polarBilin_prod
@[simp] theorem polarBilin_prod (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) :
    (Q₁.prod Q₂).polarBilin =
      Q₁.polarBilin.compl₁₂ (.fst R M₁ M₂) (.fst R M₁ M₂) +
      Q₂.polarBilin.compl₁₂ (.snd R M₁ M₂) (.snd R M₁ M₂) 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommRing R] [AddCommGroup M₁] [AddCommGroup M₂] [AddCommGroup P] [Module R M₁] [Module R M₂] [Module R P] (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P)
Goal: (Q₁.prod Q₂).polarBilin =
  LinearMap.compl₁₂ Q₁.polarBilin (LinearMap.fst R M₁ M₂) (LinearMap.fst R M₁ M₂) +
    LinearMap.compl₁₂ Q₂.polarBilin (LinearMap.snd R M₁ M₂) (LinearMap.snd R M₁ M₂)
-- QuadraticMap.associated_prod
@[simp] theorem associated_prod [Invertible (2 : R)]
    (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) :
    associated (Q₁.prod Q₂) =
      (associated Q₁).compl₁₂ (.fst R M₁ M₂) (.fst R M₁ M₂) +
      (associated Q₂).compl₁₂ (.snd R M₁ M₂) (.snd R M₁ M₂) 
Arguments: {R : Type u_2} {M₁ : Type u_3} {M₂ : Type u_4} {P : Type u_7} [CommRing R] [AddCommGroup M₁] [AddCommGroup M₂] [AddCommGroup P] [Module R M₁] [Module R M₂] [Module R P] [Invertible 2] (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P)
Goal: QuadraticMap.associated (Q₁.prod Q₂) =
  LinearMap.compl₁₂ (QuadraticMap.associated Q₁) (LinearMap.fst R M₁ M₂) (LinearMap.fst R M₁ M₂) +
    LinearMap.compl₁₂ (QuadraticMap.associated Q₂) (LinearMap.snd R M₁ M₂) (LinearMap.snd R M₁ M₂)
-- QuadraticMap.pi_apply
@[simp]
theorem pi_apply [Fintype ι] (Q : ∀ i, QuadraticMap R (Mᵢ i) P) (x : ∀ i, Mᵢ i) :
    pi Q x = ∑ i, Q i (x i) 
Arguments: {ι : Type u_1} {R : Type u_2} {P : Type u_7} {Mᵢ : ι → Type u_8} [CommSemiring R] [(i : ι) → AddCommMonoid (Mᵢ i)] [AddCommMonoid P] [(i : ι) → Module R (Mᵢ i)] [Module R P] [Fintype ι] (Q : (i : ι) → QuadraticMap R (Mᵢ i) P) (x : (i : ι) → Mᵢ i)
Goal: (QuadraticMap.pi Q) x = ∑ i : ι, (Q i) (x i)
-- QuadraticMap.pi_apply_single
theorem pi_apply_single [Fintype ι] [DecidableEq ι]
    (Q : ∀ i, QuadraticMap R (Mᵢ i) P) (i : ι) (m : Mᵢ i) :
    pi Q (Pi.single i m) = Q i m 
Arguments: {ι : Type u_1} {R : Type u_2} {P : Type u_7} {Mᵢ : ι → Type u_8} [CommSemiring R] [(i : ι) → AddCommMonoid (Mᵢ i)] [AddCommMonoid P] [(i : ι) → Module R (Mᵢ i)] [Module R P] [Fintype ι] [DecidableEq ι] (Q : (i : ι) → QuadraticMap R (Mᵢ i) P) (i : ι) (m : Mᵢ i)
Goal: (QuadraticMap.pi Q) (Pi.single i m) = (Q i) m
-- QuadraticMap.IsometryEquiv.pi_toLinearEquiv
@[simps toLinearEquiv]
def IsometryEquiv.pi [Fintype ι]
    {Q : ∀ i, QuadraticMap R (Mᵢ i) P} {Q' : ∀ i, QuadraticMap R (Nᵢ i) P}
    (e : ∀ i, (Q i).IsometryEquiv (Q' i)) : (pi Q).IsometryEquiv (pi Q') 
Arguments: {ι : Type u_1} {R : Type u_2} {P : Type u_7} {Mᵢ : ι → Type u_8} {Nᵢ : ι → Type u_9} [CommSemiring R] [(i : ι) → AddCommMonoid (Mᵢ i)] [(i : ι) → AddCommMonoid (Nᵢ i)] [AddCommMonoid P] [(i : ι) → Module R (Mᵢ i)] [(i : ι) → Module R (Nᵢ i)] [Module R P] [Fintype ι] {Q : (i : ι) → QuadraticMap R (Mᵢ i) P} {Q' : (i : ι) → QuadraticMap R (Nᵢ i) P} (e : (i : ι) → (Q i).IsometryEquiv (Q' i))
Goal: (QuadraticMap.IsometryEquiv.pi e).toLinearEquiv = LinearEquiv.piCongrRight fun i => (e i).toLinearEquiv
-- QuadraticMap.Isometry.single_apply
@[simps!]
def Isometry.single [Fintype ι] [DecidableEq ι] (Q : ∀ i, QuadraticMap R (Mᵢ i) P) (i : ι) :
    Q i →qᵢ pi Q 
Arguments: {ι : Type u_1} {R : Type u_2} {P : Type u_7} {Mᵢ : ι → Type u_8} [CommSemiring R] [(i : ι) → AddCommMonoid (Mᵢ i)] [AddCommMonoid P] [(i : ι) → Module R (Mᵢ i)] [Module R P] [Fintype ι] [DecidableEq ι] (Q : (i : ι) → QuadraticMap R (Mᵢ i) P) (i : ι) (x : Mᵢ i) (j : ι)
Goal: (QuadraticMap.Isometry.single Q i) x j = Pi.single i x j
-- QuadraticMap.Isometry.proj_apply
@[simps!]
def Isometry.proj [Fintype ι] [DecidableEq ι] (i : ι) (Q : QuadraticMap R (Mᵢ i) P) :
    pi (Pi.single i Q) →qᵢ Q 
Arguments: {ι : Type u_1} {R : Type u_2} {P : Type u_7} {Mᵢ : ι → Type u_8} [CommSemiring R] [(i : ι) → AddCommMonoid (Mᵢ i)] [AddCommMonoid P] [(i : ι) → Module R (Mᵢ i)] [Module R P] [Fintype ι] [DecidableEq ι] (i : ι) (Q : QuadraticMap R (Mᵢ i) P) (f : (x : ι) → Mᵢ x)
Goal: (QuadraticMap.Isometry.proj i Q) f = f i
-- QuadraticMap.Isometry.proj_comp_single_of_same
@[simp, nolint simpNF]  -- ignore the bogus "Left-hand side does not simplify" lint error
theorem Isometry.proj_comp_single_of_same [Fintype ι] [DecidableEq ι]
    (i : ι) (Q : QuadraticMap R (Mᵢ i) P) :
    (proj i Q).comp (single _ i) = .ofEq (Pi.single_eq_same _ _) 
Arguments: {ι : Type u_1} {R : Type u_2} {P : Type u_7} {Mᵢ : ι → Type u_8} [CommSemiring R] [(i : ι) → AddCommMonoid (Mᵢ i)] [AddCommMonoid P] [(i : ι) → Module R (Mᵢ i)] [Module R P] [Fintype ι] [DecidableEq ι] (i : ι) (Q : QuadraticMap R (Mᵢ i) P)
Goal: (QuadraticMap.Isometry.proj i Q).comp (QuadraticMap.Isometry.single (Pi.single i Q) i) = QuadraticMap.Isometry.ofEq ⋯
-- QuadraticMap.Isometry.proj_comp_single_of_ne
@[simp]
theorem Isometry.proj_comp_single_of_ne [Fintype ι] [DecidableEq ι]
    {i j : ι} (h : i ≠ j) (Q : QuadraticMap R (Mᵢ i) P) :
    (proj i Q).comp (single _ j) = (0 : 0 →qᵢ Q).comp (ofEq (Pi.single_eq_of_ne h.symm _)) 
Arguments: {ι : Type u_1} {R : Type u_2} {P : Type u_7} {Mᵢ : ι → Type u_8} [CommSemiring R] [(i : ι) → AddCommMonoid (Mᵢ i)] [AddCommMonoid P] [(i : ι) → Module R (Mᵢ i)] [Module R P] [Fintype ι] [DecidableEq ι] {i j : ι} (h : i ≠ j) (Q : QuadraticMap R (Mᵢ i) P)
Goal: (QuadraticMap.Isometry.proj i Q).comp (QuadraticMap.Isometry.single (Pi.single i Q) j) =
  QuadraticMap.Isometry.comp 0 (QuadraticMap.Isometry.ofEq ⋯)
-- QuadraticMap.Equivalent.pi
theorem Equivalent.pi [Fintype ι] {Q : ∀ i, QuadraticMap R (Mᵢ i) P}
    {Q' : ∀ i, QuadraticMap R (Nᵢ i) P} (e : ∀ i, (Q i).Equivalent (Q' i)) :
    (pi Q).Equivalent (pi Q') 
Arguments: {ι : Type u_1} {R : Type u_2} {P : Type u_7} {Mᵢ : ι → Type u_8} {Nᵢ : ι → Type u_9} [CommSemiring R] [(i : ι) → AddCommMonoid (Mᵢ i)] [(i : ι) → AddCommMonoid (Nᵢ i)] [AddCommMonoid P] [(i : ι) → Module R (Mᵢ i)] [(i : ι) → Module R (Nᵢ i)] [Module R P] [Fintype ι] {Q : (i : ι) → QuadraticMap R (Mᵢ i) P} {Q' : (i : ι) → QuadraticMap R (Nᵢ i) P} (e : ∀ (i : ι), (Q i).Equivalent (Q' i))
Goal: (QuadraticMap.pi Q).Equivalent (QuadraticMap.pi Q')
-- QuadraticMap.anisotropic_of_pi
theorem anisotropic_of_pi [Fintype ι]
    {Q : ∀ i, QuadraticMap R (Mᵢ i) P} (h : (pi Q).Anisotropic) : ∀ i, (Q i).Anisotropic 
Arguments: {ι : Type u_1} {R : Type u_2} {P : Type u_7} {Mᵢ : ι → Type u_8} [CommSemiring R] [(i : ι) → AddCommMonoid (Mᵢ i)] [AddCommMonoid P] [(i : ι) → Module R (Mᵢ i)] [Module R P] [Fintype ι] {Q : (i : ι) → QuadraticMap R (Mᵢ i) P} (h : (QuadraticMap.pi Q).Anisotropic) (i : ι)
Goal: (Q i).Anisotropic
-- QuadraticMap.nonneg_pi_iff
theorem nonneg_pi_iff {P} [Fintype ι] [OrderedAddCommMonoid P] [Module R P]
    {Q : ∀ i, QuadraticMap R (Mᵢ i) P} : (∀ x, 0 ≤ pi Q x) ↔ ∀ i x, 0 ≤ Q i x 
Arguments: {ι : Type u_1} {R : Type u_2} {Mᵢ : ι → Type u_8} [CommSemiring R] [(i : ι) → AddCommMonoid (Mᵢ i)] [(i : ι) → Module R (Mᵢ i)] {P : Type u_10} [Fintype ι] [OrderedAddCommMonoid P] [Module R P] {Q : (i : ι) → QuadraticMap R (Mᵢ i) P}
Goal: (∀ (x : (i : ι) → Mᵢ i), 0 ≤ (QuadraticMap.pi Q) x) ↔ ∀ (i : ι) (x : Mᵢ i), 0 ≤ (Q i) x
-- QuadraticMap.posDef_pi_iff
theorem posDef_pi_iff {P} [Fintype ι] [OrderedAddCommMonoid P] [Module R P]
    {Q : ∀ i, QuadraticMap R (Mᵢ i) P} : (pi Q).PosDef ↔ ∀ i, (Q i).PosDef 
Arguments: {ι : Type u_1} {R : Type u_2} {Mᵢ : ι → Type u_8} [CommSemiring R] [(i : ι) → AddCommMonoid (Mᵢ i)] [(i : ι) → Module R (Mᵢ i)] {P : Type u_10} [Fintype ι] [OrderedAddCommMonoid P] [Module R P] {Q : (i : ι) → QuadraticMap R (Mᵢ i) P}
Goal: (QuadraticMap.pi Q).PosDef ↔ ∀ (i : ι), (Q i).PosDef
-- QuadraticMap.Ring.polar_pi
@[simp] theorem polar_pi (Q : ∀ i, QuadraticMap R (Mᵢ i) P) (x y : ∀ i, Mᵢ i) :
    polar (pi Q) x y = ∑ i, polar (Q i) (x i) (y i) 
Arguments: {ι : Type u_1} {R : Type u_2} {P : Type u_7} {Mᵢ : ι → Type u_8} [CommRing R] [(i : ι) → AddCommGroup (Mᵢ i)] [AddCommGroup P] [(i : ι) → Module R (Mᵢ i)] [Module R P] [Fintype ι] (Q : (i : ι) → QuadraticMap R (Mᵢ i) P) (x y : (i : ι) → Mᵢ i)
Goal: QuadraticMap.polar (⇑(QuadraticMap.pi Q)) x y = ∑ i : ι, QuadraticMap.polar (⇑(Q i)) (x i) (y i)
-- QuadraticMap.Ring.polarBilin_pi
@[simp] theorem polarBilin_pi (Q : ∀ i, QuadraticMap R (Mᵢ i) P) :
    (pi Q).polarBilin = ∑ i, (Q i).polarBilin.compl₁₂ (.proj i) (.proj i) 
Arguments: {ι : Type u_1} {R : Type u_2} {P : Type u_7} {Mᵢ : ι → Type u_8} [CommRing R] [(i : ι) → AddCommGroup (Mᵢ i)] [AddCommGroup P] [(i : ι) → Module R (Mᵢ i)] [Module R P] [Fintype ι] (Q : (i : ι) → QuadraticMap R (Mᵢ i) P)
Goal: (QuadraticMap.pi Q).polarBilin = ∑ i : ι, LinearMap.compl₁₂ (Q i).polarBilin (LinearMap.proj i) (LinearMap.proj i)
-- QuadraticMap.Ring.associated_pi
@[simp] theorem associated_pi [Invertible (2 : R)] (Q : ∀ i, QuadraticMap R (Mᵢ i) P) :
    associated (pi Q) = ∑ i, (Q i).associated.compl₁₂ (.proj i) (.proj i) 
Arguments: {ι : Type u_1} {R : Type u_2} {P : Type u_7} {Mᵢ : ι → Type u_8} [CommRing R] [(i : ι) → AddCommGroup (Mᵢ i)] [AddCommGroup P] [(i : ι) → Module R (Mᵢ i)] [Module R P] [Fintype ι] [Invertible 2] (Q : (i : ι) → QuadraticMap R (Mᵢ i) P)
Goal: QuadraticMap.associated (QuadraticMap.pi Q) =
  ∑ i : ι, LinearMap.compl₁₂ (QuadraticMap.associated (Q i)) (LinearMap.proj i) (LinearMap.proj i)
-- CliffordAlgebra.ofBaseChangeAux_ι
@[simp] theorem ofBaseChangeAux_ι (Q : QuadraticForm R V) (v : V) :
    ofBaseChangeAux A Q (ι Q v) = ι (Q.baseChange A) (1 ⊗ₜ v) 
Arguments: {R : Type u_1} (A : Type u_2) {V : Type u_3} [CommRing R] [CommRing A] [AddCommGroup V] [Algebra R A] [Module R V] [Invertible 2] (Q : QuadraticForm R V) (v : V)
Goal: (CliffordAlgebra.ofBaseChangeAux A Q) ((CliffordAlgebra.ι Q) v) =
  (CliffordAlgebra.ι (QuadraticForm.baseChange A Q)) (1 ⊗ₜ[R] v)
-- CliffordAlgebra.ofBaseChange_tmul_ι
@[simp] theorem ofBaseChange_tmul_ι (Q : QuadraticForm R V) (z : A) (v : V) :
    ofBaseChange A Q (z ⊗ₜ ι Q v) = ι (Q.baseChange A) (z ⊗ₜ v) 
Arguments: {R : Type u_1} (A : Type u_2) {V : Type u_3} [CommRing R] [CommRing A] [AddCommGroup V] [Algebra R A] [Module R V] [Invertible 2] (Q : QuadraticForm R V) (z : A) (v : V)
Goal: (CliffordAlgebra.ofBaseChange A Q) (z ⊗ₜ[R] (CliffordAlgebra.ι Q) v) =
  (CliffordAlgebra.ι (QuadraticForm.baseChange A Q)) (z ⊗ₜ[R] v)
-- CliffordAlgebra.ofBaseChange_tmul_one
@[simp] theorem ofBaseChange_tmul_one (Q : QuadraticForm R V) (z : A) :
    ofBaseChange A Q (z ⊗ₜ 1) = algebraMap _ _ z 
Arguments: {R : Type u_1} (A : Type u_2) {V : Type u_3} [CommRing R] [CommRing A] [AddCommGroup V] [Algebra R A] [Module R V] [Invertible 2] (Q : QuadraticForm R V) (z : A)
Goal: (CliffordAlgebra.ofBaseChange A Q) (z ⊗ₜ[R] 1) = (algebraMap A (CliffordAlgebra (QuadraticForm.baseChange A Q))) z
-- CliffordAlgebra.toBaseChange_ι
@[simp] theorem toBaseChange_ι (Q : QuadraticForm R V) (z : A) (v : V) :
    toBaseChange A Q (ι (Q.baseChange A) (z ⊗ₜ v)) = z ⊗ₜ ι Q v 
Arguments: {R : Type u_1} (A : Type u_2) {V : Type u_3} [CommRing R] [CommRing A] [AddCommGroup V] [Algebra R A] [Module R V] [Invertible 2] (Q : QuadraticForm R V) (z : A) (v : V)
Goal: (CliffordAlgebra.toBaseChange A Q) ((CliffordAlgebra.ι (QuadraticForm.baseChange A Q)) (z ⊗ₜ[R] v)) =
  z ⊗ₜ[R] (CliffordAlgebra.ι Q) v