{ι : Type u_1} →
  {X : Type u_2} →
    {inst : TopologicalSpace X} →
      {u : ι → Set X} →
        {s : Set X} →
          {p : Set X → Prop} →
            {P : Sort u} →
              {toFun : ι → Set X} →
                {carrier : Set ι} →
                  {isOpen : ∀ (i : ι), IsOpen (toFun i)} →
                    {subset_iUnion : s ⊆ ⋃ i, toFun i} →
                      {closure_subset : ∀ {i : ι}, i ∈ carrier → closure (toFun i) ⊆ u i} →
                        {pred_of_mem : ∀ {i : ι}, i ∈ carrier → p (toFun i)} →
                          {apply_eq : ∀ {i : ι}, i ∉ carrier → toFun i = u i} →
                            {toFun' : ι → Set X} →
                              {carrier' : Set ι} →
                                {isOpen' : ∀ (i : ι), IsOpen (toFun' i)} →
                                  {subset_iUnion' : s ⊆ ⋃ i, toFun' i} →
                                    {closure_subset' : ∀ {i : ι}, i ∈ carrier' → closure (toFun' i) ⊆ u i} →
                                      {pred_of_mem' : ∀ {i : ι}, i ∈ carrier' → p (toFun' i)} →
                                        {apply_eq' : ∀ {i : ι}, i ∉ carrier' → toFun' i = u i} →
                                          { toFun := toFun, carrier := carrier, isOpen := isOpen,
                                                subset_iUnion := subset_iUnion, closure_subset := closure_subset,
                                                pred_of_mem := pred_of_mem, apply_eq := apply_eq } =
                                              { toFun := toFun', carrier := carrier', isOpen := isOpen',
                                                subset_iUnion := subset_iUnion', closure_subset := closure_subset',
                                                pred_of_mem := pred_of_mem', apply_eq := apply_eq' } →
                                            (toFun ≍ toFun' → carrier ≍ carrier' → P) → P