Documentation

Mathlib.Algebra.Group.ULift

ULift instances for groups and monoids #

This file defines instances for group, monoid, semigroup and related structures on ULift types.

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

We also provide MulEquiv.ulift : ULift R ≃* R (and its additive analogue).

instance ULift.zero {α : Type u} [Zero α] :
Equations
  • ULift.zero = { zero := { down := 0 } }
instance ULift.one {α : Type u} [One α] :
Equations
  • ULift.one = { one := { down := 1 } }
@[simp]
theorem ULift.zero_down {α : Type u} [Zero α] :
@[simp]
theorem ULift.one_down {α : Type u} [One α] :
instance ULift.add {α : Type u} [Add α] :
Equations
instance ULift.mul {α : Type u} [Mul α] :
Equations
@[simp]
theorem ULift.add_down {α : Type u} {x : ULift.{v, u} α} {y : ULift.{v, u} α} [Add α] :
(x + y).down = x.down + y.down
@[simp]
theorem ULift.mul_down {α : Type u} {x : ULift.{v, u} α} {y : ULift.{v, u} α} [Mul α] :
(x * y).down = x.down * y.down
instance ULift.sub {α : Type u} [Sub α] :
Equations
instance ULift.div {α : Type u} [Div α] :
Equations
@[simp]
theorem ULift.sub_down {α : Type u} {x : ULift.{v, u} α} {y : ULift.{v, u} α} [Sub α] :
(x - y).down = x.down - y.down
@[simp]
theorem ULift.div_down {α : Type u} {x : ULift.{v, u} α} {y : ULift.{v, u} α} [Div α] :
(x / y).down = x.down / y.down
instance ULift.neg {α : Type u} [Neg α] :
Equations
instance ULift.inv {α : Type u} [Inv α] :
Equations
@[simp]
theorem ULift.neg_down {α : Type u} {x : ULift.{v, u} α} [Neg α] :
(-x).down = -x.down
@[simp]
theorem ULift.inv_down {α : Type u} {x : ULift.{v, u} α} [Inv α] :
x⁻¹.down = x.down⁻¹
instance ULift.vadd {α : Type u} {β : Type u_1} [VAdd α β] :
Equations
instance ULift.smul {α : Type u} {β : Type u_1} [SMul α β] :
Equations
@[simp]
theorem ULift.vadd_down {α : Type u} {β : Type u_1} [VAdd α β] (a : α) (b : ULift.{v, u_1} β) :
(a +ᵥ b).down = a +ᵥ b.down
@[simp]
theorem ULift.smul_down {α : Type u} {β : Type u_1} [SMul α β] (a : α) (b : ULift.{v, u_1} β) :
(a b).down = a b.down
instance ULift.pow {α : Type u} {β : Type u_1} [Pow α β] :
Equations
@[simp]
theorem ULift.pow_down {α : Type u} {β : Type u_1} [Pow α β] (a : ULift.{v, u} α) (b : β) :
(a ^ b).down = a.down ^ b
def AddEquiv.ulift {α : Type u} [Add α] :

The additive equivalence between ULift α and α.

Equations
  • AddEquiv.ulift = { toEquiv := Equiv.ulift, map_add' := }
Instances For
    def MulEquiv.ulift {α : Type u} [Mul α] :

    The multiplicative equivalence between ULift α and α.

    Equations
    • MulEquiv.ulift = { toEquiv := Equiv.ulift, map_mul' := }
    Instances For
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      instance ULift.monoid {α : Type u} [Monoid α] :
      Equations
      Equations
      Equations
      instance ULift.instNatCast {α : Type u} [NatCast α] :
      Equations
      • ULift.instNatCast = { natCast := fun (x : ) => { down := x } }
      instance ULift.instIntCast {α : Type u} [IntCast α] :
      Equations
      • ULift.instIntCast = { intCast := fun (x : ) => { down := x } }
      @[simp]
      theorem ULift.up_natCast {α : Type u} [NatCast α] (n : ) :
      { down := n } = n
      @[simp]
      theorem ULift.up_ofNat {α : Type u} [NatCast α] (n : ) [n.AtLeastTwo] :
      { down := OfNat.ofNat n } = OfNat.ofNat n
      @[simp]
      theorem ULift.up_intCast {α : Type u} [IntCast α] (n : ) :
      { down := n } = n
      @[simp]
      theorem ULift.down_natCast {α : Type u} [NatCast α] (n : ) :
      (↑n).down = n
      @[simp]
      theorem ULift.down_ofNat {α : Type u} [NatCast α] (n : ) [n.AtLeastTwo] :
      @[simp]
      theorem ULift.down_intCast {α : Type u} [IntCast α] (n : ) :
      (↑n).down = n
      Equations
      Equations
      Equations
      instance ULift.addGroup {α : Type u} [AddGroup α] :
      Equations
      instance ULift.group {α : Type u} [Group α] :
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      Equations
      • =