Documentation

Mathlib.Topology.Order.ScottTopology

Scott topology #

This file introduces the Scott topology on a preorder.

Main definitions #

Main statements #

Implementation notes #

A type synonym WithScott is introduced and for a preorder α, WithScott α is made an instance of TopologicalSpace by the scott topology.

We define a mixin class IsScott for the class of types which are both a preorder and a topology and where the topology is the scott topology. It is shown that WithScott α is an instance of IsScott.

A class Scott is defined in Topology/OmegaCompletePartialOrder and made an instance of a topological space by defining the open sets to be those which have characteristic functions which are monotone and preserve limits of countable chains (OmegaCompletePartialOrder.Continuous'). A Scott continuous function between OmegaCompletePartialOrders is always OmegaCompletePartialOrder.Continuous' (OmegaCompletePartialOrder.ScottContinuous.continuous'). The converse is true in some special cases, but not in general (Domain Theory, 2.2.4).

References #

Tags #

Scott topology, preorder

Prerequisite order properties #

def DirSupInaccOn {α : Type u_1} [Preorder α] (D : Set (Set α)) (s : Set α) :

A set s is said to be inaccessible by directed joins on D if, when the least upper bound of a directed set d in D lies in s then d has non-empty intersection with s.

Equations
Instances For
    def DirSupInacc {α : Type u_1} [Preorder α] (s : Set α) :

    A set s is said to be inaccessible by directed joins if, when the least upper bound of a directed set d lies in s then d has non-empty intersection with s.

    Equations
    Instances For
      @[simp]
      theorem dirSupInaccOn_univ {α : Type u_1} [Preorder α] {s : Set α} :
      @[simp]
      theorem DirSupInacc.dirSupInaccOn {α : Type u_1} [Preorder α] {s : Set α} {D : Set (Set α)} :
      theorem DirSupInaccOn.mono {α : Type u_1} [Preorder α] {s : Set α} {D₁ D₂ : Set (Set α)} (hD : D₁ D₂) (hf : DirSupInaccOn D₂ s) :
      def DirSupClosed {α : Type u_1} [Preorder α] (s : Set α) :

      A set s is said to be closed under directed joins if, whenever a directed set d has a least upper bound a and is a subset of s then a also lies in s.

      Equations
      Instances For
        @[simp]
        theorem dirSupInacc_compl {α : Type u_1} [Preorder α] {s : Set α} :
        @[simp]
        theorem dirSupClosed_compl {α : Type u_1} [Preorder α] {s : Set α} :
        theorem DirSupClosed.compl {α : Type u_1} [Preorder α] {s : Set α} :

        Alias of the reverse direction of dirSupInacc_compl.

        theorem DirSupInacc.of_compl {α : Type u_1} [Preorder α] {s : Set α} :

        Alias of the forward direction of dirSupInacc_compl.

        theorem DirSupInacc.compl {α : Type u_1} [Preorder α] {s : Set α} :

        Alias of the reverse direction of dirSupClosed_compl.

        theorem DirSupClosed.of_compl {α : Type u_1} [Preorder α] {s : Set α} :

        Alias of the forward direction of dirSupClosed_compl.

        theorem DirSupClosed.inter {α : Type u_1} [Preorder α] {s t : Set α} (hs : DirSupClosed s) (ht : DirSupClosed t) :
        theorem DirSupInacc.union {α : Type u_1} [Preorder α] {s t : Set α} (hs : DirSupInacc s) (ht : DirSupInacc t) :
        theorem IsUpperSet.dirSupClosed {α : Type u_1} [Preorder α] {s : Set α} (hs : IsUpperSet s) :
        theorem IsLowerSet.dirSupInacc {α : Type u_1} [Preorder α] {s : Set α} (hs : IsLowerSet s) :
        theorem dirSupClosed_Iic {α : Type u_1} [Preorder α] (a : α) :
        theorem dirSupInacc_iff_forall_sSup {α : Type u_1} [CompleteLattice α] {s : Set α} :
        DirSupInacc s ∀ ⦃d : Set α⦄, d.NonemptyDirectedOn (fun (x1 x2 : α) => x1 x2) dsSup d s(d s).Nonempty
        theorem dirSupClosed_iff_forall_sSup {α : Type u_1} [CompleteLattice α] {s : Set α} :
        DirSupClosed s ∀ ⦃d : Set α⦄, d.NonemptyDirectedOn (fun (x1 x2 : α) => x1 x2) dd ssSup d s

        Scott-Hausdorff topology #

        def Topology.scottHausdorff (α : Type u_3) (D : Set (Set α)) [Preorder α] :

        The Scott-Hausdorff topology.

        A set u is open in the Scott-Hausdorff topology iff when the least upper bound of a directed set d lies in u then there is a tail of d which is a subset of u.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          class Topology.IsScottHausdorff (α : Type u_1) (D : Set (Set α)) [Preorder α] [TopologicalSpace α] :

          Predicate for an ordered topological space to be equipped with its Scott-Hausdorff topology.

          A set u is open in the Scott-Hausdorff topology iff when the least upper bound of a directed set d lies in u then there is a tail of d which is a subset of u.

          Instances
            theorem Topology.IsScottHausdorff.isOpen_iff {α : Type u_1} {D : Set (Set α)} [Preorder α] [TopologicalSpace α] {s : Set α} [Topology.IsScottHausdorff α D] :
            IsOpen s ∀ ⦃d : Set α⦄, d Dd.NonemptyDirectedOn (fun (x1 x2 : α) => x1 x2) d∀ ⦃a : α⦄, IsLUB d aa sbd, Set.Ici b d s

            Scott topology #

            def Topology.scott (α : Type u_3) (D : Set (Set α)) [Preorder α] :

            The Scott topology.

            It is defined as the join of the topology of upper sets and the Scott-Hausdorff topology.

            Equations
            Instances For
              class Topology.IsScott (α : Type u_1) (D : Set (Set α)) [Preorder α] [TopologicalSpace α] :

              Predicate for an ordered topological space to be equipped with its Scott topology.

              The Scott topology is defined as the join of the topology of upper sets and the Scott Hausdorff topology.

              Instances
                theorem Topology.IsScott.topology_eq (α : Type u_1) (D : Set (Set α)) [Preorder α] [TopologicalSpace α] [Topology.IsScott α D] :
                inst✝ = Topology.scott α D
                theorem Topology.IsScott.isClosed_Iic {α : Type u_1} [Preorder α] [TopologicalSpace α] {a : α} [Topology.IsScott α Set.univ] :
                @[simp]
                theorem Topology.IsScott.closure_singleton {α : Type u_1} [Preorder α] [TopologicalSpace α] {a : α} [Topology.IsScott α Set.univ] :

                The closure of a singleton {a} in the Scott topology is the right-closed left-infinite interval (-∞,a].

                theorem Topology.IsScott.monotone_of_continuous {α : Type u_1} {β : Type u_2} {D : Set (Set α)} [Preorder α] [TopologicalSpace α] [Preorder β] [TopologicalSpace β] [Topology.IsScott β Set.univ] {f : αβ} [Topology.IsScott α D] (hf : Continuous f) :
                @[simp]
                theorem Topology.IsScott.scottContinuous_iff_continuous {α : Type u_1} {β : Type u_2} [Preorder α] [TopologicalSpace α] [Preorder β] [TopologicalSpace β] [Topology.IsScott β Set.univ] {f : αβ} {D : Set (Set α)} [Topology.IsScott α D] (hD : ∀ (a b : α), a b{a, b} D) :
                @[instance 90]

                The Scott topology on a partial order is T₀.

                theorem Topology.IsScott.isOpen_iff_Iic_compl_or_univ {α : Type u_1} [CompleteLinearOrder α] [TopologicalSpace α] [Topology.IsScott α Set.univ] (U : Set α) :
                IsOpen U U = Set.univ ∃ (a : α), (Set.Iic a) = U
                def Topology.WithScott (α : Type u_3) :
                Type u_3

                Type synonym for a preorder equipped with the Scott topology

                Equations
                Instances For
                  @[match_pattern]

                  toScott is the identity function to the WithScott of a type.

                  Equations
                  Instances For
                    @[match_pattern]

                    ofScott is the identity function from the WithScott of a type.

                    Equations
                    Instances For
                      @[simp]
                      theorem Topology.WithScott.toScott_symm_eq {α : Type u_1} :
                      Topology.WithScott.toScott.symm = Topology.WithScott.ofScott
                      @[simp]
                      theorem Topology.WithScott.ofScott_symm_eq {α : Type u_1} :
                      Topology.WithScott.ofScott.symm = Topology.WithScott.toScott
                      @[simp]
                      theorem Topology.WithScott.toScott_ofScott {α : Type u_1} (a : Topology.WithScott α) :
                      Topology.WithScott.toScott (Topology.WithScott.ofScott a) = a
                      @[simp]
                      theorem Topology.WithScott.ofScott_toScott {α : Type u_1} (a : α) :
                      Topology.WithScott.ofScott (Topology.WithScott.toScott a) = a
                      theorem Topology.WithScott.toScott_inj {α : Type u_1} {a b : α} :
                      Topology.WithScott.toScott a = Topology.WithScott.toScott b a = b
                      theorem Topology.WithScott.ofScott_inj {α : Type u_1} {a b : Topology.WithScott α} :
                      Topology.WithScott.ofScott a = Topology.WithScott.ofScott b a = b
                      def Topology.WithScott.rec {α : Type u_1} {β : Topology.WithScott αSort u_3} (h : (a : α) → β (Topology.WithScott.toScott a)) (a : Topology.WithScott α) :
                      β a

                      A recursor for WithScott. Use as induction x.

                      Equations
                      Instances For
                        Equations
                        • Topology.WithScott.instInhabited = inst✝
                        Equations
                        • Topology.WithScott.instPreorder = inst✝
                        Equations

                        If α is equipped with the Scott topology, then it is homeomorphic to WithScott α.

                        Equations
                        • Topology.IsScott.withScottHomeomorph = Topology.WithScott.ofScott.toHomeomorphOfIsInducing
                        Instances For