ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Submodule.ker_liftQ_eq_bot
theorem ker_liftQ_eq_bot (f : M →ₛₗ[τ₁₂] M₂) (h) (h' : ker f ≤ p) : ker (p.liftQ f h) = ⊥ 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p : Submodule R M) {R₂ : Type u_3} {M₂ : Type u_4} [Ring R₂] [AddCommGroup M₂] [Module R₂ M₂] {τ₁₂ : R →+* R₂} (f : M →ₛₗ[τ₁₂] M₂) (h : p ≤ LinearMap.ker f) (h' : LinearMap.ker f ≤ p)
Goal: LinearMap.ker (p.liftQ f h) = ⊥
-- Submodule.ker_liftQ_eq_bot'
theorem ker_liftQ_eq_bot' (f : M →ₛₗ[τ₁₂] M₂) (h : p = ker f) :
    ker (p.liftQ f (le_of_eq h)) = ⊥ 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p : Submodule R M) {R₂ : Type u_3} {M₂ : Type u_4} [Ring R₂] [AddCommGroup M₂] [Module R₂ M₂] {τ₁₂ : R →+* R₂} (f : M →ₛₗ[τ₁₂] M₂) (h : p = LinearMap.ker f)
Goal: LinearMap.ker (p.liftQ f ⋯) = ⊥
-- Submodule.comapMkQOrderEmbedding_eq
@[simp]
theorem comapMkQOrderEmbedding_eq (p' : Submodule R (M ⧸ p)) :
    comapMkQOrderEmbedding p p' = comap p.mkQ p' 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p : Submodule R M) (p' : Submodule R (M ⧸ p))
Goal: p.comapMkQOrderEmbedding p' = Submodule.comap p.mkQ p'
-- Submodule.span_preimage_eq
theorem span_preimage_eq [RingHomSurjective τ₁₂] {f : M →ₛₗ[τ₁₂] M₂} {s : Set M₂} (h₀ : s.Nonempty)
    (h₁ : s ⊆ range f) : span R (f ⁻¹' s) = (span R₂ s).comap f 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] {R₂ : Type u_3} {M₂ : Type u_4} [Ring R₂] [AddCommGroup M₂] [Module R₂ M₂] {τ₁₂ : R →+* R₂} [RingHomSurjective τ₁₂] {f : M →ₛₗ[τ₁₂] M₂} {s : Set M₂} (h₀ : s.Nonempty) (h₁ : s ⊆ ↑(LinearMap.range f))
Goal: Submodule.span R (⇑f ⁻¹' s) = Submodule.comap f (Submodule.span R₂ s)
-- Submodule.Quotient.equiv_symm_apply
@[simps]
def Quotient.equiv {N : Type*} [AddCommGroup N] [Module R N] (P : Submodule R M)
    (Q : Submodule R N) (f : M ≃ₗ[R] N) (hf : P.map f = Q) : (M ⧸ P) ≃ₗ[R] N ⧸ Q 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] {N : Type u_5} [AddCommGroup N] [Module R N] (P : Submodule R M) (Q : Submodule R N) (f : M ≃ₗ[R] N) (hf : Submodule.map f P = Q) (a : N ⧸ Q)
Goal: (Submodule.Quotient.equiv P Q f hf).symm a = (Q.mapQ P ↑f.symm ⋯) a
-- Submodule.Quotient.equiv_apply
@[simps]
def Quotient.equiv {N : Type*} [AddCommGroup N] [Module R N] (P : Submodule R M)
    (Q : Submodule R N) (f : M ≃ₗ[R] N) (hf : P.map f = Q) : (M ⧸ P) ≃ₗ[R] N ⧸ Q 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] {N : Type u_5} [AddCommGroup N] [Module R N] (P : Submodule R M) (Q : Submodule R N) (f : M ≃ₗ[R] N) (hf : Submodule.map f P = Q) (a : M ⧸ P)
Goal: (Submodule.Quotient.equiv P Q f hf) a = (P.mapQ Q ↑f ⋯) a
-- Submodule.Quotient.equiv_symm
@[simp]
theorem Quotient.equiv_symm {R M N : Type*} [CommRing R] [AddCommGroup M] [Module R M]
    [AddCommGroup N] [Module R N] (P : Submodule R M) (Q : Submodule R N) (f : M ≃ₗ[R] N)
    (hf : P.map f = Q) :
    (Quotient.equiv P Q f hf).symm =
      Quotient.equiv Q P f.symm ((Submodule.map_symm_eq_iff f).mpr hf) 
Arguments: {R : Type u_5} {M : Type u_6} {N : Type u_7} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : Submodule R M) (Q : Submodule R N) (f : M ≃ₗ[R] N) (hf : Submodule.map f P = Q)
Goal: (Submodule.Quotient.equiv P Q f hf).symm = Submodule.Quotient.equiv Q P f.symm ⋯
-- Submodule.Quotient.equiv_trans
@[simp]
theorem Quotient.equiv_trans {N O : Type*} [AddCommGroup N] [Module R N] [AddCommGroup O]
    [Module R O] (P : Submodule R M) (Q : Submodule R N) (S : Submodule R O) (e : M ≃ₗ[R] N)
    (f : N ≃ₗ[R] O) (he : P.map e = Q) (hf : Q.map f = S) (hef : P.map (e.trans f) = S) :
    Quotient.equiv P S (e.trans f) hef =
      (Quotient.equiv P Q e he).trans (Quotient.equiv Q S f hf) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] {N : Type u_5} {O : Type u_6} [AddCommGroup N] [Module R N] [AddCommGroup O] [Module R O] (P : Submodule R M) (Q : Submodule R N) (S : Submodule R O) (e : M ≃ₗ[R] N) (f : N ≃ₗ[R] O) (he : Submodule.map e P = Q) (hf : Submodule.map f Q = S) (hef : Submodule.map (e ≪≫ₗ f) P = S)
Goal: Submodule.Quotient.equiv P S (e ≪≫ₗ f) hef = Submodule.Quotient.equiv P Q e he ≪≫ₗ Submodule.Quotient.equiv Q S f hf
-- LinearMap.range_mkQ_comp
theorem range_mkQ_comp (f : M →ₛₗ[τ₁₂] M₂) : f.range.mkQ.comp f = 0 
Arguments: {R : Type u_1} {M : Type u_2} {R₂ : Type u_3} {M₂ : Type u_4} [Ring R] [Ring R₂] [AddCommMonoid M] [AddCommGroup M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} [RingHomSurjective τ₁₂] (f : M →ₛₗ[τ₁₂] M₂)
Goal: (LinearMap.range f).mkQ.comp f = 0
-- LinearMap.ker_le_range_iff
theorem ker_le_range_iff {f : M →ₛₗ[τ₁₂] M₂} {g : M₂ →ₛₗ[τ₂₃] M₃} :
    ker g ≤ range f ↔ f.range.mkQ.comp g.ker.subtype = 0 
Arguments: {R : Type u_1} {M : Type u_2} {R₂ : Type u_3} {M₂ : Type u_4} {R₃ : Type u_5} {M₃ : Type u_6} [Ring R] [Ring R₂] [Ring R₃] [AddCommMonoid M] [AddCommGroup M₂] [AddCommMonoid M₃] [Module R M] [Module R₂ M₂] [Module R₃ M₃] {τ₁₂ : R →+* R₂} {τ₂₃ : R₂ →+* R₃} [RingHomSurjective τ₁₂] {f : M →ₛₗ[τ₁₂] M₂} {g : M₂ →ₛₗ[τ₂₃] M₃}
Goal: LinearMap.ker g ≤ LinearMap.range f ↔ (LinearMap.range f).mkQ ∘ₗ (LinearMap.ker g).subtype = 0
-- LinearMap.range_eq_top_of_cancel
theorem range_eq_top_of_cancel {f : M →ₛₗ[τ₁₂] M₂}
    (h : ∀ u v : M₂ →ₗ[R₂] M₂ ⧸ (range f), u.comp f = v.comp f → u = v) : range f = ⊤ 
Arguments: {R : Type u_1} {M : Type u_2} {R₂ : Type u_3} {M₂ : Type u_4} [Ring R] [Ring R₂] [AddCommMonoid M] [AddCommGroup M₂] [Module R M] [Module R₂ M₂] {τ₁₂ : R →+* R₂} [RingHomSurjective τ₁₂] {f : M →ₛₗ[τ₁₂] M₂} (h : ∀ (u v : M₂ →ₗ[R₂] M₂ ⧸ LinearMap.range f), u.comp f = v.comp f → u = v)
Goal: LinearMap.range f = ⊤
-- Submodule.quotEquivOfEqBot_apply_mk
@[simp]
theorem quotEquivOfEqBot_apply_mk (hp : p = ⊥) (x : M) :
    p.quotEquivOfEqBot hp (Quotient.mk x : M ⧸ p) = x 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p : Submodule R M) (hp : p = ⊥) (x : M)
Goal: (p.quotEquivOfEqBot hp) (Submodule.Quotient.mk x) = x
-- Submodule.quotEquivOfEqBot_symm_apply
@[simp]
theorem quotEquivOfEqBot_symm_apply (hp : p = ⊥) (x : M) :
    (p.quotEquivOfEqBot hp).symm x = (Quotient.mk x : M ⧸ p) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p : Submodule R M) (hp : p = ⊥) (x : M)
Goal: (p.quotEquivOfEqBot hp).symm x = Submodule.Quotient.mk x
-- Submodule.coe_quotEquivOfEqBot_symm
@[simp]
theorem coe_quotEquivOfEqBot_symm (hp : p = ⊥) :
    ((p.quotEquivOfEqBot hp).symm : M →ₗ[R] M ⧸ p) = p.mkQ 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p : Submodule R M) (hp : p = ⊥)
Goal: ↑(p.quotEquivOfEqBot hp).symm = p.mkQ
-- Submodule.quotEquivOfEq_mk
@[simp]
theorem quotEquivOfEq_mk (h : p = p') (x : M) :
    Submodule.quotEquivOfEq p p' h (Submodule.Quotient.mk x : M ⧸ p) =
      (Submodule.Quotient.mk x : M ⧸ p') 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p p' : Submodule R M) (h : p = p') (x : M)
Goal: (p.quotEquivOfEq p' h) (Submodule.Quotient.mk x) = Submodule.Quotient.mk x
-- Submodule.Quotient.equiv_refl
@[simp]
theorem Quotient.equiv_refl (P : Submodule R M) (Q : Submodule R M)
    (hf : P.map (LinearEquiv.refl R M : M →ₗ[R] M) = Q) :
    Quotient.equiv P Q (LinearEquiv.refl R M) hf = quotEquivOfEq _ _ (by simpa using hf) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (P Q : Submodule R M) (hf : Submodule.map (↑(LinearEquiv.refl R M)) P = Q)
Goal: Submodule.Quotient.equiv P Q (LinearEquiv.refl R M) hf = P.quotEquivOfEq Q ⋯
-- Module.End.isSemisimple_iff
lemma isSemisimple_iff :
    f.IsSemisimple ↔ ∀ p : Submodule R M, p ≤ p.comap f → ∃ q, q ≤ q.comap f ∧ IsCompl p q 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {f : Module.End R M}
Goal: f.IsSemisimple ↔ ∀ p ≤ Submodule.comap f p, ∃ q ≤ Submodule.comap f q, IsCompl p q
-- Module.End.isSemisimple_zero
@[simp]
lemma isSemisimple_zero [IsSemisimpleModule R M] : IsSemisimple (0 : Module.End R M) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [IsSemisimpleModule R M]
Goal: Module.End.IsSemisimple 0
-- Module.End.isSemisimple_id
@[simp]
lemma isSemisimple_id [IsSemisimpleModule R M] : IsSemisimple (LinearMap.id : Module.End R M) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [IsSemisimpleModule R M]
Goal: Module.End.IsSemisimple LinearMap.id
-- Module.End.isSemisimple_neg
@[simp] lemma isSemisimple_neg : (-f).IsSemisimple ↔ f.IsSemisimple 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {f : Module.End R M}
Goal: (-f).IsSemisimple ↔ f.IsSemisimple
-- Module.End.eq_zero_of_isNilpotent_isSemisimple
lemma eq_zero_of_isNilpotent_isSemisimple (hn : IsNilpotent f) (hs : f.IsSemisimple) : f = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {f : Module.End R M} (hn : IsNilpotent f) (hs : f.IsSemisimple)
Goal: f = 0
-- Module.End.isSemisimple_sub_algebraMap_iff
@[simp]
lemma isSemisimple_sub_algebraMap_iff {μ : R} :
    (f - algebraMap R (End R M) μ).IsSemisimple ↔ f.IsSemisimple 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {f : Module.End R M} {μ : R}
Goal: (f - (algebraMap R (Module.End R M)) μ).IsSemisimple ↔ f.IsSemisimple
-- Module.End.IsSemisimple.restrict
lemma IsSemisimple.restrict {p : Submodule R M} {hp : MapsTo f p p} (hf : f.IsSemisimple) :
    IsSemisimple (f.restrict hp) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {f : Module.End R M} {p : Submodule R M} {hp : Set.MapsTo ⇑f ↑p ↑p} (hf : f.IsSemisimple)
Goal: Module.End.IsSemisimple (LinearMap.restrict f hp)
-- Module.End.IsSemisimple_smul_iff
lemma IsSemisimple_smul_iff {t : K} (ht : t ≠ 0) :
    (t • f).IsSemisimple ↔ f.IsSemisimple 
Arguments: {M : Type u_2} [AddCommGroup M] {K : Type u_3} [Field K] [Module K M] {f : Module.End K M} {t : K} (ht : t ≠ 0)
Goal: (t • f).IsSemisimple ↔ f.IsSemisimple
-- Module.End.IsSemisimple_smul
lemma IsSemisimple_smul (t : K) (h : f.IsSemisimple) :
    (t • f).IsSemisimple 
Arguments: {M : Type u_2} [AddCommGroup M] {K : Type u_3} [Field K] [Module K M] {f : Module.End K M} (t : K) (h : f.IsSemisimple)
Goal: (t • f).IsSemisimple
-- Module.End.isSemisimple_of_squarefree_aeval_eq_zero
theorem isSemisimple_of_squarefree_aeval_eq_zero {p : K[X]}
    (hp : Squarefree p) (hpf : aeval f p = 0) : f.IsSemisimple 
Arguments: {M : Type u_2} [AddCommGroup M] {K : Type u_3} [Field K] [Module K M] {f : Module.End K M} {p : K[X]} (hp : Squarefree p) (hpf : (Polynomial.aeval f) p = 0)
Goal: f.IsSemisimple
-- Module.End.IsSemisimple.minpoly_squarefree
theorem IsSemisimple.minpoly_squarefree : Squarefree (minpoly K f) 
Arguments: {M : Type u_2} [AddCommGroup M] {K : Type u_3} [Field K] [Module K M] {f : Module.End K M} [FiniteDimensional K M] (hf : f.IsSemisimple)
Goal: Squarefree (minpoly K f)
-- Module.End.IsSemisimple.aeval
protected theorem IsSemisimple.aeval (p : K[X]) : (aeval f p).IsSemisimple 
Arguments: {M : Type u_2} [AddCommGroup M] {K : Type u_3} [Field K] [Module K M] {f : Module.End K M} [FiniteDimensional K M] (hf : f.IsSemisimple) (p : K[X])
Goal: ((Polynomial.aeval f) p).IsSemisimple
-- Module.End.IsSemisimple.of_mem_adjoin_singleton
theorem IsSemisimple.of_mem_adjoin_singleton {a : End K M}
    (ha : a ∈ Algebra.adjoin K {f}) : a.IsSemisimple 
Arguments: {M : Type u_2} [AddCommGroup M] {K : Type u_3} [Field K] [Module K M] {f : Module.End K M} [FiniteDimensional K M] (hf : f.IsSemisimple) {a : Module.End K M} (ha : a ∈ Algebra.adjoin K {f})
Goal: a.IsSemisimple
-- Module.End.IsSemisimple.pow
protected theorem IsSemisimple.pow (n : ℕ) : (f ^ n).IsSemisimple 
Arguments: {M : Type u_2} [AddCommGroup M] {K : Type u_3} [Field K] [Module K M] {f : Module.End K M} [FiniteDimensional K M] (hf : f.IsSemisimple) (n : ℕ)
Goal: (f ^ n).IsSemisimple
-- Module.End.IsSemisimple.of_mem_adjoin_pair
theorem IsSemisimple.of_mem_adjoin_pair {a : End K M} (ha : a ∈ Algebra.adjoin K {f, g}) :
    a.IsSemisimple 
Arguments: {M : Type u_2} [AddCommGroup M] {K : Type u_3} [Field K] [Module K M] {f g : Module.End K M} [FiniteDimensional K M] [PerfectField K] (comm : Commute f g) (hf : f.IsSemisimple) (hg : g.IsSemisimple) {a : Module.End K M} (ha : a ∈ Algebra.adjoin K {f, g})
Goal: a.IsSemisimple
-- Module.End.IsSemisimple.add_of_commute
theorem IsSemisimple.add_of_commute : (f + g).IsSemisimple 
Arguments: {M : Type u_2} [AddCommGroup M] {K : Type u_3} [Field K] [Module K M] {f g : Module.End K M} [FiniteDimensional K M] [PerfectField K] (comm : Commute f g) (hf : f.IsSemisimple) (hg : g.IsSemisimple)
Goal: (f + g).IsSemisimple
-- Module.End.IsSemisimple.sub_of_commute
theorem IsSemisimple.sub_of_commute : (f - g).IsSemisimple 
Arguments: {M : Type u_2} [AddCommGroup M] {K : Type u_3} [Field K] [Module K M] {f g : Module.End K M} [FiniteDimensional K M] [PerfectField K] (comm : Commute f g) (hf : f.IsSemisimple) (hg : g.IsSemisimple)
Goal: (f - g).IsSemisimple
-- Module.End.IsSemisimple.mul_of_commute
theorem IsSemisimple.mul_of_commute : (f * g).IsSemisimple 
Arguments: {M : Type u_2} [AddCommGroup M] {K : Type u_3} [Field K] [Module K M] {f g : Module.End K M} [FiniteDimensional K M] [PerfectField K] (comm : Commute f g) (hf : f.IsSemisimple) (hg : g.IsSemisimple)
Goal: (f * g).IsSemisimple
-- LinearMap.BilinForm.coeFn_congr
@[deprecated (since := "2024-04-14")]
theorem coeFn_congr : ∀ {x x' y y' : M}, x = x' → y = y' → B x y = B x' y'
  
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {B : LinearMap.BilinForm R M} {x x' y y' : M}
Goal: x = x' → y = y' → (B x) y = (B x') y'
-- LinearMap.BilinForm.add_left
theorem add_left (x y z : M) : B (x + y) z = B x z + B y z 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {B : LinearMap.BilinForm R M} (x y z : M)
Goal: (B (x + y)) z = (B x) z + (B y) z
-- LinearMap.BilinForm.smul_left
theorem smul_left (a : R) (x y : M) : B (a • x) y = a * B x y 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {B : LinearMap.BilinForm R M} (a : R) (x y : M)
Goal: (B (a • x)) y = a * (B x) y
-- LinearMap.BilinForm.add_right
theorem add_right (x y z : M) : B x (y + z) = B x y + B x z 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {B : LinearMap.BilinForm R M} (x y z : M)
Goal: (B x) (y + z) = (B x) y + (B x) z
-- LinearMap.BilinForm.smul_right
theorem smul_right (a : R) (x y : M) : B x (a • y) = a * B x y 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {B : LinearMap.BilinForm R M} (a : R) (x y : M)
Goal: (B x) (a • y) = a * (B x) y
-- LinearMap.BilinForm.zero_left
theorem zero_left (x : M) : B 0 x = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {B : LinearMap.BilinForm R M} (x : M)
Goal: (B 0) x = 0
-- LinearMap.BilinForm.zero_right
theorem zero_right (x : M) : B x 0 = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {B : LinearMap.BilinForm R M} (x : M)
Goal: (B x) 0 = 0
-- LinearMap.BilinForm.neg_left
theorem neg_left (x y : M₁) : B₁ (-x) y = -B₁ x y 
Arguments: {R₁ : Type u_4} {M₁ : Type u_5} [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] {B₁ : LinearMap.BilinForm R₁ M₁} (x y : M₁)
Goal: (B₁ (-x)) y = -(B₁ x) y
-- LinearMap.BilinForm.neg_right
theorem neg_right (x y : M₁) : B₁ x (-y) = -B₁ x y 
Arguments: {R₁ : Type u_4} {M₁ : Type u_5} [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] {B₁ : LinearMap.BilinForm R₁ M₁} (x y : M₁)
Goal: (B₁ x) (-y) = -(B₁ x) y
-- LinearMap.BilinForm.sub_left
theorem sub_left (x y z : M₁) : B₁ (x - y) z = B₁ x z - B₁ y z 
Arguments: {R₁ : Type u_4} {M₁ : Type u_5} [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] {B₁ : LinearMap.BilinForm R₁ M₁} (x y z : M₁)
Goal: (B₁ (x - y)) z = (B₁ x) z - (B₁ y) z
-- LinearMap.BilinForm.sub_right
theorem sub_right (x y z : M₁) : B₁ x (y - z) = B₁ x y - B₁ x z 
Arguments: {R₁ : Type u_4} {M₁ : Type u_5} [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] {B₁ : LinearMap.BilinForm R₁ M₁} (x y z : M₁)
Goal: (B₁ x) (y - z) = (B₁ x) y - (B₁ x) z
-- LinearMap.BilinForm.smul_left_of_tower
lemma smul_left_of_tower (r : S) (x y : M) : B (r • x) y = r • B x y 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {S : Type u_3} [CommSemiring S] [Algebra S R] [Module S M] [IsScalarTower S R M] {B : LinearMap.BilinForm R M} (r : S) (x y : M)
Goal: (B (r • x)) y = r • (B x) y
-- LinearMap.BilinForm.smul_right_of_tower
lemma smul_right_of_tower (r : S) (x y : M) : B x (r • y) = r • B x y 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {S : Type u_3} [CommSemiring S] [Algebra S R] [Module S M] [IsScalarTower S R M] {B : LinearMap.BilinForm R M} (r : S) (x y : M)
Goal: (B x) (r • y) = r • (B x) y
-- LinearMap.BilinForm.coe_injective
theorem coe_injective : Function.Injective ((fun B x y => B x y) : BilinForm R M → M → M → R) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M]
Goal: Function.Injective fun B x y => (B x) y
-- LinearMap.BilinForm.ext
@[ext]
theorem ext (H : ∀ x y : M, B x y = D x y) : B = D 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {B D : LinearMap.BilinForm R M} (H : ∀ (x y : M), (B x) y = (D x) y)
Goal: B = D
-- LinearMap.BilinForm.congr_fun
theorem congr_fun (h : B = D) (x y : M) : B x y = D x y 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {B D : LinearMap.BilinForm R M} (h : B = D) (x y : M)
Goal: (B x) y = (D x) y
-- LinearMap.BilinForm.ext_iff
theorem ext_iff : B = D ↔ ∀ x y, B x y = D x y 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {B D : LinearMap.BilinForm R M}
Goal: B = D ↔ ∀ (x y : M), (B x) y = (D x) y
-- LinearMap.BilinForm.coe_zero
@[deprecated (since := "2024-04-14")]
theorem coe_zero : ⇑(0 : BilinForm R M) = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M]
Goal: ⇑0 = 0
-- LinearMap.BilinForm.zero_apply
@[simp]
theorem zero_apply (x y : M) : (0 : BilinForm R M) x y = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (x y : M)
Goal: (0 x) y = 0
-- LinearMap.BilinForm.coe_add
@[deprecated (since := "2024-04-14")]
theorem coe_add : ⇑(B + D) = B + D 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (B D : LinearMap.BilinForm R M)
Goal: ⇑(B + D) = ⇑B + ⇑D
-- LinearMap.BilinForm.add_apply
@[simp]
theorem add_apply (x y : M) : (B + D) x y = B x y + D x y 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (B D : LinearMap.BilinForm R M) (x y : M)
Goal: ((B + D) x) y = (B x) y + (D x) y
-- LinearMap.BilinForm.coe_neg
@[deprecated (since := "2024-04-14")]
theorem coe_neg : ⇑(-B₁) = -B₁ 
Arguments: {R₁ : Type u_4} {M₁ : Type u_5} [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] (B₁ : LinearMap.BilinForm R₁ M₁)
Goal: ⇑(-B₁) = -⇑B₁
-- LinearMap.BilinForm.neg_apply
@[simp]
theorem neg_apply (x y : M₁) : (-B₁) x y = -B₁ x y 
Arguments: {R₁ : Type u_4} {M₁ : Type u_5} [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] (B₁ : LinearMap.BilinForm R₁ M₁) (x y : M₁)
Goal: ((-B₁) x) y = -(B₁ x) y
-- LinearMap.BilinForm.coe_sub
@[deprecated (since := "2024-04-14")]
theorem coe_sub : ⇑(B₁ - D₁) = B₁ - D₁ 
Arguments: {R₁ : Type u_4} {M₁ : Type u_5} [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] (B₁ D₁ : LinearMap.BilinForm R₁ M₁)
Goal: ⇑(B₁ - D₁) = ⇑B₁ - ⇑D₁
-- LinearMap.BilinForm.sub_apply
@[simp]
theorem sub_apply (x y : M₁) : (B₁ - D₁) x y = B₁ x y - D₁ x y 
Arguments: {R₁ : Type u_4} {M₁ : Type u_5} [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] (B₁ D₁ : LinearMap.BilinForm R₁ M₁) (x y : M₁)
Goal: ((B₁ - D₁) x) y = (B₁ x) y - (D₁ x) y
-- LinearMap.BilinForm.flip_flip_aux
theorem flip_flip_aux (A : BilinForm R M) :
    flipHomAux (M := M) (flipHomAux (M := M) A) = A 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (A : LinearMap.BilinForm R M)
Goal: LinearMap.BilinForm.flipHomAux (LinearMap.BilinForm.flipHomAux A) = A
-- LinearMap.BilinForm.flip_apply
@[simp]
theorem flip_apply (A : BilinForm R M) (x y : M) : flipHom A x y = A y x 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (A : LinearMap.BilinForm R M) (x y : M)
Goal: ((LinearMap.BilinForm.flipHom A) x) y = (A y) x
-- LinearMap.BilinForm.flip_flip
theorem flip_flip :
    flipHom.trans flipHom = LinearEquiv.refl R (BilinForm R M) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M]
Goal: LinearMap.BilinForm.flipHom ≪≫ₗ LinearMap.BilinForm.flipHom = LinearEquiv.refl R (LinearMap.BilinForm R M)
-- LinearMap.BilinForm.restrict_apply
@[simps! apply]
def restrict (B : BilinForm R M) (W : Submodule R M) : BilinForm R W 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (B : LinearMap.BilinForm R M) (W : Submodule R M) (m : ↥W)
Goal: (B.restrict W) m = (B ↑m).domRestrict W
-- QuadraticModuleCat.instMonoidalCategory.tensorObj_form
@[simps! form]
noncomputable abbrev tensorObj (X Y : QuadraticModuleCat.{u} R) : QuadraticModuleCat.{u} R 
Arguments: {R : Type u} [CommRing R] [Invertible 2] (X Y : QuadraticModuleCat R)
Goal: (QuadraticModuleCat.instMonoidalCategory.tensorObj X Y).form = X.form.tmul Y.form
-- QuadraticModuleCat.toModuleCat_tensor
@[simp] theorem toModuleCat_tensor (X Y : QuadraticModuleCat.{u} R) :
    (X ⊗ Y).toModuleCat = X.toModuleCat ⊗ Y.toModuleCat 
Arguments: {R : Type u} [CommRing R] [Invertible 2] (X Y : QuadraticModuleCat R)
Goal: (X ⊗ Y).toModuleCat = X.toModuleCat ⊗ Y.toModuleCat
-- QuadraticModuleCat.forget₂_map_associator_hom
theorem forget₂_map_associator_hom (X Y Z : QuadraticModuleCat.{u} R) :
    (forget₂ (QuadraticModuleCat R) (ModuleCat R)).map (α_ X Y Z).hom =
      (α_ X.toModuleCat Y.toModuleCat Z.toModuleCat).hom 
Arguments: {R : Type u} [CommRing R] [Invertible 2] (X Y Z : QuadraticModuleCat R)
Goal: (CategoryTheory.forget₂ (QuadraticModuleCat R) (ModuleCat R)).map (α_ X Y Z).hom =
  (α_ X.toModuleCat Y.toModuleCat Z.toModuleCat).hom
-- QuadraticModuleCat.forget₂_map_associator_inv
theorem forget₂_map_associator_inv (X Y Z : QuadraticModuleCat.{u} R) :
    (forget₂ (QuadraticModuleCat R) (ModuleCat R)).map (α_ X Y Z).inv =
      (α_ X.toModuleCat Y.toModuleCat Z.toModuleCat).inv 
Arguments: {R : Type u} [CommRing R] [Invertible 2] (X Y Z : QuadraticModuleCat R)
Goal: (CategoryTheory.forget₂ (QuadraticModuleCat R) (ModuleCat R)).map (α_ X Y Z).inv =
  (α_ X.toModuleCat Y.toModuleCat Z.toModuleCat).inv
-- QuadraticMap.prod_apply
@[simps!]
def prod (Q₁ : QuadraticMap R M₁ P) (Q₂ : QuadraticMap R M₂ P) : QuadraticMap R (M₁ × M₂) P 
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) (a : M₁ × M₂)
Goal: (Q₁.prod Q₂) a = Q₁ a.1 + Q₂ a.2
-- QuadraticMap.IsometryEquiv.prod_toLinearEquiv
@[simps toLinearEquiv]
def IsometryEquiv.prod
    {Q₁ : QuadraticMap R M₁ P} {Q₂ : QuadraticMap R M₂ P}
    {Q₁' : QuadraticMap R N₁ P} {Q₂' : QuadraticMap R N₂ P}
    (e₁ : Q₁.IsometryEquiv Q₁') (e₂ : Q₂.IsometryEquiv Q₂') :
    (Q₁.prod Q₂).IsometryEquiv (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₁.IsometryEquiv Q₁') (e₂ : Q₂.IsometryEquiv Q₂')
Goal: (e₁.prod e₂).toLinearEquiv = e₁.prod e₂.toLinearEquiv