case intro
α β ι : Type u
c : ι → Type v
⊢ lift (prod fun i => #c i) = prod fun i => lift ((fun i => #c i) i)
α β ι : Type u
c : ι → Cardinal
⊢ lift (prod c) = prod fun i => lift (c i)
lift c to ι → Type v using fun _ => trivial
case intro
α β ι : Type u
c : ι → Type v
⊢ (#ULift ((i : ι) → c i)) = (#(i : ι) → ULift (c i))
case intro
α β ι : Type u
c : ι → Type v
⊢ lift (prod fun i => #c i) = prod fun i => lift ((fun i => #c i) i)
simp only [← mk_pi, ← mk_uLift]
no goals
case intro
α β ι : Type u
c : ι → Type v
⊢ (#ULift ((i : ι) → c i)) = (#(i : ι) → ULift (c i))
exact mk_congr (Equiv.ulift.trans <| Equiv.piCongrRight fun i => Equiv.ulift.symm)