ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- LinearMap.BilinForm.congr_apply
@[simp]
theorem congr_apply (e : M ≃ₗ[R] M') (B : BilinForm R M) (x y : M') :
    congr e B x y = B (e.symm x) (e.symm y) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {M' : Type u_7} [AddCommMonoid M'] [Module R M'] (e : M ≃ₗ[R] M') (B : LinearMap.BilinForm R M) (x y : M')
Goal: (((LinearMap.BilinForm.congr e) B) x) y = (B (e.symm x)) (e.symm y)
-- LinearMap.BilinForm.congr_symm
@[simp]
theorem congr_symm (e : M ≃ₗ[R] M') : (congr e).symm = congr e.symm 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {M' : Type u_7} [AddCommMonoid M'] [Module R M'] (e : M ≃ₗ[R] M')
Goal: (LinearMap.BilinForm.congr e).symm = LinearMap.BilinForm.congr e.symm
-- LinearMap.BilinForm.congr_refl
@[simp]
theorem congr_refl : congr (LinearEquiv.refl R M) = LinearEquiv.refl R _ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M]
Goal: LinearMap.BilinForm.congr (LinearEquiv.refl R M) = LinearEquiv.refl R (LinearMap.BilinForm R M)
-- LinearMap.BilinForm.congr_trans
theorem congr_trans (e : M ≃ₗ[R] M') (f : M' ≃ₗ[R] M'') :
    (congr e).trans (congr f) = congr (e.trans f) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {M' : Type u_7} {M'' : Type u_8} [AddCommMonoid M'] [AddCommMonoid M''] [Module R M'] [Module R M''] (e : M ≃ₗ[R] M') (f : M' ≃ₗ[R] M'')
Goal: LinearMap.BilinForm.congr e ≪≫ₗ LinearMap.BilinForm.congr f = LinearMap.BilinForm.congr (e ≪≫ₗ f)
-- LinearMap.BilinForm.congr_congr
theorem congr_congr (e : M' ≃ₗ[R] M'') (f : M ≃ₗ[R] M') (B : BilinForm R M) :
    congr e (congr f B) = congr (f.trans e) B 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {M' : Type u_7} {M'' : Type u_8} [AddCommMonoid M'] [AddCommMonoid M''] [Module R M'] [Module R M''] (e : M' ≃ₗ[R] M'') (f : M ≃ₗ[R] M') (B : LinearMap.BilinForm R M)
Goal: (LinearMap.BilinForm.congr e) ((LinearMap.BilinForm.congr f) B) = (LinearMap.BilinForm.congr (f ≪≫ₗ e)) B
-- LinearMap.BilinForm.congr_comp
theorem congr_comp (e : M ≃ₗ[R] M') (B : BilinForm R M) (l r : M'' →ₗ[R] M') :
    (congr e B).comp l r =
      B.comp (LinearMap.comp (e.symm : M' →ₗ[R] M) l)
        (LinearMap.comp (e.symm : M' →ₗ[R] M) r) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {M' : Type u_7} {M'' : Type u_8} [AddCommMonoid M'] [AddCommMonoid M''] [Module R M'] [Module R M''] (e : M ≃ₗ[R] M') (B : LinearMap.BilinForm R M) (l r : M'' →ₗ[R] M')
Goal: ((LinearMap.BilinForm.congr e) B).comp l r = B.comp (↑e.symm ∘ₗ l) (↑e.symm ∘ₗ r)
-- LinearMap.BilinForm.comp_congr
theorem comp_congr (e : M' ≃ₗ[R] M'') (B : BilinForm R M) (l r : M' →ₗ[R] M) :
    congr e (B.comp l r) =
      B.comp (l.comp (e.symm : M'' →ₗ[R] M')) (r.comp (e.symm : M'' →ₗ[R] M')) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {M' : Type u_7} {M'' : Type u_8} [AddCommMonoid M'] [AddCommMonoid M''] [Module R M'] [Module R M''] (e : M' ≃ₗ[R] M'') (B : LinearMap.BilinForm R M) (l r : M' →ₗ[R] M)
Goal: (LinearMap.BilinForm.congr e) (B.comp l r) = B.comp (l ∘ₗ ↑e.symm) (r ∘ₗ ↑e.symm)
-- LinearMap.BilinForm.linMulLin_apply
@[simp]
theorem linMulLin_apply (x y) : linMulLin f g x y = f x * g y 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {f g : M →ₗ[R] R} (x y : M)
Goal: ((LinearMap.BilinForm.linMulLin f g) x) y = f x * g y
-- LinearMap.BilinForm.linMulLin_comp
@[simp]
theorem linMulLin_comp (l r : M' →ₗ[R] M) :
    (linMulLin f g).comp l r = linMulLin (f.comp l) (g.comp r) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {M' : Type u_7} [AddCommMonoid M'] [Module R M'] {f g : M →ₗ[R] R} (l r : M' →ₗ[R] M)
Goal: (LinearMap.BilinForm.linMulLin f g).comp l r = LinearMap.BilinForm.linMulLin (f ∘ₗ l) (g ∘ₗ r)
-- LinearMap.BilinForm.linMulLin_compLeft
@[simp]
theorem linMulLin_compLeft (l : M →ₗ[R] M) :
    (linMulLin f g).compLeft l = linMulLin (f.comp l) g 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {f g : M →ₗ[R] R} (l : M →ₗ[R] M)
Goal: (LinearMap.BilinForm.linMulLin f g).compLeft l = LinearMap.BilinForm.linMulLin (f ∘ₗ l) g
-- LinearMap.BilinForm.linMulLin_compRight
@[simp]
theorem linMulLin_compRight (r : M →ₗ[R] M) :
    (linMulLin f g).compRight r = linMulLin f (g.comp r) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {f g : M →ₗ[R] R} (r : M →ₗ[R] M)
Goal: (LinearMap.BilinForm.linMulLin f g).compRight r = LinearMap.BilinForm.linMulLin f (g ∘ₗ r)
-- LinearMap.BilinForm.ext_basis
theorem ext_basis (h : ∀ i j, B (b i) (b j) = F₂ (b i) (b j)) : B = F₂ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {B F₂ : LinearMap.BilinForm R M} {ι : Type u_9} (b : Basis ι R M) (h : ∀ (i j : ι), (B (b i)) (b j) = (F₂ (b i)) (b j))
Goal: B = F₂
-- LinearMap.BilinForm.sum_repr_mul_repr_mul
theorem sum_repr_mul_repr_mul (x y : M) :
    ((b.repr x).sum fun i xi => (b.repr y).sum fun j yj => xi • yj • B (b i) (b j)) = B x y 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {B : LinearMap.BilinForm R M} {ι : Type u_9} (b : Basis ι R M) (x y : M)
Goal: ((b.repr x).sum fun i xi => (b.repr y).sum fun j yj => xi • yj • (B (b i)) (b j)) = (B x) y
-- Submodule.piQuotientLift_mk
@[simp]
theorem piQuotientLift_mk [Fintype ι] [DecidableEq ι] (p : ∀ i, Submodule R (Ms i))
    (q : Submodule R N) (f : ∀ i, Ms i →ₗ[R] N) (hf : ∀ i, p i ≤ q.comap (f i)) (x : ∀ i, Ms i) :
    (piQuotientLift p q f hf fun i => Quotient.mk (x i)) = Quotient.mk (lsum _ _ R f x) 
Arguments: {ι : Type u_1} {R : Type u_2} [CommRing R] {Ms : ι → Type u_3} [(i : ι) → AddCommGroup (Ms i)] [(i : ι) → Module R (Ms i)] {N : Type u_4} [AddCommGroup N] [Module R N] [Fintype ι] [DecidableEq ι] (p : (i : ι) → Submodule R (Ms i)) (q : Submodule R N) (f : (i : ι) → Ms i →ₗ[R] N) (hf : ∀ (i : ι), p i ≤ Submodule.comap (f i) q) (x : (i : ι) → Ms i)
Goal: ((Submodule.piQuotientLift p q f hf) fun i => Submodule.Quotient.mk (x i)) =
  Submodule.Quotient.mk (((LinearMap.lsum R Ms R) f) x)
-- Submodule.piQuotientLift_single
@[simp]
theorem piQuotientLift_single [Fintype ι] [DecidableEq ι] (p : ∀ i, Submodule R (Ms i))
    (q : Submodule R N) (f : ∀ i, Ms i →ₗ[R] N) (hf : ∀ i, p i ≤ q.comap (f i)) (i)
    (x : Ms i ⧸ p i) : piQuotientLift p q f hf (Pi.single i x) = mapQ _ _ (f i) (hf i) x 
Arguments: {ι : Type u_1} {R : Type u_2} [CommRing R] {Ms : ι → Type u_3} [(i : ι) → AddCommGroup (Ms i)] [(i : ι) → Module R (Ms i)] {N : Type u_4} [AddCommGroup N] [Module R N] [Fintype ι] [DecidableEq ι] (p : (i : ι) → Submodule R (Ms i)) (q : Submodule R N) (f : (i : ι) → Ms i →ₗ[R] N) (hf : ∀ (i : ι), p i ≤ Submodule.comap (f i) q) (i : ι) (x : Ms i ⧸ p i)
Goal: (Submodule.piQuotientLift p q f hf) (Pi.single i x) = ((p i).mapQ q (f i) ⋯) x
-- Submodule.quotientPiLift_mk
@[simp]
theorem quotientPiLift_mk (p : ∀ i, Submodule R (Ms i)) (f : ∀ i, Ms i →ₗ[R] Ns i)
    (hf : ∀ i, p i ≤ ker (f i)) (x : ∀ i, Ms i) :
    quotientPiLift p f hf (Quotient.mk x) = fun i => f i (x i) 
Arguments: {ι : Type u_1} {R : Type u_2} [CommRing R] {Ms : ι → Type u_3} [(i : ι) → AddCommGroup (Ms i)] [(i : ι) → Module R (Ms i)] {Ns : ι → Type u_5} [(i : ι) → AddCommGroup (Ns i)] [(i : ι) → Module R (Ns i)] (p : (i : ι) → Submodule R (Ms i)) (f : (i : ι) → Ms i →ₗ[R] Ns i) (hf : ∀ (i : ι), p i ≤ LinearMap.ker (f i)) (x : (i : ι) → Ms i)
Goal: (Submodule.quotientPiLift p f hf) (Submodule.Quotient.mk x) = fun i => (f i) (x i)
-- Submodule.quotientPi_aux.left_inv
theorem left_inv : Function.LeftInverse (invFun p) (toFun p) 
Arguments: {ι : Type u_1} {R : Type u_2} [CommRing R] {Ms : ι → Type u_3} [(i : ι) → AddCommGroup (Ms i)] [(i : ι) → Module R (Ms i)] [Fintype ι] [DecidableEq ι] (p : (i : ι) → Submodule R (Ms i))
Goal: Function.LeftInverse (Submodule.quotientPi_aux.invFun p) (Submodule.quotientPi_aux.toFun p)
-- Submodule.quotientPi_aux.right_inv
theorem right_inv : Function.RightInverse (invFun p) (toFun p) 
Arguments: {ι : Type u_1} {R : Type u_2} [CommRing R] {Ms : ι → Type u_3} [(i : ι) → AddCommGroup (Ms i)] [(i : ι) → Module R (Ms i)] [Fintype ι] [DecidableEq ι] (p : (i : ι) → Submodule R (Ms i))
Goal: Function.RightInverse (Submodule.quotientPi_aux.invFun p) (Submodule.quotientPi_aux.toFun p)
-- Submodule.quotientPi_aux.map_add
theorem map_add (x y : ((i : ι) → Ms i) ⧸ pi Set.univ p) :
    toFun p (x + y) = toFun p x + toFun p y 
Arguments: {ι : Type u_1} {R : Type u_2} [CommRing R] {Ms : ι → Type u_3} [(i : ι) → AddCommGroup (Ms i)] [(i : ι) → Module R (Ms i)] (p : (i : ι) → Submodule R (Ms i)) (x y : ((i : ι) → Ms i) ⧸ Submodule.pi Set.univ p)
Goal: Submodule.quotientPi_aux.toFun p (x + y) = Submodule.quotientPi_aux.toFun p x + Submodule.quotientPi_aux.toFun p y
-- Submodule.quotientPi_aux.map_smul
theorem map_smul (r : R) (x : ((i : ι) → Ms i) ⧸ pi Set.univ p) :
    toFun p (r • x) = (RingHom.id R r) • toFun p x 
Arguments: {ι : Type u_1} {R : Type u_2} [CommRing R] {Ms : ι → Type u_3} [(i : ι) → AddCommGroup (Ms i)] [(i : ι) → Module R (Ms i)] (p : (i : ι) → Submodule R (Ms i)) (r : R) (x : ((i : ι) → Ms i) ⧸ Submodule.pi Set.univ p)
Goal: Submodule.quotientPi_aux.toFun p (r • x) = (RingHom.id R) r • Submodule.quotientPi_aux.toFun p x
-- Submodule.quotientPi_symm_apply
@[simps!]
def quotientPi [Fintype ι] [DecidableEq ι] (p : ∀ i, Submodule R (Ms i)) :
    ((∀ i, Ms i) ⧸ pi Set.univ p) ≃ₗ[R] ∀ i, Ms i ⧸ p i 
Arguments: {ι : Type u_1} {R : Type u_2} [CommRing R] {Ms : ι → Type u_3} [(i : ι) → AddCommGroup (Ms i)] [(i : ι) → Module R (Ms i)] [Fintype ι] [DecidableEq ι] (p : (i : ι) → Submodule R (Ms i))
Goal: ∀ (a : (i : ι) → Ms i ⧸ p i),
  (Submodule.quotientPi p).symm a = (Submodule.piQuotientLift p (Submodule.pi Set.univ p) LinearMap.single ⋯) a
-- Submodule.quotientPi_apply
@[simps!]
def quotientPi [Fintype ι] [DecidableEq ι] (p : ∀ i, Submodule R (Ms i)) :
    ((∀ i, Ms i) ⧸ pi Set.univ p) ≃ₗ[R] ∀ i, Ms i ⧸ p i 
Arguments: {ι : Type u_1} {R : Type u_2} [CommRing R] {Ms : ι → Type u_3} [(i : ι) → AddCommGroup (Ms i)] [(i : ι) → Module R (Ms i)] [Fintype ι] [DecidableEq ι] (p : (i : ι) → Submodule R (Ms i))
Goal: ∀ (a : ((i : ι) → Ms i) ⧸ Submodule.pi Set.univ p) (i : ι),
  (Submodule.quotientPi p) a i = (Submodule.quotientPiLift p (fun i => (p i).mkQ) ⋯) a i
-- LinearMap.quotKerEquivRange_apply_mk
@[simp]
theorem quotKerEquivRange_apply_mk (x : M) :
    (f.quotKerEquivRange (Submodule.Quotient.mk x) : M₂) = f x 
Arguments: {R : Type u_1} {M : Type u_2} {M₂ : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup M₂] [Module R M] [Module R M₂] (f : M →ₗ[R] M₂) (x : M)
Goal: ↑(f.quotKerEquivRange (Submodule.Quotient.mk x)) = f x
-- LinearMap.quotKerEquivRange_symm_apply_image
@[simp]
theorem quotKerEquivRange_symm_apply_image (x : M) (h : f x ∈ LinearMap.range f) :
    f.quotKerEquivRange.symm ⟨f x, h⟩ = f.ker.mkQ x 
Arguments: {R : Type u_1} {M : Type u_2} {M₂ : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup M₂] [Module R M] [Module R M₂] (f : M →ₗ[R] M₂) (x : M) (h : f x ∈ LinearMap.range f)
Goal: f.quotKerEquivRange.symm ⟨f x, h⟩ = (LinearMap.ker f).mkQ x
-- LinearMap.comap_leq_ker_subToSupQuotient
theorem comap_leq_ker_subToSupQuotient (p p' : Submodule R M) :
    comap (Submodule.subtype p) (p ⊓ p') ≤ ker (subToSupQuotient p p') 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p p' : Submodule R M)
Goal: Submodule.comap p.subtype (p ⊓ p') ≤ LinearMap.ker (LinearMap.subToSupQuotient p p')
-- LinearMap.quotientInfEquivSupQuotient_injective
theorem quotientInfEquivSupQuotient_injective (p p' : Submodule R M) :
    Function.Injective (quotientInfToSupQuotient p p') 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p p' : Submodule R M)
Goal: Function.Injective ⇑(LinearMap.quotientInfToSupQuotient p p')
-- LinearMap.quotientInfEquivSupQuotient_surjective
theorem quotientInfEquivSupQuotient_surjective (p p' : Submodule R M) :
    Function.Surjective (quotientInfToSupQuotient p p') 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p p' : Submodule R M)
Goal: Function.Surjective ⇑(LinearMap.quotientInfToSupQuotient p p')
-- LinearMap.coe_quotientInfToSupQuotient
theorem coe_quotientInfToSupQuotient (p p' : Submodule R M) :
    ⇑(quotientInfToSupQuotient p p') = quotientInfEquivSupQuotient p p' 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p p' : Submodule R M)
Goal: ⇑(LinearMap.quotientInfToSupQuotient p p') = ⇑(LinearMap.quotientInfEquivSupQuotient p p')
-- LinearMap.quotientInfEquivSupQuotient_apply_mk
@[simp, nolint simpNF]
theorem quotientInfEquivSupQuotient_apply_mk (p p' : Submodule R M) (x : p) :
    let map := inclusion (le_sup_left : p ≤ p ⊔ p')
    quotientInfEquivSupQuotient p p' (Submodule.Quotient.mk x) =
      @Submodule.Quotient.mk R (p ⊔ p' : Submodule R M) _ _ _ (comap (p ⊔ p').subtype p') (map x) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p p' : Submodule R M) (x : ↥p)
Goal: let map := Submodule.inclusion ⋯;
(LinearMap.quotientInfEquivSupQuotient p p') (Submodule.Quotient.mk x) = Submodule.Quotient.mk (map x)
-- LinearMap.quotientInfEquivSupQuotient_symm_apply_left
theorem quotientInfEquivSupQuotient_symm_apply_left (p p' : Submodule R M) (x : ↥(p ⊔ p'))
    (hx : (x : M) ∈ p) :
    (quotientInfEquivSupQuotient p p').symm (Submodule.Quotient.mk x) =
      Submodule.Quotient.mk ⟨x, hx⟩ 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p p' : Submodule R M) (x : ↥(p ⊔ p')) (hx : ↑x ∈ p)
Goal: (LinearMap.quotientInfEquivSupQuotient p p').symm (Submodule.Quotient.mk x) = Submodule.Quotient.mk ⟨↑x, hx⟩
-- LinearMap.quotientInfEquivSupQuotient_symm_apply_eq_zero_iff
theorem quotientInfEquivSupQuotient_symm_apply_eq_zero_iff {p p' : Submodule R M} {x : ↥(p ⊔ p')} :
    (quotientInfEquivSupQuotient p p').symm (Submodule.Quotient.mk x) = 0 ↔ (x : M) ∈ p' 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] {p p' : Submodule R M} {x : ↥(p ⊔ p')}
Goal: (LinearMap.quotientInfEquivSupQuotient p p').symm (Submodule.Quotient.mk x) = 0 ↔ ↑x ∈ p'
-- LinearMap.quotientInfEquivSupQuotient_symm_apply_right
theorem quotientInfEquivSupQuotient_symm_apply_right (p p' : Submodule R M) {x : ↥(p ⊔ p')}
    (hx : (x : M) ∈ p') : (quotientInfEquivSupQuotient p p').symm (Submodule.Quotient.mk x)
    = 0 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (p p' : Submodule R M) {x : ↥(p ⊔ p')} (hx : ↑x ∈ p')
Goal: (LinearMap.quotientInfEquivSupQuotient p p').symm (Submodule.Quotient.mk x) = 0
-- Submodule.quotientQuotientEquivQuotientAux_mk
@[simp]
theorem quotientQuotientEquivQuotientAux_mk (x : M ⧸ S) :
    quotientQuotientEquivQuotientAux S T h (Quotient.mk x) = mapQ S T LinearMap.id h x 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (S T : Submodule R M) (h : S ≤ T) (x : M ⧸ S)
Goal: (S.quotientQuotientEquivQuotientAux T h) (Submodule.Quotient.mk x) = (S.mapQ T LinearMap.id h) x
-- Submodule.quotientQuotientEquivQuotientAux_mk_mk
theorem quotientQuotientEquivQuotientAux_mk_mk (x : M) :
    quotientQuotientEquivQuotientAux S T h (Quotient.mk (Quotient.mk x)) = Quotient.mk x 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (S T : Submodule R M) (h : S ≤ T) (x : M)
Goal: (S.quotientQuotientEquivQuotientAux T h) (Submodule.Quotient.mk (Submodule.Quotient.mk x)) = Submodule.Quotient.mk x
-- Submodule.card_quotient_mul_card_quotient
theorem card_quotient_mul_card_quotient (S T : Submodule R M) (hST : T ≤ S) :
    Nat.card (S.map T.mkQ) * Nat.card (M ⧸ S) = Nat.card (M ⧸ T) 
Arguments: {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (S T : Submodule R M) (hST : T ≤ S)
Goal: Nat.card ↥(Submodule.map T.mkQ S) * Nat.card (M ⧸ S) = Nat.card (M ⧸ T)
-- CliffordAlgebra.EquivEven.Q'_apply
theorem Q'_apply (m : M × R) : Q' Q m = Q m.1 - m.2 * m.2 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (m : M × R)
Goal: (CliffordAlgebra.EquivEven.Q' Q) m = Q m.1 - m.2 * m.2
-- CliffordAlgebra.EquivEven.ι_eq_v_add_smul_e0
theorem ι_eq_v_add_smul_e0 (m : M) (r : R) : ι (Q' Q) (m, r) = v Q m + r • e0 Q 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (m : M) (r : R)
Goal: (CliffordAlgebra.ι (CliffordAlgebra.EquivEven.Q' Q)) (m, r) =
  (CliffordAlgebra.EquivEven.v Q) m + r • CliffordAlgebra.EquivEven.e0 Q
-- CliffordAlgebra.EquivEven.e0_mul_e0
theorem e0_mul_e0 : e0 Q * e0 Q = -1 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M)
Goal: CliffordAlgebra.EquivEven.e0 Q * CliffordAlgebra.EquivEven.e0 Q = -1
-- CliffordAlgebra.EquivEven.v_sq_scalar
theorem v_sq_scalar (m : M) : v Q m * v Q m = algebraMap _ _ (Q m) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (m : M)
Goal: (CliffordAlgebra.EquivEven.v Q) m * (CliffordAlgebra.EquivEven.v Q) m =
  (algebraMap R (CliffordAlgebra (CliffordAlgebra.EquivEven.Q' Q))) (Q m)
-- CliffordAlgebra.EquivEven.neg_e0_mul_v
theorem neg_e0_mul_v (m : M) : -(e0 Q * v Q m) = v Q m * e0 Q 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (m : M)
Goal: -(CliffordAlgebra.EquivEven.e0 Q * (CliffordAlgebra.EquivEven.v Q) m) =
  (CliffordAlgebra.EquivEven.v Q) m * CliffordAlgebra.EquivEven.e0 Q
-- CliffordAlgebra.EquivEven.neg_v_mul_e0
theorem neg_v_mul_e0 (m : M) : -(v Q m * e0 Q) = e0 Q * v Q m 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (m : M)
Goal: -((CliffordAlgebra.EquivEven.v Q) m * CliffordAlgebra.EquivEven.e0 Q) =
  CliffordAlgebra.EquivEven.e0 Q * (CliffordAlgebra.EquivEven.v Q) m
-- CliffordAlgebra.EquivEven.e0_mul_v_mul_e0
@[simp]
theorem e0_mul_v_mul_e0 (m : M) : e0 Q * v Q m * e0 Q = v Q m 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (m : M)
Goal: CliffordAlgebra.EquivEven.e0 Q * (CliffordAlgebra.EquivEven.v Q) m * CliffordAlgebra.EquivEven.e0 Q =
  (CliffordAlgebra.EquivEven.v Q) m
-- CliffordAlgebra.EquivEven.reverse_v
@[simp]
theorem reverse_v (m : M) : reverse (Q := Q' Q) (v Q m) = v Q m 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (m : M)
Goal: CliffordAlgebra.reverse ((CliffordAlgebra.EquivEven.v Q) m) = (CliffordAlgebra.EquivEven.v Q) m
-- CliffordAlgebra.EquivEven.involute_v
@[simp]
theorem involute_v (m : M) : involute (v Q m) = -v Q m 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (m : M)
Goal: CliffordAlgebra.involute ((CliffordAlgebra.EquivEven.v Q) m) = -(CliffordAlgebra.EquivEven.v Q) m
-- CliffordAlgebra.EquivEven.reverse_e0
@[simp]
theorem reverse_e0 : reverse (Q := Q' Q) (e0 Q) = e0 Q 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M)
Goal: CliffordAlgebra.reverse (CliffordAlgebra.EquivEven.e0 Q) = CliffordAlgebra.EquivEven.e0 Q
-- CliffordAlgebra.EquivEven.involute_e0
@[simp]
theorem involute_e0 : involute (e0 Q) = -e0 Q 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M)
Goal: CliffordAlgebra.involute (CliffordAlgebra.EquivEven.e0 Q) = -CliffordAlgebra.EquivEven.e0 Q
-- CliffordAlgebra.toEven_ι
theorem toEven_ι (m : M) : (toEven Q (ι Q m) : CliffordAlgebra (Q' Q)) = e0 Q * v Q m 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (m : M)
Goal: ↑((CliffordAlgebra.toEven Q) ((CliffordAlgebra.ι Q) m)) =
  CliffordAlgebra.EquivEven.e0 Q * (CliffordAlgebra.EquivEven.v Q) m
-- CliffordAlgebra.ofEven_ι
theorem ofEven_ι (x y : M × R) :
    ofEven Q ((even.ι (Q' Q)).bilin x y) =
      (ι Q x.1 + algebraMap R _ x.2) * (ι Q y.1 - algebraMap R _ y.2) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (x y : M × R)
Goal: (CliffordAlgebra.ofEven Q) (((CliffordAlgebra.even.ι (CliffordAlgebra.EquivEven.Q' Q)).bilin x) y) =
  ((CliffordAlgebra.ι Q) x.1 + (algebraMap R (CliffordAlgebra Q)) x.2) *
    ((CliffordAlgebra.ι Q) y.1 - (algebraMap R (CliffordAlgebra Q)) y.2)
-- CliffordAlgebra.toEven_comp_ofEven
theorem toEven_comp_ofEven : (toEven Q).comp (ofEven Q) = AlgHom.id R _ 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M)
Goal: (CliffordAlgebra.toEven Q).comp (CliffordAlgebra.ofEven Q) =
  AlgHom.id R ↥(CliffordAlgebra.even (CliffordAlgebra.EquivEven.Q' Q))
-- CliffordAlgebra.ofEven_comp_toEven
theorem ofEven_comp_toEven : (ofEven Q).comp (toEven Q) = AlgHom.id R _ 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M)
Goal: (CliffordAlgebra.ofEven Q).comp (CliffordAlgebra.toEven Q) = AlgHom.id R (CliffordAlgebra Q)
-- CliffordAlgebra.coe_toEven_reverse_involute
theorem coe_toEven_reverse_involute (x : CliffordAlgebra Q) :
    ↑(toEven Q (reverse (involute x))) =
      reverse (Q := Q' Q) (toEven Q x : CliffordAlgebra (Q' Q)) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (x : CliffordAlgebra Q)
Goal: ↑((CliffordAlgebra.toEven Q) (CliffordAlgebra.reverse (CliffordAlgebra.involute x))) =
  CliffordAlgebra.reverse ↑((CliffordAlgebra.toEven Q) x)
-- CliffordAlgebra.evenToNeg_ι
@[simp, nolint simpNF]
theorem evenToNeg_ι (Q' : QuadraticForm R M) (h : Q' = -Q) (m₁ m₂ : M) :
    evenToNeg Q Q' h ((even.ι Q).bilin m₁ m₂) = -(even.ι Q').bilin m₁ m₂ 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q Q' : QuadraticForm R M) (h : Q' = -Q) (m₁ m₂ : M)
Goal: (CliffordAlgebra.evenToNeg Q Q' h) (((CliffordAlgebra.even.ι Q).bilin m₁) m₂) =
  -((CliffordAlgebra.even.ι Q').bilin m₁) m₂
-- CliffordAlgebra.evenToNeg_comp_evenToNeg
theorem evenToNeg_comp_evenToNeg (Q' : QuadraticForm R M) (h : Q' = -Q) (h' : Q = -Q') :
    (evenToNeg Q' Q h').comp (evenToNeg Q Q' h) = AlgHom.id R _ 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q Q' : QuadraticForm R M) (h : Q' = -Q) (h' : Q = -Q')
Goal: (CliffordAlgebra.evenToNeg Q' Q h').comp (CliffordAlgebra.evenToNeg Q Q' h) = AlgHom.id R ↥(CliffordAlgebra.even Q)
-- CliffordAlgebra.evenEquivEvenNeg_symm_apply
@[simps!]
def evenEquivEvenNeg : CliffordAlgebra.even Q ≃ₐ[R] CliffordAlgebra.even (-Q) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (a : ↥(CliffordAlgebra.even (-Q)))
Goal: (CliffordAlgebra.evenEquivEvenNeg Q).symm a = (CliffordAlgebra.evenToNeg (-Q) Q ⋯) a
-- CliffordAlgebra.evenEquivEvenNeg_apply
@[simps!]
def evenEquivEvenNeg : CliffordAlgebra.even Q ≃ₐ[R] CliffordAlgebra.even (-Q) 
Arguments: {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (a : ↥(CliffordAlgebra.even Q))
Goal: (CliffordAlgebra.evenEquivEvenNeg Q) a = (CliffordAlgebra.evenToNeg Q (-Q) ⋯) a
-- lineMap_inv_two
theorem lineMap_inv_two {R : Type*} {V P : Type*} [DivisionRing R] [CharZero R] [AddCommGroup V]
    [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (2⁻¹ : R) = midpoint R a b 
Arguments: {R : Type u_1} {V : Type u_2} {P : Type u_3} [DivisionRing R] [CharZero R] [AddCommGroup V] [Module R V] [AddTorsor V P] (a b : P)
Goal: (AffineMap.lineMap a b) 2⁻¹ = midpoint R a b
-- lineMap_one_half
theorem lineMap_one_half {R : Type*} {V P : Type*} [DivisionRing R] [CharZero R] [AddCommGroup V]
    [Module R V] [AddTorsor V P] (a b : P) : lineMap a b (1 / 2 : R) = midpoint R a b 
Arguments: {R : Type u_1} {V : Type u_2} {P : Type u_3} [DivisionRing R] [CharZero R] [AddCommGroup V] [Module R V] [AddTorsor V P] (a b : P)
Goal: (AffineMap.lineMap a b) (1 / 2) = midpoint R a b