File: Mathlib/Algebra/Group/ULift.lean

full_name: ULift.one
code: @[to_additive]
instance one [One α] : One (ULift α) 
goal: One (ULift.{u_2, u} α)

full_name: ULift.zero
code: @[to_additive]
instance one [One α] : One (ULift α) 
goal: Zero (ULift.{u_2, u} α)

full_name: ULift.zero_down
code: @[to_additive (attr := simp)]
theorem one_down [One α] : (1 : ULift α).down = 1 
goal: ULift.down 0 = 0

full_name: ULift.one_down
code: @[to_additive (attr := simp)]
theorem one_down [One α] : (1 : ULift α).down = 1 
goal: ULift.down 1 = 1

full_name: ULift.mul
code: @[to_additive]
instance mul [Mul α] : Mul (ULift α) 
goal: Mul (ULift.{u_2, u} α)

full_name: ULift.add
code: @[to_additive]
instance mul [Mul α] : Mul (ULift α) 
goal: Add (ULift.{u_2, u} α)

full_name: ULift.add_down
code: @[to_additive (attr := simp)]
theorem mul_down [Mul α] : (x * y).down = x.down * y.down 
goal: (x + y).down = x.down + y.down

full_name: ULift.mul_down
code: @[to_additive (attr := simp)]
theorem mul_down [Mul α] : (x * y).down = x.down * y.down 
goal: (x * y).down = x.down * y.down

full_name: ULift.div
code: @[to_additive]
instance div [Div α] : Div (ULift α) 
goal: Div (ULift.{u_2, u} α)

full_name: ULift.sub
code: @[to_additive]
instance div [Div α] : Div (ULift α) 
goal: Sub (ULift.{u_2, u} α)

full_name: ULift.sub_down
code: @[to_additive (attr := simp)]
theorem div_down [Div α] : (x / y).down = x.down / y.down 
goal: (x - y).down = x.down - y.down

full_name: ULift.div_down
code: @[to_additive (attr := simp)]
theorem div_down [Div α] : (x / y).down = x.down / y.down 
goal: (x / y).down = x.down / y.down

full_name: ULift.inv
code: @[to_additive]
instance inv [Inv α] : Inv (ULift α) 
goal: Inv (ULift.{u_2, u} α)

full_name: ULift.neg
code: @[to_additive]
instance inv [Inv α] : Inv (ULift α) 
goal: Neg (ULift.{u_2, u} α)

full_name: ULift.neg_down
code: @[to_additive (attr := simp)]
theorem inv_down [Inv α] : x⁻¹.down = x.down⁻¹ 
goal: (-x).down = -x.down

full_name: ULift.inv_down
code: @[to_additive (attr := simp)]
theorem inv_down [Inv α] : x⁻¹.down = x.down⁻¹ 
goal: x⁻¹.down = x.down⁻¹

full_name: ULift.smul
code: @[to_additive]
instance smul [SMul α β] : SMul α (ULift β) 
goal: SMul α (ULift.{u_2, u_1} β)

full_name: ULift.vadd
code: @[to_additive]
instance smul [SMul α β] : SMul α (ULift β) 
goal: VAdd α (ULift.{u_2, u_1} β)

full_name: ULift.vadd_down
code: @[to_additive (attr := simp)]
theorem smul_down [SMul α β] (a : α) (b : ULift.{v} β) : (a • b).down = a • b.down 
goal: (a +ᵥ b).down = a +ᵥ b.down

full_name: ULift.smul_down
code: @[to_additive (attr := simp)]
theorem smul_down [SMul α β] (a : α) (b : ULift.{v} β) : (a • b).down = a • b.down 
goal: (a • b).down = a • b.down

full_name: ULift.pow
code: @[to_additive existing (reorder := 1 2) smul]
instance pow [Pow α β] : Pow (ULift α) β 
goal: Pow (ULift.{u_2, u} α) β

full_name: ULift.pow_down
code: @[to_additive existing (attr := simp) (reorder := 1 2) smul_down]
theorem pow_down [Pow α β] (a : ULift.{v} α) (b : β) : (a ^ b).down = a.down ^ b 
goal: (a ^ b).down = a.down ^ b

full_name: MulEquiv.ulift
code: /-- The multiplicative equivalence between `ULift α` and `α`.
-/
@[to_additive "The additive equivalence between `ULift α` and `α`."]
def _root_.MulEquiv.ulift [Mul α] : ULift α ≃* α 
goal: ULift.{u_2, u} α ≃* α

full_name: AddEquiv.ulift
code: /-- The multiplicative equivalence between `ULift α` and `α`.
-/
@[to_additive "The additive equivalence between `ULift α` and `α`."]
def _root_.MulEquiv.ulift [Mul α] : ULift α ≃* α 
goal: ULift.{u_2, u} α ≃+ α

full_name: ULift.semigroup
code: instance semigroup [Semigroup α] : Semigroup (ULift α) 
goal: Semigroup (ULift.{u_2, u} α)

full_name: ULift.addSemigroup
code: instance addSemigroup [AddSemigroup α] : AddSemigroup (ULift α) 
goal: AddSemigroup (ULift.{u_2, u} α)

full_name: ULift.addCommSemigroup
code: @[to_additive]
instance commSemigroup [CommSemigroup α] : CommSemigroup (ULift α) 
goal: AddCommSemigroup (ULift.{u_2, u} α)

full_name: ULift.commSemigroup
code: @[to_additive]
instance commSemigroup [CommSemigroup α] : CommSemigroup (ULift α) 
goal: CommSemigroup (ULift.{u_2, u} α)

full_name: ULift.addZeroClass
code: @[to_additive]
instance mulOneClass [MulOneClass α] : MulOneClass (ULift α) 
goal: AddZeroClass (ULift.{u_2, u} α)

full_name: ULift.mulOneClass
code: @[to_additive]
instance mulOneClass [MulOneClass α] : MulOneClass (ULift α) 
goal: MulOneClass (ULift.{u_2, u} α)

full_name: ULift.monoid
code: @[to_additive]
instance monoid [Monoid α] : Monoid (ULift α) 
goal: Monoid (ULift.{u_2, u} α)

full_name: ULift.addMonoid
code: @[to_additive]
instance monoid [Monoid α] : Monoid (ULift α) 
goal: AddMonoid (ULift.{u_2, u} α)

full_name: ULift.commMonoid
code: @[to_additive]
instance commMonoid [CommMonoid α] : CommMonoid (ULift α) 
goal: CommMonoid (ULift.{u_2, u} α)

full_name: ULift.addCommMonoid
code: @[to_additive]
instance commMonoid [CommMonoid α] : CommMonoid (ULift α) 
goal: AddCommMonoid (ULift.{u_2, u} α)

full_name: ULift.instNatCast
code: instance instNatCast [NatCast α] : NatCast (ULift α) 
goal: NatCast (ULift.{u_2, u} α)

full_name: ULift.instIntCast
code: instance instIntCast [IntCast α] : IntCast (ULift α) 
goal: IntCast (ULift.{u_2, u} α)

full_name: ULift.up_natCast
code: @[simp, norm_cast]
theorem up_natCast [NatCast α] (n : ℕ) : up (n : α) = n 
goal: { down := ↑n } = ↑n

full_name: ULift.up_ofNat
code: @[simp]
theorem up_ofNat [NatCast α] (n : ℕ) [n.AtLeastTwo] :
    up (no_index (OfNat.ofNat n : α)) = OfNat.ofNat n 
goal: { down := OfNat.ofNat n } = OfNat.ofNat n

full_name: ULift.up_intCast
code: @[simp, norm_cast]
theorem up_intCast [IntCast α] (n : ℤ) : up (n : α) = n 
goal: { down := ↑n } = ↑n

full_name: ULift.down_natCast
code: @[simp, norm_cast]
theorem down_natCast [NatCast α] (n : ℕ) : down (n : ULift α) = n 
goal: (↑n).down = ↑n

full_name: ULift.down_ofNat
code: @[simp]
theorem down_ofNat [NatCast α] (n : ℕ) [n.AtLeastTwo] :
    down (no_index (OfNat.ofNat n : ULift α)) = OfNat.ofNat n 
goal: (OfNat.ofNat n).down = OfNat.ofNat n

full_name: ULift.down_intCast
code: @[simp, norm_cast]
theorem down_intCast [IntCast α] (n : ℤ) : down (n : ULift α) = n 
goal: (↑n).down = ↑n

full_name: ULift.addMonoidWithOne
code: instance addMonoidWithOne [AddMonoidWithOne α] : AddMonoidWithOne (ULift α) 
goal: AddMonoidWithOne (ULift.{u_2, u} α)

full_name: ULift.addCommMonoidWithOne
code: instance addCommMonoidWithOne [AddCommMonoidWithOne α] : AddCommMonoidWithOne (ULift α) 
goal: AddCommMonoidWithOne (ULift.{u_2, u} α)

full_name: ULift.subNegAddMonoid
code: @[to_additive]
instance divInvMonoid [DivInvMonoid α] : DivInvMonoid (ULift α) 
goal: SubNegMonoid (ULift.{u_2, u} α)

full_name: ULift.divInvMonoid
code: @[to_additive]
instance divInvMonoid [DivInvMonoid α] : DivInvMonoid (ULift α) 
goal: DivInvMonoid (ULift.{u_2, u} α)

full_name: ULift.group
code: @[to_additive]
instance group [Group α] : Group (ULift α) 
goal: Group (ULift.{u_2, u} α)

full_name: ULift.addGroup
code: @[to_additive]
instance group [Group α] : Group (ULift α) 
goal: AddGroup (ULift.{u_2, u} α)

full_name: ULift.commGroup
code: @[to_additive]
instance commGroup [CommGroup α] : CommGroup (ULift α) 
goal: CommGroup (ULift.{u_2, u} α)

full_name: ULift.addCommGroup
code: @[to_additive]
instance commGroup [CommGroup α] : CommGroup (ULift α) 
goal: AddCommGroup (ULift.{u_2, u} α)

full_name: ULift.addGroupWithOne
code: instance addGroupWithOne [AddGroupWithOne α] : AddGroupWithOne (ULift α) 
goal: AddGroupWithOne (ULift.{u_2, u} α)

full_name: ULift.addCommGroupWithOne
code: instance addCommGroupWithOne [AddCommGroupWithOne α] : AddCommGroupWithOne (ULift α) 
goal: AddCommGroupWithOne (ULift.{u_2, u} α)

full_name: ULift.addLeftCancelSemigroup
code: @[to_additive]
instance leftCancelSemigroup [LeftCancelSemigroup α] : LeftCancelSemigroup (ULift α) 
goal: AddLeftCancelSemigroup (ULift.{u_2, u} α)

full_name: ULift.leftCancelSemigroup
code: @[to_additive]
instance leftCancelSemigroup [LeftCancelSemigroup α] : LeftCancelSemigroup (ULift α) 
goal: LeftCancelSemigroup (ULift.{u_2, u} α)

full_name: ULift.rightCancelSemigroup
code: @[to_additive]
instance rightCancelSemigroup [RightCancelSemigroup α] : RightCancelSemigroup (ULift α) 
goal: RightCancelSemigroup (ULift.{u_2, u} α)

full_name: ULift.addRightCancelSemigroup
code: @[to_additive]
instance rightCancelSemigroup [RightCancelSemigroup α] : RightCancelSemigroup (ULift α) 
goal: AddRightCancelSemigroup (ULift.{u_2, u} α)

full_name: ULift.leftCancelMonoid
code: @[to_additive]
instance leftCancelMonoid [LeftCancelMonoid α] : LeftCancelMonoid (ULift α) 
goal: LeftCancelMonoid (ULift.{u_2, u} α)

full_name: ULift.addLeftCancelMonoid
code: @[to_additive]
instance leftCancelMonoid [LeftCancelMonoid α] : LeftCancelMonoid (ULift α) 
goal: AddLeftCancelMonoid (ULift.{u_2, u} α)

full_name: ULift.addRightCancelMonoid
code: @[to_additive]
instance rightCancelMonoid [RightCancelMonoid α] : RightCancelMonoid (ULift α) 
goal: AddRightCancelMonoid (ULift.{u_2, u} α)

full_name: ULift.rightCancelMonoid
code: @[to_additive]
instance rightCancelMonoid [RightCancelMonoid α] : RightCancelMonoid (ULift α) 
goal: RightCancelMonoid (ULift.{u_2, u} α)

full_name: ULift.cancelMonoid
code: @[to_additive]
instance cancelMonoid [CancelMonoid α] : CancelMonoid (ULift α) 
goal: CancelMonoid (ULift.{u_2, u} α)

full_name: ULift.addCancelMonoid
code: @[to_additive]
instance cancelMonoid [CancelMonoid α] : CancelMonoid (ULift α) 
goal: AddCancelMonoid (ULift.{u_2, u} α)

full_name: ULift.cancelCommMonoid
code: @[to_additive]
instance cancelCommMonoid [CancelCommMonoid α] : CancelCommMonoid (ULift α) 
goal: CancelCommMonoid (ULift.{u_2, u} α)

full_name: ULift.addCancelCommMonoid
code: @[to_additive]
instance cancelCommMonoid [CancelCommMonoid α] : CancelCommMonoid (ULift α) 
goal: AddCancelCommMonoid (ULift.{u_2, u} α)

full_name: ULift.nontrivial
code: instance nontrivial [Nontrivial α] : Nontrivial (ULift α) 
goal: Nontrivial (ULift.{u_2, u} α)