Documentation

LeanPool.DomainTheory.Neighborhood.Proposition612

Lecture VI — Proposition 6.12 (Scott 1981, PRG-19): a subdomain yields a #

projection pair

Proposition 6.12. If DE, then there exists a projection pair of approximable mappings

i : DE and j : ED

with j ∘ i = I_D and i ∘ j ⊆ I_E, determined as element-wise functions by

i(x) = {Y ∈ E ∣ ∃ X ∈ x, X ⊆ Y} and j(y) = yD.

Scott leaves the proof "for the exercises". We give it directly at the level of the neighbourhood relations (Definition 2.1), which keeps everything choice-free.

The two laws are then short relational calculations:

The element-wise descriptions Scott records are Subsystem.toElementMap_inj and Subsystem.toElementMap_proj.

Everything here is choice-free (#print axioms ⊆ {propext, Quot.sound}).

The injection i : DE of Proposition 6.12. As a neighbourhood relation, X i Y ↔ XD ∧ Y ∈ EX ⊆ Y. Element-wise (see toElementMap_inj) it is Scott's i(x) = {Y ∈ E ∣ ∃ X ∈ x, X ⊆ Y}.

Equations
  • h.inj = { rel := fun (X Y : Set α) => D.mem X E.mem Y X Y, rel_dom := , rel_cod := , master_rel := , inter_right := , mono := }
Instances For
    @[simp]
    theorem Domain.Neighborhood.Subsystem.inj_rel {α : Type u_1} {D E : NeighborhoodSystem α} (h : D E) {X Y : Set α} :
    h.inj.rel X Y D.mem X E.mem Y X Y

    The projection j : ED of Proposition 6.12. As a neighbourhood relation, Y j X ↔ Y ∈ EXD ∧ Y ⊆ X. Element-wise (see toElementMap_proj) it is Scott's j(y) = yD. The inter_right law is exactly where Definition 6.10's consistency clause (inter_closed) is used.

    Equations
    • h.proj = { rel := fun (Y X : Set α) => E.mem Y D.mem X Y X, rel_dom := , rel_cod := , master_rel := , inter_right := , mono := }
    Instances For
      @[simp]
      theorem Domain.Neighborhood.Subsystem.proj_rel {α : Type u_1} {D E : NeighborhoodSystem α} (h : D E) {Y X : Set α} :
      h.proj.rel Y X E.mem Y D.mem X Y X
      theorem Domain.Neighborhood.Subsystem.toElementMap_inj {α : Type u_1} {D E : NeighborhoodSystem α} (h : D E) (x : D.Element) {Y : Set α} :
      (h.inj.toElementMap x).mem Y E.mem Y ∃ (X : Set α), x.mem X X Y

      Element-wise description of i (Scott's equation). i(x) = {Y ∈ E ∣ ∃ X ∈ x, X ⊆ Y}.

      theorem Domain.Neighborhood.Subsystem.toElementMap_proj {α : Type u_1} {D E : NeighborhoodSystem α} (h : D E) (y : E.Element) {X : Set α} :
      (h.proj.toElementMap y).mem X y.mem X D.mem X

      Element-wise description of j (Scott's equation). j(y) = yD: the neighbourhoods of j(y) are exactly the D-neighbourhoods that already belong to y.

      Proposition 6.12, first law: j ∘ i = I_D. Each side relates X and Z exactly when X, Z ∈ D and X ⊆ Z: a round trip X ⊆ Y ⊆ Z through an E-neighbourhood Y collapses to X ⊆ Z (forward), and X ⊆ Z factors through Y = Z (backward). Proved relationally, so choice-free.

      Proposition 6.12, second law: i ∘ j ⊆ I_E. A round trip Y ⊆ X ⊆ Y' through a common D-neighbourhood X is in particular Y ⊆ Y' on E. The reverse inclusion fails (not every consistent E-pair factors through D), so this is an inclusion of relations, not an equality.

      A projection pair (Definition 6.13 vocabulary). Bundles Scott's i, j together with the two laws, ready for reuse in monotone/continuous-on-domains functors and the existence Theorem 6.14.

      Instances For

        Proposition 6.12 (Scott 1981, PRG-19). Every subdomain relation DE gives rise to a projection pair i : DE, j : ED with j ∘ i = I_D and i ∘ j ⊆ I_E.

        Equations
        Instances For