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.

    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₂ => ((fun₀ | m₁ => 1) + fun₀ | m₂ => 1) - fun₀ | m₁ + m₂ => 1 | tautological.R.smul a m => (a fun₀ | m => 1) - fun₀ | a m => 1

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

      Instances For

        The obvious solution of tautologicalRelations A M in the module M.

        Instances For

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

          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.
            Instances For
              @[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] (x✝ : tautological.R A M) :
              (tautological A M).relation x✝ = match x✝ with | tautological.R.add m₁ m₂ => ((fun₀ | m₁ => 1) + fun₀ | m₂ => 1) - fun₀ | m₁ + m₂ => 1 | tautological.R.smul a m => (fun₀ | m => a) - fun₀ | a m => 1
              @[simp]
              theorem Module.Presentation.tautological_G (A : Type u) [Ring A] (M : Type v) [AddCommGroup M] [Module A M] :
              (tautological A M).G = M