Documentation

Mathlib.Algebra.Module.Presentation.Tautological

The tautological presentation of a module #

Given an A-module M, we provide its tautological presentation:

inductive Module.Presentation.tautological.R (A : Type u) (M : Type v) :
Type (max u v)

The type which parametrizes the tautological relations in an A-module M.

  • add {A : Type u} {M : Type v} (m₁ m₂ : M) : R A M
  • smul {A : Type u} {M : Type v} (a : A) (m : M) : R A M
Instances For
    noncomputable def Module.Presentation.tautologicalRelations (A : Type u) [Ring A] (M : Type v) [AddCommGroup M] [Module A M] :

    The system of equations corresponding to the tautological presentation of an A-module.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem Module.Presentation.tautologicalRelations_relation (A : Type u) [Ring A] (M : Type v) [AddCommGroup M] [Module A M] (x✝ : tautological.R A M) :
      (tautologicalRelations A M).relation x✝ = match x✝ with | tautological.R.add m₁ m₂ => Finsupp.single m₁ 1 + Finsupp.single m₂ 1 - Finsupp.single (m₁ + m₂) 1 | tautological.R.smul a m => a Finsupp.single m 1 - Finsupp.single (a m) 1

      Solutions of tautologicalRelations A M in an A-module N identify to M →ₗ[A] N.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem Module.Presentation.tautologicalSolution_var (A : Type u) [Ring A] (M : Type v) [AddCommGroup M] [Module A M] (a : M) :
        (tautologicalSolution A M).var a = a

        Any A-module admits a tautological presentation by generators and relations.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def Module.Presentation.tautological (A : Type u) [Ring A] (M : Type v) [AddCommGroup M] [Module A M] :

          The tautological presentation of any A-module M by generators and relations. There is a generator [m] for any element m : M, and there are two types of relations:

          • [m₁] + [m₂] - [m₁ + m₂] = 0
          • a • [m] - [a • m] = 0.
          Equations
          Instances For
            @[simp]
            theorem Module.Presentation.tautological_G (A : Type u) [Ring A] (M : Type v) [AddCommGroup M] [Module A M] :
            (tautological A M).G = M
            @[simp]
            theorem Module.Presentation.tautological_var (A : Type u) [Ring A] (M : Type v) [AddCommGroup M] [Module A M] (a : M) :
            (tautological A M).var a = a
            @[simp]
            theorem Module.Presentation.tautological_relation (A : Type u) [Ring A] (M : Type v) [AddCommGroup M] [Module A M] (r : (tautologicalRelations A M).R) :
            (tautological A M).relation r = match r with | tautological.R.add m₁ m₂ => Finsupp.single m₁ 1 + Finsupp.single m₂ 1 - Finsupp.single (m₁ + m₂) 1 | tautological.R.smul a m => Finsupp.single m a - Finsupp.single (a m) 1
            @[simp]