Documentation

Mathlib.Topology.Semicontinuity.Defs

Semicontinuous maps #

A function f from a topological space α to an ordered space β is lower semicontinuous at a point x if, for any y < f x, for any x' close enough to x, one has f x' > y. In other words, f can jump up, but it cannot jump down.

Upper semicontinuous functions are defined similarly. Upper and lower hemicontinuity (of functions f : α → Set β) are often defined in terms of sequential characterizations, but here we take an equivalent approach. f : α → Set β is upper hemicontinuous at x if for any neighborhood of f x, f x' is included in this neighborhood for all x' close enough to x.

Of course, one can see a superficial similarity between upper semicontinuity and upper hemicontinuity. In fact, we can unify all of upper and lower semicontinuity and also upper and lower hemicontinuity under one umbrella, by considering a general relation r : α → β → Prop and defining semicontinuity of this relation.

This file introduces these notions, and a basic API around them mimicking the API for continuous functions.

Main definitions and results #

We introduce 4 generic definitions related to semicontinuity:

We build a basic API using dot notation around these notions, and we prove that

We also define lower and upper semicontinuity as abbreviations of these generic definitions and transfer the generic results to these notions.

References #

Main definitions #

def SemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] (r : αβProp) (s : Set α) (x : α) :

A relation r : α → β → Prop is semicontinuous within s at x : α, if whenever r x y is true, it is also true for all x' sufficiently close to x within s.

This notion generalizes lower and upper semicontinuity of functions, as well as lower and upper hemicontinuity of set-valued correspondences.

Equations
Instances For
    def SemicontinuousOn {α : Type u_1} {β : Type u_2} [TopologicalSpace α] (r : αβProp) (s : Set α) :

    A relation r : α → β → Prop is semicontinuous on s if it is semicontinuous within s at each x ∈ s.

    Equations
    Instances For
      def SemicontinuousAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] (r : αβProp) (x : α) :

      A relation r : α → β → Prop is semicontinuous at x : α, if whenever r x y is true, it is also true for all x' sufficiently close to x.

      This notion generalizes lower and upper semicontinuity of functions, as well as lower and upper hemicontinuity of set-valued correspondences.

      Equations
      Instances For
        def Semicontinuous {α : Type u_1} {β : Type u_2} [TopologicalSpace α] (r : αβProp) :

        A relation r : α → β → Prop is semicontinuous if it is semicontinuous within s at each x : α.

        Equations
        Instances For
          theorem SemicontinuousWithinAt.mono {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} {x : α} {s t : Set α} (h : SemicontinuousWithinAt r s x) (hst : t s) :
          theorem SemicontinuousWithinAt.congr_of_eventuallyEq {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r r' : αβProp} {s : Set α} {a : α} (h : SemicontinuousWithinAt r s a) (has : a s) (hfg : ∀ᶠ (x : α) in nhdsWithin a s, ∀ (y : β), r x y r' x y) :
          theorem semicontinuousWithinAt_univ_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} {x : α} :
          theorem SemicontinuousAt.semicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} {x : α} (s : Set α) (h : SemicontinuousAt r x) :
          theorem SemicontinuousOn.semicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} {x : α} {s : Set α} (h : SemicontinuousOn r s) (hx : x s) :
          theorem SemicontinuousOn.mono {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} {s t : Set α} (h : SemicontinuousOn r s) (hst : t s) :
          theorem semicontinuousOn_univ_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} :
          @[simp]
          theorem semicontinuous_restrict_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} {s : Set α} :
          theorem Semicontinuous.semicontinuousAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} (h : Semicontinuous r) (x : α) :
          theorem Semicontinuous.semicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} (h : Semicontinuous r) (s : Set α) (x : α) :
          theorem Semicontinuous.semicontinuousOn {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} (h : Semicontinuous r) (s : Set α) :

          Constants #

          theorem SemicontinuousWithinAt.const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {x : α} {s : Set α} {f : βProp} :
          SemicontinuousWithinAt (fun (_x : α) => f) s x
          theorem SemicontinuousAt.const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {x : α} {f : βProp} :
          SemicontinuousAt (fun (_x : α) => f) x
          theorem SemicontinuousOn.const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {s : Set α} {f : βProp} :
          SemicontinuousOn (fun (_x : α) => f) s
          theorem Semicontinuous.const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {f : βProp} :
          Semicontinuous fun (_x : α) => f

          Precomposition with a continuous map #

          theorem SemicontinuousWithinAt.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] {r : αβProp} {x : γ} {g : γα} {s : Set γ} {t : Set α} (h : SemicontinuousWithinAt r t (g x)) (hg : ContinuousWithinAt g s x) (hst : Set.MapsTo g s t) :
          theorem SemicontinuousOn.comp {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} {γ : Type u_4} [TopologicalSpace γ] {g : γα} {s : Set γ} {t : Set α} (h : SemicontinuousOn r t) (hg : ContinuousOn g s) (hst : Set.MapsTo g s t) :
          theorem SemicontinuousAt.comp {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} {γ : Type u_4} [TopologicalSpace γ] {x : γ} {g : γα} (h : SemicontinuousAt r (g x)) (hg : ContinuousAt g x) :
          theorem Semicontinuous.comp {α : Type u_1} {β : Type u_2} [TopologicalSpace α] {r : αβProp} {γ : Type u_4} [TopologicalSpace γ] {g : γα} (h : Semicontinuous r) (hg : Continuous g) :

          Lower and Upper Semicontinuity #

          @[reducible, inline]
          abbrev LowerSemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] (f : αβ) (s : Set α) (x : α) :

          A real function f is lower semicontinuous at x within a set s if, for any ε > 0, for all x' close enough to x in s, then f x' is at least f x - ε. We formulate this in a general preordered space, using an arbitrary y < f x instead of f x - ε.

          Equations
          Instances For
            @[reducible, inline]
            abbrev LowerSemicontinuousOn {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] (f : αβ) (s : Set α) :

            A real function f is lower semicontinuous on a set s if, for any ε > 0, for any x ∈ s, for all x' close enough to x in s, then f x' is at least f x - ε. We formulate this in a general preordered space, using an arbitrary y < f x instead of f x - ε.

            Equations
            Instances For
              @[reducible, inline]
              abbrev LowerSemicontinuousAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] (f : αβ) (x : α) :

              A real function f is lower semicontinuous at x if, for any ε > 0, for all x' close enough to x, then f x' is at least f x - ε. We formulate this in a general preordered space, using an arbitrary y < f x instead of f x - ε.

              Equations
              Instances For
                @[reducible, inline]
                abbrev LowerSemicontinuous {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] (f : αβ) :

                A real function f is lower semicontinuous if, for any ε > 0, for any x, for all x' close enough to x, then f x' is at least f x - ε. We formulate this in a general preordered space, using an arbitrary y < f x instead of f x - ε.

                Equations
                Instances For
                  @[reducible, inline]
                  abbrev UpperSemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] (f : αβ) (s : Set α) (x : α) :

                  A real function f is upper semicontinuous at x within a set s if, for any ε > 0, for all x' close enough to x in s, then f x' is at most f x + ε. We formulate this in a general preordered space, using an arbitrary y > f x instead of f x + ε.

                  Equations
                  Instances For
                    @[reducible, inline]
                    abbrev UpperSemicontinuousOn {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] (f : αβ) (s : Set α) :

                    A real function f is upper semicontinuous on a set s if, for any ε > 0, for any x ∈ s, for all x' close enough to x in s, then f x' is at most f x + ε. We formulate this in a general preordered space, using an arbitrary y > f x instead of f x + ε.

                    Equations
                    Instances For
                      @[reducible, inline]
                      abbrev UpperSemicontinuousAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] (f : αβ) (x : α) :

                      A real function f is upper semicontinuous at x if, for any ε > 0, for all x' close enough to x, then f x' is at most f x + ε. We formulate this in a general preordered space, using an arbitrary y > f x instead of f x + ε.

                      Equations
                      Instances For
                        @[reducible, inline]
                        abbrev UpperSemicontinuous {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] (f : αβ) :

                        A real function f is upper semicontinuous if, for any ε > 0, for any x, for all x' close enough to x, then f x' is at most f x + ε. We formulate this in a general preordered space, using an arbitrary y > f x instead of f x + ε.

                        Equations
                        Instances For
                          theorem lowerSemicontinuousWithinAt_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {s : Set α} {x : α} :
                          LowerSemicontinuousWithinAt f s x y < f x, ∀ᶠ (x' : α) in nhdsWithin x s, y < f x'
                          theorem lowerSemicontinuousOn_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {s : Set α} :
                          theorem lowerSemicontinuousAt_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {x : α} :
                          LowerSemicontinuousAt f x y < f x, ∀ᶠ (x' : α) in nhds x, y < f x'
                          theorem lowerSemicontinuous_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} :
                          theorem upperSemicontinuousWithinAt_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {s : Set α} {x : α} :
                          UpperSemicontinuousWithinAt f s x ∀ (y : β), f x < y∀ᶠ (x' : α) in nhdsWithin x s, f x' < y
                          theorem upperSemicontinuousOn_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {s : Set α} :
                          theorem upperSemicontinuousAt_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {x : α} :
                          UpperSemicontinuousAt f x ∀ (y : β), f x < y∀ᶠ (x' : α) in nhds x, f x' < y
                          theorem upperSemicontinuous_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} :

                          Lower semicontinuous functions #

                          Basic dot notation interface for lower semicontinuity #

                          theorem LowerSemicontinuousWithinAt.mono {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {x : α} {s t : Set α} (h : LowerSemicontinuousWithinAt f s x) (hst : t s) :
                          theorem LowerSemicontinuousWithinAt.congr_of_eventuallyEq {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f g : αβ} {s : Set α} {a : α} (h : LowerSemicontinuousWithinAt f s a) (has : a s) (hfg : f =ᶠ[nhdsWithin a s] g) :
                          theorem LowerSemicontinuousAt.lowerSemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {x : α} (s : Set α) (h : LowerSemicontinuousAt f x) :
                          theorem LowerSemicontinuousOn.lowerSemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {x : α} {s : Set α} (h : LowerSemicontinuousOn f s) (hx : x s) :
                          theorem LowerSemicontinuousOn.mono {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {s t : Set α} (h : LowerSemicontinuousOn f s) (hst : t s) :
                          @[simp]
                          theorem lowerSemicontinuous_restrict_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {s : Set α} :
                          theorem LowerSemicontinuous.lowerSemicontinuousAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} (h : LowerSemicontinuous f) (x : α) :
                          theorem LowerSemicontinuous.lowerSemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} (h : LowerSemicontinuous f) (s : Set α) (x : α) :
                          theorem LowerSemicontinuous.lowerSemicontinuousOn {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} (h : LowerSemicontinuous f) (s : Set α) :

                          Constants #

                          theorem lowerSemicontinuousWithinAt_const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {x : α} {s : Set α} {z : β} :
                          LowerSemicontinuousWithinAt (fun (_x : α) => z) s x
                          theorem lowerSemicontinuousAt_const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {x : α} {z : β} :
                          LowerSemicontinuousAt (fun (_x : α) => z) x
                          theorem lowerSemicontinuousOn_const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {s : Set α} {z : β} :
                          LowerSemicontinuousOn (fun (_x : α) => z) s
                          theorem lowerSemicontinuous_const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {z : β} :
                          LowerSemicontinuous fun (_x : α) => z

                          Composition #

                          theorem LowerSemicontinuousWithinAt.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [Preorder β] {f : αβ} {s : Set α} {g : γα} {x : γ} {t : Set γ} (hf : LowerSemicontinuousWithinAt f s (g x)) (hg : ContinuousWithinAt g t x) (hg' : Set.MapsTo g t s) :
                          theorem LowerSemicontinuousAt.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [Preorder β] {f : αβ} {g : γα} {x : γ} (hf : LowerSemicontinuousAt f (g x)) (hg : ContinuousAt g x) :
                          theorem LowerSemicontinuousOn.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [Preorder β] {f : αβ} {s : Set α} {g : γα} {t : Set γ} (hf : LowerSemicontinuousOn f s) (hg : ContinuousOn g t) (hg' : Set.MapsTo g t s) :
                          theorem LowerSemicontinuous.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [Preorder β] {f : αβ} {g : γα} (hf : LowerSemicontinuous f) (hg : Continuous g) :

                          Upper semicontinuous functions #

                          Basic dot notation interface for upper semicontinuity #

                          theorem UpperSemicontinuousWithinAt.mono {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {x : α} {s t : Set α} (h : UpperSemicontinuousWithinAt f s x) (hst : t s) :
                          theorem UpperSemicontinuousWithinAt.congr_of_eventuallyEq {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f g : αβ} {s : Set α} {a : α} (h : UpperSemicontinuousWithinAt f s a) (has : a s) (hfg : ∀ᶠ (x : α) in nhdsWithin a s, f x = g x) :
                          @[simp]
                          theorem upperSemicontinuousOn_iff_restrict {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {s : Set α} :
                          theorem UpperSemicontinuousAt.upperSemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {x : α} (s : Set α) (h : UpperSemicontinuousAt f x) :
                          theorem UpperSemicontinuousOn.upperSemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {x : α} {s : Set α} (h : UpperSemicontinuousOn f s) (hx : x s) :
                          theorem UpperSemicontinuousOn.mono {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} {s t : Set α} (h : UpperSemicontinuousOn f s) (hst : t s) :
                          theorem UpperSemicontinuous.upperSemicontinuousAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} (h : UpperSemicontinuous f) (x : α) :
                          theorem UpperSemicontinuous.upperSemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} (h : UpperSemicontinuous f) (s : Set α) (x : α) :
                          theorem UpperSemicontinuous.upperSemicontinuousOn {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {f : αβ} (h : UpperSemicontinuous f) (s : Set α) :

                          Constants #

                          theorem upperSemicontinuousWithinAt_const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {x : α} {s : Set α} {z : β} :
                          UpperSemicontinuousWithinAt (fun (_x : α) => z) s x
                          theorem upperSemicontinuousAt_const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {x : α} {z : β} :
                          UpperSemicontinuousAt (fun (_x : α) => z) x
                          theorem upperSemicontinuousOn_const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {s : Set α} {z : β} :
                          UpperSemicontinuousOn (fun (_x : α) => z) s
                          theorem upperSemicontinuous_const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [Preorder β] {z : β} :
                          UpperSemicontinuous fun (_x : α) => z

                          Composition #

                          theorem UpperSemicontinuousWithinAt.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [Preorder β] {f : αβ} {s : Set α} {g : γα} {c : γ} {t : Set γ} (hf : UpperSemicontinuousWithinAt f s (g c)) (hg : ContinuousWithinAt g t c) (hg' : Set.MapsTo g t s) :
                          theorem UpperSemicontinuousAt.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [Preorder β] {f : αβ} {g : γα} {c : γ} (hf : UpperSemicontinuousAt f (g c)) (hg : ContinuousAt g c) :
                          theorem UpperSemicontinuousOn.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [Preorder β] {f : αβ} {s : Set α} {g : γα} {t : Set γ} (hf : UpperSemicontinuousOn f s) (hg : ContinuousOn g t) (hg' : Set.MapsTo g t s) :
                          theorem UpperSemicontinuous.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [Preorder β] {f : αβ} {g : γα} (hf : UpperSemicontinuous f) (hg : Continuous g) :

                          Lower and Upper Semicontinuity #

                          @[reducible, inline]
                          abbrev LowerHemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (f : αSet β) (s : Set α) (x : α) :

                          A function f : α → Set β is lower hemicontinuous at x within a set s if, whenever t is an open set intersecting f x, then t also intersects f x' for all x' sufficiently close to x within s.

                          Equations
                          Instances For
                            @[reducible, inline]
                            abbrev LowerHemicontinuousOn {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (f : αSet β) (s : Set α) :

                            A function f : α → Set β is lower hemicontinuous on a set s if, whenever x ∈ s and t is an open set intersecting f x, then t also intersects f x' for all x' sufficiently close to x within s.

                            Equations
                            Instances For
                              @[reducible, inline]
                              abbrev LowerHemicontinuousAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (f : αSet β) (x : α) :

                              A function f : α → Set β is lower hemicontinuous at x if, whenever t is an open set intersecting f x, then t also intersects f x' for all x' sufficiently close to x.

                              Equations
                              Instances For
                                @[reducible, inline]
                                abbrev LowerHemicontinuous {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (f : αSet β) :

                                A function f : α → Set β is lower hemicontinuous if, for any x, whenever t is an open set intersecting f x, then t also intersects f x' for all x' sufficiently close to x.

                                Equations
                                Instances For
                                  @[reducible, inline]
                                  abbrev UpperHemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (f : αSet β) (s : Set α) (x : α) :

                                  A function f : α → Set β is upper hemicontinuous at x within a set s if, whenever t is a neighborhood of f x, then t is a neighborhood of f x' for all x' sufficiently close to x within s.

                                  Equations
                                  Instances For
                                    @[reducible, inline]
                                    abbrev UpperHemicontinuousOn {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (f : αSet β) (s : Set α) :

                                    A function f : α → Set β is upper hemicontinuous on a set s if, whenever x ∈ s and t is a neighborhood of f x, then t is a neighborhood of f x' for all x' sufficiently close to x within s.

                                    Equations
                                    Instances For
                                      @[reducible, inline]
                                      abbrev UpperHemicontinuousAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (f : αSet β) (x : α) :

                                      A function f : α → Set β is upper hemicontinuous at x if, whenever t is a neighborhood of f x, then t is a neighborhood of f x' for all x' sufficiently close to x.

                                      Equations
                                      Instances For
                                        @[reducible, inline]
                                        abbrev UpperHemicontinuous {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (f : αSet β) :

                                        A function f : α → Set β is upper hemicontinuous if, for all x, whenever t is a neighborhood of f x, then t is a neighborhood of f x' for all x' sufficiently close to x.

                                        Equations
                                        Instances For
                                          theorem lowerHemicontinuousWithinAt_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {s : Set α} {x : α} :
                                          LowerHemicontinuousWithinAt f s x ∀ (u : Set β), IsOpen u(f x u).Nonempty∀ᶠ (x' : α) in nhdsWithin x s, (f x' u).Nonempty
                                          theorem lowerHemicontinuousOn_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {s : Set α} :
                                          theorem lowerHemicontinuousAt_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {x : α} :
                                          LowerHemicontinuousAt f x ∀ (u : Set β), IsOpen u(f x u).Nonempty∀ᶠ (x' : α) in nhds x, (f x' u).Nonempty
                                          theorem lowerHemicontinuous_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} :
                                          theorem upperHemicontinuousWithinAt_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {s : Set α} {x : α} :
                                          UpperHemicontinuousWithinAt f s x tnhdsSet (f x), ∀ᶠ (x' : α) in nhdsWithin x s, t nhdsSet (f x')
                                          theorem upperHemicontinuousOn_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {s : Set α} :
                                          theorem upperHemicontinuousAt_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {x : α} :
                                          UpperHemicontinuousAt f x tnhdsSet (f x), ∀ᶠ (x' : α) in nhds x, t nhdsSet (f x')
                                          theorem upperHemicontinuous_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} :

                                          Lower semicontinuous functions #

                                          Basic dot notation interface for lower semicontinuity #

                                          theorem LowerHemicontinuousWithinAt.mono {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {x : α} {s t : Set α} (h : LowerHemicontinuousWithinAt f s x) (hst : t s) :
                                          theorem LowerHemicontinuousWithinAt.congr_of_eventuallyEq {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f g : αSet β} {s : Set α} {a : α} (h : LowerHemicontinuousWithinAt f s a) (has : a s) (hfg : f =ᶠ[nhdsWithin a s] g) :
                                          theorem LowerHemicontinuousOn.lowerHemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {x : α} {s : Set α} (h : LowerHemicontinuousOn f s) (hx : x s) :
                                          theorem LowerHemicontinuousOn.mono {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {s t : Set α} (h : LowerHemicontinuousOn f s) (hst : t s) :
                                          @[simp]
                                          theorem lowerHemicontinuous_restrict_iff {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {s : Set α} :
                                          theorem LowerHemicontinuous.lowerHemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} (h : LowerHemicontinuous f) (s : Set α) (x : α) :

                                          Constants #

                                          theorem LowerHemicontinuousWithinAt.const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {x : α} {s : Set α} {z : Set β} :
                                          LowerHemicontinuousWithinAt (fun (_x : α) => z) s x
                                          theorem LowerHemicontinuousAt.const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {x : α} {z : Set β} :
                                          LowerHemicontinuousAt (fun (_x : α) => z) x
                                          theorem LowerHemicontinuousOn.const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {s : Set α} {z : Set β} :
                                          LowerHemicontinuousOn (fun (_x : α) => z) s
                                          theorem LowerHemicontinuous.const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {z : Set β} :
                                          LowerHemicontinuous fun (_x : α) => z

                                          Composition #

                                          theorem LowerHemicontinuousWithinAt.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [TopologicalSpace β] {f : αSet β} {s : Set α} {g : γα} {x : γ} {t : Set γ} (hf : LowerHemicontinuousWithinAt f s (g x)) (hg : ContinuousWithinAt g t x) (hg' : Set.MapsTo g t s) :
                                          theorem LowerHemicontinuousAt.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [TopologicalSpace β] {f : αSet β} {g : γα} {x : γ} (hf : LowerHemicontinuousAt f (g x)) (hg : ContinuousAt g x) :
                                          theorem LowerHemicontinuousOn.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [TopologicalSpace β] {f : αSet β} {s : Set α} {g : γα} {t : Set γ} (hf : LowerHemicontinuousOn f s) (hg : ContinuousOn g t) (hg' : Set.MapsTo g t s) :
                                          theorem LowerHemicontinuous.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [TopologicalSpace β] {f : αSet β} {g : γα} (hf : LowerHemicontinuous f) (hg : Continuous g) :

                                          Upper semicontinuous functions #

                                          Basic dot notation interface for upper semicontinuity #

                                          theorem UpperHemicontinuousWithinAt.mono {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {x : α} {s t : Set α} (h : UpperHemicontinuousWithinAt f s x) (hst : t s) :
                                          theorem UpperHemicontinuousWithinAt.congr_of_eventuallyEq {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f g : αSet β} {s : Set α} {a : α} (h : UpperHemicontinuousWithinAt f s a) (has : a s) (hfg : ∀ᶠ (x : α) in nhdsWithin a s, f x = g x) :
                                          @[simp]
                                          theorem UpperHemicontinuousOn.upperHemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {x : α} {s : Set α} (h : UpperHemicontinuousOn f s) (hx : x s) :
                                          theorem UpperHemicontinuousOn.mono {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} {s t : Set α} (h : UpperHemicontinuousOn f s) (hst : t s) :
                                          theorem UpperHemicontinuous.upperHemicontinuousWithinAt {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {f : αSet β} (h : UpperHemicontinuous f) (s : Set α) (x : α) :

                                          Constants #

                                          theorem UpperHemicontinuousWithinAt.const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {x : α} {s : Set α} {z : Set β} :
                                          UpperHemicontinuousWithinAt (fun (_x : α) => z) s x
                                          theorem UpperHemicontinuousAt.const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {x : α} {z : Set β} :
                                          UpperHemicontinuousAt (fun (_x : α) => z) x
                                          theorem UpperHemicontinuousOn.const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {s : Set α} {z : Set β} :
                                          UpperHemicontinuousOn (fun (_x : α) => z) s
                                          theorem UpperHemicontinuous.const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {z : Set β} :
                                          UpperHemicontinuous fun (_x : α) => z

                                          Composition #

                                          theorem UpperHemicontinuousWithinAt.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [TopologicalSpace β] {f : αSet β} {s : Set α} {g : γα} {c : γ} {t : Set γ} (hf : UpperHemicontinuousWithinAt f s (g c)) (hg : ContinuousWithinAt g t c) (hg' : Set.MapsTo g t s) :
                                          theorem UpperHemicontinuousAt.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [TopologicalSpace β] {f : αSet β} {g : γα} {c : γ} (hf : UpperHemicontinuousAt f (g c)) (hg : ContinuousAt g c) :
                                          theorem UpperHemicontinuousOn.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [TopologicalSpace β] {f : αSet β} {s : Set α} {g : γα} {t : Set γ} (hf : UpperHemicontinuousOn f s) (hg : ContinuousOn g t) (hg' : Set.MapsTo g t s) :
                                          theorem UpperHemicontinuous.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace γ] [TopologicalSpace β] {f : αSet β} {g : γα} (hf : UpperHemicontinuous f) (hg : Continuous g) :