Documentation

Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat

The category of quadratic modules #

structure QuadraticModuleCat (R : Type u) [CommRing R] extends ModuleCat R :
Type (max u (v + 1))

The category of quadratic modules; modules with an associated quadratic form

Equations
  • QuadraticModuleCat.instCoeSortType = { coe := fun (x : QuadraticModuleCat R) => x.toModuleCat }
@[simp]
theorem QuadraticModuleCat.moduleCat_of_toModuleCat {R : Type u} [CommRing R] (X : QuadraticModuleCat R) :
ModuleCat.of R X.toModuleCat = X.toModuleCat

The object in the category of quadratic R-modules associated to a quadratic R-module.

Equations
@[simp]
theorem QuadraticModuleCat.of_form {R : Type u} [CommRing R] {X : Type v} [AddCommGroup X] [Module R X] (Q : QuadraticForm R X) :
structure QuadraticModuleCat.Hom {R : Type u} [CommRing R] (V W : QuadraticModuleCat R) :

A type alias for QuadraticForm.LinearIsometry to avoid confusion between the categorical and algebraic spellings of composition.

  • toIsometry : V.form →qᵢ W.form

    The underlying isometry

theorem QuadraticModuleCat.Hom.ext {R : Type u} {inst✝ : CommRing R} {V W : QuadraticModuleCat R} {x y : V.Hom W} (toIsometry : x.toIsometry = y.toIsometry) :
x = y
theorem QuadraticModuleCat.Hom.toIsometry_injective {R : Type u} [CommRing R] (V W : QuadraticModuleCat R) :
Function.Injective QuadraticModuleCat.Hom.toIsometry
theorem QuadraticModuleCat.hom_ext {R : Type u} [CommRing R] {M N : QuadraticModuleCat R} (f g : M N) (h : f.toIsometry = g.toIsometry) :
f = g
@[reducible, inline]
abbrev QuadraticModuleCat.ofHom {R : Type u} [CommRing R] {X : Type v} [AddCommGroup X] [Module R X] {Q₁ Q₂ : QuadraticForm R X} (f : Q₁ →qᵢ Q₂) :

Typecheck a QuadraticForm.Isometry as a morphism in Module R.

Equations
@[simp]
theorem QuadraticModuleCat.toIsometry_comp {R : Type u} [CommRing R] {M N U : QuadraticModuleCat R} (f : M N) (g : N U) :
(CategoryTheory.CategoryStruct.comp f g).toIsometry = g.toIsometry.comp f.toIsometry
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem QuadraticModuleCat.forget₂_map {R : Type u} [CommRing R] (X Y : QuadraticModuleCat R) (f : X Y) :
(CategoryTheory.forget₂ (QuadraticModuleCat R) (ModuleCat R)).map f = f.toIsometry.toLinearMap

Build an isomorphism in the category QuadraticModuleCat R from a QuadraticForm.IsometryEquiv.

Equations
  • QuadraticModuleCat.ofIso e = { hom := { toIsometry := e.toIsometry }, inv := { toIsometry := e.symm.toIsometry }, hom_inv_id := , inv_hom_id := }
@[simp]
theorem QuadraticModuleCat.ofIso_hom_toIsometry {R : Type u} [CommRing R] {X Y : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y] [Module R Y] {Q₁ : QuadraticForm R X} {Q₂ : QuadraticForm R Y} (e : QuadraticMap.IsometryEquiv Q₁ Q₂) :
(QuadraticModuleCat.ofIso e).hom.toIsometry = e.toIsometry
@[simp]
theorem QuadraticModuleCat.ofIso_inv_toIsometry {R : Type u} [CommRing R] {X Y : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y] [Module R Y] {Q₁ : QuadraticForm R X} {Q₂ : QuadraticForm R Y} (e : QuadraticMap.IsometryEquiv Q₁ Q₂) :
(QuadraticModuleCat.ofIso e).inv.toIsometry = e.symm.toIsometry
@[simp]
theorem QuadraticModuleCat.ofIso_symm {R : Type u} [CommRing R] {X Y : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y] [Module R Y] {Q₁ : QuadraticForm R X} {Q₂ : QuadraticForm R Y} (e : QuadraticMap.IsometryEquiv Q₁ Q₂) :

Build a QuadraticForm.IsometryEquiv from an isomorphism in the category QuadraticModuleCat R.

Equations
  • i.toIsometryEquiv = { toFun := i.hom.toIsometry, map_add' := , map_smul' := , invFun := i.inv.toIsometry, left_inv := , right_inv := , map_app' := }
@[simp]
theorem CategoryTheory.Iso.toIsometryEquiv_toFun {R : Type u} [CommRing R] {X Y : QuadraticModuleCat R} (i : X Y) (a : X.toModuleCat) :
i.toIsometryEquiv a = i.hom.toIsometry a
@[simp]
theorem CategoryTheory.Iso.toIsometryEquiv_invFun {R : Type u} [CommRing R] {X Y : QuadraticModuleCat R} (i : X Y) (a : Y.toModuleCat) :
i.toIsometryEquiv.invFun a = i.inv.toIsometry a
@[simp]
theorem CategoryTheory.Iso.toIsometryEquiv_symm {R : Type u} [CommRing R] {X Y : QuadraticModuleCat R} (e : X Y) :
e.symm.toIsometryEquiv = e.toIsometryEquiv.symm
@[simp]
theorem CategoryTheory.Iso.toIsometryEquiv_trans {R : Type u} [CommRing R] {X Y Z : QuadraticModuleCat R} (e : X Y) (f : Y Z) :
(e ≪≫ f).toIsometryEquiv = e.toIsometryEquiv.trans f.toIsometryEquiv