∀ {J : Type u_1} (x y : CategoryTheory.Limits.WidePullbackShape J) (f : x ⟶ y),
  (match x, y,
      match y, x, f with
      | .(none), .(some j), CategoryTheory.Limits.WidePullbackShape.Hom.term j => PUnit.unit
      | y, .(y), CategoryTheory.Limits.WidePullbackShape.Hom.id .(y) =>
        CategoryTheory.CategoryStruct.id (CategoryTheory.WithTerminal.widePullbackShapeEquivObj✝ y) with
    | some x, some y, f => cast ⋯ (CategoryTheory.Limits.WidePullbackShape.Hom.id (some y))
    | none, some y, f => PEmpty.casesOn (fun t => f = t → (none ⟶ some y)) f ⋯
    | some x, none, f => CategoryTheory.Limits.WidePullbackShape.Hom.term x
    | none, none, f => CategoryTheory.Limits.WidePullbackShape.Hom.id none) =
    f