The category of quadratic modules #
The category of quadratic modules; modules with an associated quadratic form
- isAddCommGroup : AddCommGroup ↑self.toModuleCat
- isModule : Module R ↑self.toModuleCat
- form : QuadraticForm R ↑self.toModuleCat
The quadratic form associated with the module.
Instances For
@[instance_reducible]
instance QuadraticModuleCat.instCoeSortType {R : Type u} [CommRing R] :
CoeSort (QuadraticModuleCat R) (Type v)
Equations
- QuadraticModuleCat.instCoeSortType = { coe := fun (x : QuadraticModuleCat R) => ↑x.toModuleCat }
@[simp]
theorem QuadraticModuleCat.moduleCat_of_toModuleCat {R : Type u} [CommRing R] (X : QuadraticModuleCat R) :
@[reducible, inline]
abbrev QuadraticModuleCat.of {R : Type u} [CommRing R] {X : Type v} [AddCommGroup X] [Module R X] (Q : QuadraticForm R X) :
The object in the category of quadratic R-modules associated to a quadratic R-module.
Equations
- QuadraticModuleCat.of Q = { toModuleCat := ↧X, form := Q }
Instances For
A type alias for QuadraticForm.LinearIsometry to avoid confusion between the categorical and
algebraic spellings of composition.
The underlying isometry
Instances For
theorem QuadraticModuleCat.Hom.ext {R : Type u} {inst✝ : CommRing R} {V W : QuadraticModuleCat R} {x y : V.Hom W} (toIsometry' : x.toIsometry' = y.toIsometry') :
theorem QuadraticModuleCat.Hom.ext_iff {R : Type u} {inst✝ : CommRing R} {V W : QuadraticModuleCat R} {x y : V.Hom W} :
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
instance QuadraticModuleCat.concreteCategory {R : Type u} [CommRing R] :
CategoryTheory.ConcreteCategory (QuadraticModuleCat R) fun (V W : QuadraticModuleCat R) => V.form →qᵢ W.form
Equations
- One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev QuadraticModuleCat.Hom.toIsometry {R : Type u} [CommRing R] {X Y : QuadraticModuleCat R} (f : X.Hom Y) :
Turn a morphism in QuadraticModuleCat back into a Isometry.
Equations
Instances For
@[reducible, inline]
abbrev QuadraticModuleCat.ofHom {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} (f : Q₁ →qᵢ Q₂) :
Typecheck a QuadraticForm.Isometry as a morphism in Module R.
Instances For
theorem QuadraticModuleCat.Hom.toIsometry_injective {R : Type u} [CommRing R] (V W : QuadraticModuleCat R) :
theorem QuadraticModuleCat.hom_ext {R : Type u} [CommRing R] {M N : QuadraticModuleCat R} (f g : M ⟶ N) (h : Hom.toIsometry f = Hom.toIsometry g) :
theorem QuadraticModuleCat.hom_ext_iff {R : Type u} [CommRing R] {M N : QuadraticModuleCat R} {f g : M ⟶ N} :
@[simp]
theorem QuadraticModuleCat.toIsometry_comp {R : Type u} [CommRing R] {M N U : QuadraticModuleCat R} (f : M ⟶ N) (g : N ⟶ U) :
@[simp]
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[simp]
@[simp]
theorem QuadraticModuleCat.forget₂_map {R : Type u} [CommRing R] (X Y : QuadraticModuleCat R) (f : X ⟶ Y) :
def QuadraticModuleCat.ofIso {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 an isomorphism in the category QuadraticModuleCat R from a
QuadraticForm.IsometryEquiv.
Equations
- QuadraticModuleCat.ofIso e = { hom := QuadraticModuleCat.ofHom e.toIsometry, inv := QuadraticModuleCat.ofHom e.symm.toIsometry, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
@[simp]
theorem QuadraticModuleCat.ofIso_inv {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₂) :
@[simp]
theorem QuadraticModuleCat.ofIso_hom {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₂) :
@[simp]
theorem QuadraticModuleCat.ofIso_refl {R : Type u} [CommRing R] {X : Type v} [AddCommGroup X] [Module R X] {Q₁ : QuadraticForm R X} :
@[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₂) :
@[simp]
theorem QuadraticModuleCat.ofIso_trans {R : Type u} [CommRing R] {X Y Z : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y] [Module R Y] [AddCommGroup Z] [Module R Z] {Q₁ : QuadraticForm R X} {Q₂ : QuadraticForm R Y} {Q₃ : QuadraticForm R Z} (e : QuadraticMap.IsometryEquiv Q₁ Q₂) (f : QuadraticMap.IsometryEquiv Q₂ Q₃) :
def CategoryTheory.Iso.toIsometryEquiv {R : Type u} [CommRing R] {X Y : QuadraticModuleCat R} (i : X ≅ Y) :
Build a QuadraticForm.IsometryEquiv from an isomorphism in the category
QuadraticModuleCat R.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem CategoryTheory.Iso.toIsometryEquiv_invFun {R : Type u} [CommRing R] {X Y : QuadraticModuleCat R} (i : X ≅ Y) (a : ↑Y.toModuleCat) :
@[simp]
theorem CategoryTheory.Iso.toIsometryEquiv_toFun {R : Type u} [CommRing R] {X Y : QuadraticModuleCat R} (i : X ≅ Y) (a : ↑X.toModuleCat) :
@[simp]
theorem CategoryTheory.Iso.toIsometryEquiv_refl {R : Type u} [CommRing R] {X : QuadraticModuleCat R} :
@[simp]
theorem CategoryTheory.Iso.toIsometryEquiv_symm {R : Type u} [CommRing R] {X Y : QuadraticModuleCat R} (e : X ≅ Y) :
@[simp]
theorem CategoryTheory.Iso.toIsometryEquiv_trans {R : Type u} [CommRing R] {X Y Z : QuadraticModuleCat R} (e : X ≅ Y) (f : Y ≅ Z) :