Documentation

Mathlib.Algebra.Module.ULift

ULift instances for module and multiplicative actions #

This file defines instances for module, mul_action and related structures on ULift types.

(Recall ULift α is just a "copy" of a type α in a higher universe.)

We also provide ULift.moduleEquiv : ULift M ≃ₗ[R] M.

instance ULift.smulLeft {R : Type u} {M : Type v} [SMul R M] :
Equations
    instance ULift.vaddLeft {R : Type u} {M : Type v} [VAdd R M] :
    Equations
      @[simp]
      theorem ULift.smul_def {R : Type u} {M : Type v} [SMul R M] (s : ULift.{u_1, u} R) (x : M) :
      s x = s.down x
      @[simp]
      theorem ULift.vadd_def {R : Type u} {M : Type v} [VAdd R M] (s : ULift.{u_1, u} R) (x : M) :
      s +ᵥ x = s.down +ᵥ x
      instance ULift.isScalarTower {R : Type u} {M : Type v} {N : Type w} [SMul R M] [SMul M N] [SMul R N] [IsScalarTower R M N] :
      instance ULift.isScalarTower' {R : Type u} {M : Type v} {N : Type w} [SMul R M] [SMul M N] [SMul R N] [IsScalarTower R M N] :
      instance ULift.isScalarTower'' {R : Type u} {M : Type v} {N : Type w} [SMul R M] [SMul M N] [SMul R N] [IsScalarTower R M N] :
      instance ULift.mulAction {R : Type u} {M : Type v} [Monoid R] [MulAction R M] :
      Equations
        instance ULift.addAction {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] :
        Equations
          instance ULift.mulAction' {R : Type u} {M : Type v} [Monoid R] [MulAction R M] :
          Equations
            instance ULift.addAction' {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] :
            Equations
              instance ULift.smulZeroClass {R : Type u} {M : Type v} [Zero M] [SMulZeroClass R M] :
              Equations
                instance ULift.smulZeroClass' {R : Type u} {M : Type v} [Zero M] [SMulZeroClass R M] :
                Equations
                  Equations
                    Equations
                      instance ULift.smulWithZero {R : Type u} {M : Type v} [Zero R] [Zero M] [SMulWithZero R M] :
                      Equations
                        instance ULift.smulWithZero' {R : Type u} {M : Type v} [Zero R] [Zero M] [SMulWithZero R M] :
                        Equations
                          instance ULift.module {R : Type u} {M : Type v} [Semiring R] [AddCommMonoid M] [Module R M] :
                          Equations
                            instance ULift.module' {R : Type u} {M : Type v} [Semiring R] [AddCommMonoid M] [Module R M] :
                            Equations

                              The R-linear equivalence between ULift M and M.

                              This is a linear version of AddEquiv.ulift.

                              Equations
                                Instances For
                                  @[simp]
                                  theorem ULift.moduleEquiv_symm_apply {R : Type u} {M : Type v} [Semiring R] [AddCommMonoid M] [Module R M] (down : M) :
                                  moduleEquiv.symm down = { down := down }
                                  @[simp]
                                  theorem ULift.moduleEquiv_apply {R : Type u} {M : Type v} [Semiring R] [AddCommMonoid M] [Module R M] (self : ULift.{w, v} M) :
                                  moduleEquiv self = self.down