Documentation

Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat

The category of quadratic modules #

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

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

  • carrier : Type v
  • isAddCommGroup : AddCommGroup self.toModuleCat
  • isModule : Module R self.toModuleCat
  • form : QuadraticForm R self.toModuleCat

    The quadratic form associated with the module.

Instances For
    Equations
    • QuadraticModuleCat.instCoeSortQuadraticModuleCatType = { coe := fun (x : QuadraticModuleCat R) => x.toModuleCat }
    @[simp]
    theorem QuadraticModuleCat.of_form {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
    Instances For
      theorem QuadraticModuleCat.Hom.ext {R : Type u} :
      ∀ {inst : CommRing R} {V W : QuadraticModuleCat R} (x y : QuadraticModuleCat.Hom V W), x.toIsometry = y.toIsometryx = y
      theorem QuadraticModuleCat.Hom.ext_iff {R : Type u} :
      ∀ {inst : CommRing R} {V W : QuadraticModuleCat R} (x y : QuadraticModuleCat.Hom V W), x = y x.toIsometry = y.toIsometry

      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

      Instances For
        Equations
        • QuadraticModuleCat.category = CategoryTheory.Category.mk
        theorem QuadraticModuleCat.hom_ext {R : Type u} [CommRing R] {M : QuadraticModuleCat R} {N : QuadraticModuleCat R} (f : M N) (g : M N) (h : f.toIsometry = g.toIsometry) :
        f = g
        @[inline, reducible]
        abbrev QuadraticModuleCat.ofHom {R : Type u} [CommRing R] {X : Type v} [AddCommGroup X] [Module R X] {Q₁ : QuadraticForm R X} {Q₂ : QuadraticForm R X} (f : Q₁ →qᵢ Q₂) :

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

        Equations
        Instances For
          @[simp]
          theorem QuadraticModuleCat.toIsometry_comp {R : Type u} [CommRing R] {M : QuadraticModuleCat R} {N : QuadraticModuleCat R} {U : QuadraticModuleCat R} (f : M N) (g : N U) :
          (CategoryTheory.CategoryStruct.comp f g).toIsometry = QuadraticForm.Isometry.comp g.toIsometry 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₂_obj {R : Type u} [CommRing R] (X : QuadraticModuleCat R) :
          (CategoryTheory.forget₂ (QuadraticModuleCat R) (ModuleCat R)).toPrefunctor.obj X = ModuleCat.of R X.toModuleCat
          @[simp]
          theorem QuadraticModuleCat.forget₂_map {R : Type u} [CommRing R] (X : QuadraticModuleCat R) (Y : QuadraticModuleCat R) (f : X Y) :
          (CategoryTheory.forget₂ (QuadraticModuleCat R) (ModuleCat R)).toPrefunctor.map f = f.toIsometry.toLinearMap
          def QuadraticModuleCat.ofIso {R : Type u} [CommRing R] {X : Type v} {Y : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y] [Module R Y] {Q₁ : QuadraticForm R X} {Q₂ : QuadraticForm R Y} (e : QuadraticForm.IsometryEquiv Q₁ Q₂) :

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

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem CategoryTheory.Iso.toIsometryEquiv_toFun {R : Type u} [CommRing R] {X : QuadraticModuleCat R} {Y : QuadraticModuleCat R} (i : X Y) (a : X.toModuleCat) :
            (CategoryTheory.Iso.toIsometryEquiv i) a = i.hom.toIsometry a
            @[simp]
            theorem CategoryTheory.Iso.toIsometryEquiv_invFun {R : Type u} [CommRing R] {X : QuadraticModuleCat R} {Y : QuadraticModuleCat R} (i : X Y) (a : Y.toModuleCat) :
            (CategoryTheory.Iso.toIsometryEquiv i).toLinearEquiv.invFun a = i.inv.toIsometry a

            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