Documentation

LeanPool.DomainTheory.Neighborhood.Theorem111

Theorem 1.11 (Scott 1981, PRG-19, ยง1) โ€” closure of |๐’Ÿ| under sequential โ‹‚ #

and ascending โ‹ƒ

If ๐’Ÿ is a neighbourhood system and xโ‚™ โˆˆ |๐’Ÿ| for n = 0, 1, 2, โ€ฆ, then

We realize each as a concrete Element:

Everything is constructive ([propext, Quot.sound]).

(i) Countable intersection. #

Theorem 1.11 (i). The intersection โ‹‚โ‚™ xโ‚™ = {X โˆฃ โˆ€ n, X โˆˆ xโ‚™} of a sequence of elements is again an element of |๐’Ÿ|. (No proviso: all of 1.6(i)โ€“(iii) are pointwise.)

Equations
  • V.iInter x = { mem := fun (X : Set ฮฑ) => โˆ€ (n : โ„•), (x n).mem X, sub := โ‹ฏ, master_mem := โ‹ฏ, inter_mem := โ‹ฏ, up_mem := โ‹ฏ }
Instances For
    @[simp]
    theorem Domain.Neighborhood.NeighborhoodSystem.mem_iInter {ฮฑ : Type u_1} (V : NeighborhoodSystem ฮฑ) (x : โ„• โ†’ V.Element) {X : Set ฮฑ} :
    (V.iInter x).mem X โ†” โˆ€ (n : โ„•), (x n).mem X
    theorem Domain.Neighborhood.NeighborhoodSystem.iInter_le {ฮฑ : Type u_1} (V : NeighborhoodSystem ฮฑ) (x : โ„• โ†’ V.Element) (n : โ„•) :

    โ‹‚โ‚™ xโ‚™ โŠ‘ xโ‚™: the intersection approximates every member of the sequence.

    theorem Domain.Neighborhood.NeighborhoodSystem.le_iInter {ฮฑ : Type u_1} (V : NeighborhoodSystem ฮฑ) (x : โ„• โ†’ V.Element) (y : V.Element) (h : โˆ€ (n : โ„•), y โ‰ค x n) :

    โ‹‚โ‚™ xโ‚™ is the greatest lower bound: anything approximating all xโ‚™ approximates โ‹‚โ‚™ xโ‚™.

    (ii) Ascending countable union. #

    def Domain.Neighborhood.NeighborhoodSystem.iUnion {ฮฑ : Type u_1} (V : NeighborhoodSystem ฮฑ) (x : โ„• โ†’ V.Element) (hmono : Monotone x) :

    Theorem 1.11 (ii). For an ascending sequence xโ‚€ โŠ‘ xโ‚ โŠ‘ โ‹ฏ, the union โ‹ƒโ‚™ xโ‚™ = {X โˆฃ โˆƒ n, X โˆˆ xโ‚™} is again an element of |๐’Ÿ|. The proviso (Monotone x) is used only in the intersection law: X โˆˆ xโ‚™, Y โˆˆ xโ‚˜ โŸน both in x_{max n m}.

    Equations
    • V.iUnion x hmono = { mem := fun (X : Set ฮฑ) => โˆƒ (n : โ„•), (x n).mem X, sub := โ‹ฏ, master_mem := โ‹ฏ, inter_mem := โ‹ฏ, up_mem := โ‹ฏ }
    Instances For
      @[simp]
      theorem Domain.Neighborhood.NeighborhoodSystem.mem_iUnion {ฮฑ : Type u_1} (V : NeighborhoodSystem ฮฑ) (x : โ„• โ†’ V.Element) (hmono : Monotone x) {X : Set ฮฑ} :
      (V.iUnion x hmono).mem X โ†” โˆƒ (n : โ„•), (x n).mem X
      theorem Domain.Neighborhood.NeighborhoodSystem.le_iUnion {ฮฑ : Type u_1} (V : NeighborhoodSystem ฮฑ) (x : โ„• โ†’ V.Element) (hmono : Monotone x) (n : โ„•) :
      x n โ‰ค V.iUnion x hmono

      xโ‚™ โŠ‘ โ‹ƒโ‚™ xโ‚™: every member of the sequence approximates the union.

      theorem Domain.Neighborhood.NeighborhoodSystem.iUnion_le {ฮฑ : Type u_1} (V : NeighborhoodSystem ฮฑ) (x : โ„• โ†’ V.Element) (hmono : Monotone x) (y : V.Element) (h : โˆ€ (n : โ„•), x n โ‰ค y) :
      V.iUnion x hmono โ‰ค y

      โ‹ƒโ‚™ xโ‚™ is the least upper bound: anything approximated by all xโ‚™ approximates the union from above.