{X : Type u} →
  {motive : TopologicalSpace X → Sort u_1} →
    ((IsOpen : Set X → Prop) →
        (isOpen_univ : IsOpen Set.univ) →
          (isOpen_inter : ∀ (s t : Set X), IsOpen s → IsOpen t → IsOpen (s ∩ t)) →
            (isOpen_sUnion : ∀ (s : Set (Set X)), (∀ t ∈ s, IsOpen t) → IsOpen (⋃₀ s)) →
              motive
                { IsOpen := IsOpen, isOpen_univ := isOpen_univ, isOpen_inter := isOpen_inter,
                  isOpen_sUnion := isOpen_sUnion }) →
      (t : TopologicalSpace X) → motive t