Documentation

Mathlib.Order.ScottContinuity

Scott continuity #

A function f : α → β between preorders is Scott continuous (referring to Dana Scott) if it distributes over IsLUB. Scott continuity corresponds to continuity in Scott topological spaces (defined in Mathlib/Topology/Order/ScottTopology.lean). It is distinct from the (more commonly used) continuity from topology (see Mathlib/Topology/Basic.lean).

Implementation notes #

Given a set D of directed sets, we define say f is ScottContinuousOn D if it distributes over IsLUB for all elements of D. This allows us to consider Scott Continuity on all directed sets in this file, and ωScott Continuity on chains later in Mathlib/Order/OmegaCompletePartialOrder.lean.

References #

def ScottContinuousOn {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (D : Set (Set α)) (f : αβ) :

A function between preorders is said to be Scott continuous on a set D of directed sets if it preserves IsLUB on elements of D.

The dual notion

∀ ⦃d : Set α⦄, d ∈ D →  d.NonemptyDirectedOn (· ≥ ·) d → ∀ ⦃a⦄, IsGLB d a → IsGLB (f '' d) (f a)

does not appear to play a significant role in the literature, so is omitted here.

Equations
    Instances For
      theorem ScottContinuousOn.mono {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {D₁ D₂ : Set (Set α)} {f : αβ} (hD : D₁ D₂) (hf : ScottContinuousOn D₂ f) :
      theorem ScottContinuousOn.monotone {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : αβ} (D : Set (Set α)) (hD : ∀ (a b : α), a b{a, b} D) (h : ScottContinuousOn D f) :
      @[simp]
      theorem ScottContinuousOn.fun_id {α : Type u_1} [Preorder α] {D : Set (Set α)} :
      ScottContinuousOn D fun (x : α) => x

      Eta-expanded form of ScottContinuousOn.id

      @[simp]
      theorem ScottContinuousOn.const {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {D : Set (Set α)} (x : β) :
      @[simp]
      theorem ScottContinuousOn.fun_const {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {D : Set (Set α)} (x : β) :
      ScottContinuousOn D fun (x_1 : α) => x

      Eta-expanded form of ScottContinuousOn.const

      theorem ScottContinuousOn.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Preorder α] [Preorder β] [Preorder γ] {D : Set (Set α)} {f : αβ} {g : βγ} {D' : Set (Set β)} (hD : ∀ (a b : α), a b{a, b} D) (hD' : Set.MapsTo (fun (x : Set α) => f '' x) D D') (hg : ScottContinuousOn D' g) (hf : ScottContinuousOn D f) :
      theorem ScottContinuousOn.fun_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Preorder α] [Preorder β] [Preorder γ] {D : Set (Set α)} {f : αβ} {g : βγ} {D' : Set (Set β)} (hD : ∀ (a b : α), a b{a, b} D) (hD' : Set.MapsTo (fun (x : Set α) => f '' x) D D') (hg : ScottContinuousOn D' g) (hf : ScottContinuousOn D f) :
      ScottContinuousOn D fun (x : α) => g (f x)

      Eta-expanded form of ScottContinuousOn.comp

      theorem ScottContinuousOn.image_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Preorder α] [Preorder β] [Preorder γ] {D : Set (Set α)} {f : αβ} {g : βγ} (hD : ∀ (a b : α), a b{a, b} D) (hg : ScottContinuousOn ((fun (x : Set α) => f '' x) '' D) g) (hf : ScottContinuousOn D f) :
      theorem ScottContinuousOn.fun_image_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Preorder α] [Preorder β] [Preorder γ] {D : Set (Set α)} {f : αβ} {g : βγ} (hD : ∀ (a b : α), a b{a, b} D) (hg : ScottContinuousOn ((fun (x : Set α) => f '' x) '' D) g) (hf : ScottContinuousOn D f) :
      ScottContinuousOn D fun (x : α) => g (f x)

      Eta-expanded form of ScottContinuousOn.image_comp

      theorem ScottContinuousOn.prodMk {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Preorder α] [Preorder β] [Preorder γ] {D : Set (Set α)} {f : αβ} {g : αγ} (hD : ∀ (a b : α), a b{a, b} D) (hf : ScottContinuousOn D f) (hg : ScottContinuousOn D g) :
      ScottContinuousOn D fun (x : α) => (f x, g x)
      @[simp]
      theorem ScottContinuousOn.fst {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {D : Set (Set (α × β))} :
      @[simp]
      theorem ScottContinuousOn.snd {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {D : Set (Set (α × β))} :
      def ScottContinuous {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (f : αβ) :

      A function between preorders is said to be Scott continuous if it preserves IsLUB on directed sets. It can be shown that a function is Scott continuous if and only if it is continuous w.r.t. the Scott topology.

      Equations
        Instances For
          @[simp]
          theorem scottContinuousOn_univ {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : αβ} :
          theorem ScottContinuous.scottContinuousOn {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : αβ} {D : Set (Set α)} :
          theorem ScottContinuous.monotone {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : αβ} (h : ScottContinuous f) :
          @[simp]
          theorem ScottContinuous.fun_id {α : Type u_1} [Preorder α] :
          ScottContinuous fun (x : α) => x

          Eta-expanded form of ScottContinuous.id

          @[simp]
          theorem ScottContinuous.const {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (x : β) :
          @[simp]
          theorem ScottContinuous.fun_const {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (x : β) :
          ScottContinuous fun (x_1 : α) => x

          Eta-expanded form of ScottContinuous.const

          theorem ScottContinuous.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Preorder α] [Preorder β] [Preorder γ] {f : αβ} {g : βγ} (hf : ScottContinuous f) (hg : ScottContinuous g) :
          theorem ScottContinuous.fun_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Preorder α] [Preorder β] [Preorder γ] {f : αβ} {g : βγ} (hf : ScottContinuous f) (hg : ScottContinuous g) :
          ScottContinuous fun (x : α) => g (f x)

          Eta-expanded form of ScottContinuous.comp

          theorem ScottContinuous.prodMk {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Preorder α] [Preorder β] [Preorder γ] {f : αβ} {g : αγ} (hf : ScottContinuous f) (hg : ScottContinuous g) :
          ScottContinuous fun (x : α) => (f x, g x)
          @[simp]
          theorem ScottContinuous.fst {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] :
          @[simp]
          theorem ScottContinuous.snd {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] :
          theorem ScottContinuous.sup₂ {β : Type u_2} [SemilatticeSup β] :
          ScottContinuous fun (b : β × β) => b.1b.2

          The join operation is Scott continuous

          theorem ScottContinuousOn.sup₂ {β : Type u_2} [SemilatticeSup β] {D : Set (Set (β × β))} :
          ScottContinuousOn D fun (x : β × β) => match x with | (a, b) => ab