File: Mathlib/Data/ULift.lean

full_name: PLift.instSubsingleton_mathlib
code: instance [Subsingleton α] : Subsingleton (PLift α) 
goal: Subsingleton (PLift α)

full_name: PLift.instNonempty_mathlib
code: instance [Nonempty α] : Nonempty (PLift α) 
goal: Nonempty (PLift α)

full_name: PLift.instUnique
code: instance [Unique α] : Unique (PLift α) 
goal: Unique (PLift α)

full_name: PLift.instDecidableEq_mathlib
code: instance [DecidableEq α] : DecidableEq (PLift α) 
goal: DecidableEq (PLift α)

full_name: PLift.instIsEmpty
code: instance [IsEmpty α] : IsEmpty (PLift α) 
goal: IsEmpty (PLift α)

full_name: PLift.up_injective
code: theorem up_injective : Injective (@up α) 
goal: Function.Injective PLift.up

full_name: PLift.up_surjective
code: theorem up_surjective : Surjective (@up α) 
goal: Function.Surjective PLift.up

full_name: PLift.up_bijective
code: theorem up_bijective : Bijective (@up α) 
goal: Function.Bijective PLift.up

full_name: PLift.up_inj
code: @[simp]
theorem up_inj {x y : α} : up x = up y ↔ x = y 
goal: { down := x } = { down := y } ↔ x = y

full_name: PLift.down_surjective
code: theorem down_surjective : Surjective (@down α) 
goal: Function.Surjective PLift.down

full_name: PLift.down_bijective
code: theorem down_bijective : Bijective (@down α) 
goal: Function.Bijective PLift.down

full_name: PLift.forall
code: @[simp]
theorem «forall» {p : PLift α → Prop} : (∀ x, p x) ↔ ∀ x : α, p (PLift.up x) 
goal: (∀ (x : PLift α), p x) ↔ ∀ (x : α), p { down := x }

full_name: PLift.exists
code: @[simp]
theorem «exists» {p : PLift α → Prop} : (∃ x, p x) ↔ ∃ x : α, p (PLift.up x) 
goal: (∃ x, p x) ↔ ∃ x, p { down := x }

full_name: PLift.map_injective
code: @[simp] lemma map_injective : Injective (PLift.map f) ↔ Injective f 
goal: Function.Injective (PLift.map f) ↔ Function.Injective f

full_name: PLift.map_surjective
code: @[simp] lemma map_surjective : Surjective (PLift.map f) ↔ Surjective f 
goal: Function.Surjective (PLift.map f) ↔ Function.Surjective f

full_name: PLift.map_bijective
code: @[simp] lemma map_bijective : Bijective (PLift.map f) ↔ Bijective f 
goal: Function.Bijective (PLift.map f) ↔ Function.Bijective f

full_name: ULift.instSubsingleton_mathlib
code: instance [Subsingleton α] : Subsingleton (ULift α) 
goal: Subsingleton (ULift.{u_1, u} α)

full_name: ULift.instNonempty_mathlib
code: instance [Nonempty α] : Nonempty (ULift α) 
goal: Nonempty (ULift.{u_1, u} α)

full_name: ULift.instUnique
code: instance [Unique α] : Unique (ULift α) 
goal: Unique (ULift.{u_1, u} α)

full_name: ULift.instDecidableEq_mathlib
code: instance [DecidableEq α] : DecidableEq (ULift α) 
goal: DecidableEq (ULift.{u_1, u} α)

full_name: ULift.instIsEmpty
code: instance [IsEmpty α] : IsEmpty (ULift α) 
goal: IsEmpty (ULift.{u_1, u} α)

full_name: ULift.up_injective
code: theorem up_injective : Injective (@up α) 
goal: Function.Injective ULift.up

full_name: ULift.up_surjective
code: theorem up_surjective : Surjective (@up α) 
goal: Function.Surjective ULift.up

full_name: ULift.up_bijective
code: theorem up_bijective : Bijective (@up α) 
goal: Function.Bijective ULift.up

full_name: ULift.up_inj
code: @[simp]
theorem up_inj {x y : α} : up x = up y ↔ x = y 
goal: { down := x } = { down := y } ↔ x = y

full_name: ULift.down_surjective
code: theorem down_surjective : Surjective (@down α) 
goal: Function.Surjective ULift.down

full_name: ULift.down_bijective
code: theorem down_bijective : Bijective (@down α) 
goal: Function.Bijective ULift.down

full_name: ULift.forall
code: @[simp]
theorem «forall» {p : ULift α → Prop} : (∀ x, p x) ↔ ∀ x : α, p (ULift.up x) 
goal: (∀ (x : ULift.{u_1, u} α), p x) ↔ ∀ (x : α), p { down := x }

full_name: ULift.exists
code: @[simp]
theorem «exists» {p : ULift α → Prop} : (∃ x, p x) ↔ ∃ x : α, p (ULift.up x) 
goal: (∃ x, p x) ↔ ∃ x, p { down := x }

full_name: ULift.map_injective
code: @[simp] lemma map_injective : Injective (ULift.map f : ULift.{u'} α → ULift.{v'} β) ↔ Injective f 
goal: Function.Injective (ULift.map f) ↔ Function.Injective f

full_name: ULift.map_surjective
code: @[simp] lemma map_surjective :
    Surjective (ULift.map f : ULift.{u'} α → ULift.{v'} β) ↔ Surjective f 
goal: Function.Surjective (ULift.map f) ↔ Function.Surjective f

full_name: ULift.map_bijective
code: @[simp] lemma map_bijective : Bijective (ULift.map f : ULift.{u'} α → ULift.{v'} β) ↔ Bijective f 
goal: Function.Bijective (ULift.map f) ↔ Function.Bijective f

full_name: ULift.ext
code: @[ext]
theorem ext (x y : ULift α) (h : x.down = y.down) : x = y 
goal: x = y

full_name: ULift.ext_iff
code: theorem ext_iff {α : Type*} (x y : ULift α) : x = y ↔ x.down = y.down 
goal: x = y ↔ x.down = y.down