∀ (α : Type u_1) (β : Type u_2)
  (motive :
    ((bif false then ULift.{u_2, u_1} α else ULift.{max u_1 u_2, u_2} β) ↪
        bif true then ULift.{u_2, u_1} α else ULift.{max u_1 u_2, u_2} β) →
      Prop)
  (x :
    (bif false then ULift.{u_2, u_1} α else ULift.{max u_1 u_2, u_2} β) ↪
      bif true then ULift.{u_2, u_1} α else ULift.{max u_1 u_2, u_2} β),
  (∀
      (f :
        (bif false then ULift.{u_2, u_1} α else ULift.{max u_1 u_2, u_2} β) →
          bif true then ULift.{u_2, u_1} α else ULift.{max u_1 u_2, u_2} β)
      (hf : Function.Injective f), motive { toFun := f, inj' := hf }) →
    motive x