Documentation

LeanPool.DomainTheory.Neighborhood.Exercise213

Exercise 2.13 (Scott 1981, PRG-19, ยง2) โ€” approximable maps are the #

continuous functions

EXERCISE 2.13. (For topologists.) Recall Exercise 1.22 where it was shown that any domain |๐’Ÿ| is a topological space. Prove from Exercise 2.9 that the functions f : |๐’Ÿโ‚€| โ†’ |๐’Ÿโ‚| determined by approximable mappings are exactly the continuous functions between these spaces.

This file closes the loop between the ยง2 theory of approximable mappings (Approximable.lean, ApproximableExercises.lean) and the Exercise 1.22 topology on |๐’Ÿ| (Exercise122.lean):

Together: f โ†ฆ toElementMap f and c โ†ฆ ofContinuous c exhibit approximable mappings ๐’Ÿโ‚€ โ†’ ๐’Ÿโ‚ and continuous functions |๐’Ÿโ‚€| โ†’ |๐’Ÿโ‚| as the same thing.

Choice-free apart from the ofMono/Exercise-2.9 ingredients (whose uniqueness companions are the only classical pieces).

theorem Domain.Neighborhood.ApproximableMap.continuous_toElementMap {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (f : ApproximableMap Vโ‚€ Vโ‚) :
Continuous fun (x : Vโ‚€.Element) => f.toElementMap x

Exercise 2.13 (forward). The elementwise function of an approximable mapping is continuous. For an open U and x with f(x) โˆˆ U, openness gives Y with Y โˆˆ f(x) and [Y] โІ U; unfolding Y โˆˆ f(x) produces X โˆˆ x with X f Y; then [X] โІ fโปยนU, since any x' โˆˆ [X] has Y โˆˆ f(x') (via X f Y).

theorem Domain.Neighborhood.NeighborhoodSystem.continuous_monotone {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} {c : Vโ‚€.Element โ†’ Vโ‚.Element} (hc : Continuous c) :

A continuous function between domains is monotone for the approximation order โŠ‘: this is because โŠ‘ is recoverable from the topology (le_iff_isOpen_imp) and continuous preimages of opens are open and upward closed (isOpen_isUpperSet).

theorem Domain.Neighborhood.NeighborhoodSystem.mem_iff_principal_of_continuous {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} {c : Vโ‚€.Element โ†’ Vโ‚.Element} (hc : Continuous c) (x : Vโ‚€.Element) {Y : Set ฮฒ} :
(c x).mem Y โ†” โˆƒ (X : Set ฮฑ) (hx : x.mem X), (c (Vโ‚€.principal โ‹ฏ)).mem Y

Exercise 2.13 โ€” Scott's union formula for a continuous map. For continuous c and any x โˆˆ |๐’Ÿโ‚€|: Y โˆˆ c(x) โ†” โˆƒ X โˆˆ x, Y โˆˆ c(โ†‘X).

  • โ†’ : cโปยน[[Y]] is open and contains x, so it contains a basic neighbourhood [X] with X โˆˆ x; since โ†‘X โˆˆ [X], Y โˆˆ c(โ†‘X).
  • โ† : โ†‘X โŠ‘ x and c monotone (continuous_monotone) give c(โ†‘X) โŠ‘ c(x), transporting Y.
def Domain.Neighborhood.ApproximableMap.ofContinuous {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (c : Vโ‚€.Element โ†’ Vโ‚.Element) (hc : Continuous c) :
ApproximableMap Vโ‚€ Vโ‚

Exercise 2.13 (reverse). The approximable mapping determined by a continuous function c: its action on the finite element โ†‘X is the value c(โ†‘X), extended to all of ๐’Ÿโ‚€ via ofMono. Monotonicity of X โ†ฆ c(โ†‘X) is continuous_monotone together with the inclusion-reversal X' โІ X โ†” โ†‘X โŠ‘ โ†‘X'.

Equations
Instances For
    theorem Domain.Neighborhood.ApproximableMap.toElementMap_ofContinuous {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (c : Vโ‚€.Element โ†’ Vโ‚.Element) (hc : Continuous c) (x : Vโ‚€.Element) :

    Exercise 2.13 โ€” the round trip. ofContinuous c hc induces exactly c: (ofContinuous c hc)(x) = c(x) for all x. Exercise 2.9 reduces f(x) to a union over finite approximants โ†‘X (X โˆˆ x), where ofMono evaluates to c(โ†‘X); the union formula mem_iff_principal_of_continuous then re-assembles c(x).