Documentation

LeanPool.DomainTheory.Neighborhood.Proposition611

Lecture VI — Proposition 6.11 (Scott 1981, PRG-19): the subsystems of E form a #

domain

Proposition 6.11. For a given neighbourhood system E, the set of subsystems

{D ∣ D ◁ E}

forms a domain in its own right.

Scott derives this as a one-line corollary of the remark preceding it: the union of a directed family of subdomains of E is again a subdomain. We make this precise using the project's abstract representation theorem (Exercise 2.22, Exercise222.reprIso): a family C of sets that is closed under (i) non-empty intersection and (ii) directed union is order-isomorphic to a domain |reprSystem C| — exactly the route used for "the open sets form a domain" (Exercise 3.25) and "the function space is a domain" (Exercise 3.27).

The faithful translation runs as follows. A subsystem DE is, by NeighborhoodSystem.ext and the standing D.master = E.master, completely determined by its family of neighbourhoods {X ∣ D.mem X}. So we represent the poset ({D ∣ D ◁ E}, ◁) by the family

subFam E = { {X ∣ D.mem X} ∣ DE } ⊆ 𝒫(𝒫(Δ)),

ordered by . By Scott's remark (Subsystem.subsystem_iff_subset_of_common) the subdomain relation between two subsystems of E is just inclusion of their neighbourhood families, so ({D ∣ D ◁ E}, ◁) ≃o (subFam E, ⊆) (subIso). The two closure properties hold:

The capstone subsystemReprIso : {D ∣ D ◁ E} ≃o |reprSystem (subFam E) …| composes subIso with Exercise222.reprIso, witnessing that the subsystems of E are (isomorphic to) a domain.

Axioms. The combinatorial heart — subFam and its closure under intersection/union, the subsystem constructions interSys/unionSys, and subIso — is choice-free (#print axioms ⊆ {propext, Quot.sound}). The final subsystemReprIso inherits Classical.choice solely through Exercise 2.22's representation isomorphism (the "for set theorists" exercise, which picks witnesses of non-emptiness and uses finite-set induction), exactly as Exercise 3.27 does.

The representing family of neighbourhood-sets. #

The family of neighbourhood-sets of subdomains of E: a set of subsets of Δ lies in subFam E exactly when it is {X ∣ D.mem X} for some subsystem DE. This is the concrete family of sets that, by Exercise 2.22, represents {D ∣ D ◁ E} as a domain.

Equations
Instances For
    theorem Domain.Neighborhood.Proposition611.subFam_master_mem {α : Type u_1} (E : NeighborhoodSystem α) {𝒮 : Set (Set α)} (h : 𝒮 subFam E) :
    E.master 𝒮

    The master Δ = E.master belongs to the neighbourhood-set of any subdomain (a subsystem shares E's master and contains it).

    theorem Domain.Neighborhood.Proposition611.subFam_mem_E {α : Type u_1} (E : NeighborhoodSystem α) {𝒮 : Set (Set α)} {X : Set α} (h : 𝒮 subFam E) (hX : X 𝒮) :
    E.mem X

    Every member of a subdomain's neighbourhood-set is an E-neighbourhood (DE).

    theorem Domain.Neighborhood.Proposition611.subFam_inter_closed {α : Type u_1} (E : NeighborhoodSystem α) {𝒮 : Set (Set α)} {X Y : Set α} (h : 𝒮 subFam E) (hX : X 𝒮) (hY : Y 𝒮) (hXY : E.mem (X Y)) :
    X Y 𝒮

    Consistency is inherited from E (Definition 6.10's essential clause): if X, Y lie in a subdomain's neighbourhood-set and X ∩ Y ∈ E, then X ∩ Y lies in it too.

    subFam E is non-empty: E itself is a subsystem (Subsystem.refl), so its own neighbourhood-set {X ∣ E.mem X} is a member.

    Closure under non-empty intersection. #

    def Domain.Neighborhood.Proposition611.interSys {α : Type u_1} (E : NeighborhoodSystem α) ( : Set (Set (Set α))) (hne : .Nonempty) (hℱ : subFam E) :

    The intersection subdomain of a non-empty family of subdomain neighbourhood-sets: its neighbourhoods are the sets common to every member of .

    Equations
    Instances For
      theorem Domain.Neighborhood.Proposition611.interSys_subsystem {α : Type u_1} (E : NeighborhoodSystem α) ( : Set (Set (Set α))) (hne : .Nonempty) (hℱ : subFam E) :
      interSys E hne hℱ E

      The intersection subdomain is a subsystem of E.

      theorem Domain.Neighborhood.Proposition611.interSys_nbset {α : Type u_1} (E : NeighborhoodSystem α) ( : Set (Set (Set α))) (hne : .Nonempty) (hℱ : subFam E) :
      {X : Set α | (interSys E hne hℱ).mem X} = ⋂₀

      The neighbourhood-set of the intersection subdomain is exactly ⋂₀ ℱ.

      theorem Domain.Neighborhood.Proposition611.subFam_sInter_mem {α : Type u_1} (E : NeighborhoodSystem α) ( : Set (Set (Set α))) (hne : .Nonempty) (hℱ : subFam E) :

      Closure under non-empty intersection (Exercise 2.22's hypothesis (i)).

      Closure under directed union (Scott's remark). #

      def Domain.Neighborhood.Proposition611.unionSys {α : Type u_1} (E : NeighborhoodSystem α) ( : Set (Set (Set α))) (hne : .Nonempty) (hℱ : subFam E) (hdir : DirectedOn (fun (x1 x2 : Set (Set α)) => x1 x2) ) :

      The union subdomain of a directed family of subdomain neighbourhood-sets: its neighbourhoods are those lying in some member of . Directedness is what makes this closed under consistent intersection.

      Equations
      Instances For
        theorem Domain.Neighborhood.Proposition611.unionSys_subsystem {α : Type u_1} (E : NeighborhoodSystem α) ( : Set (Set (Set α))) (hne : .Nonempty) (hℱ : subFam E) (hdir : DirectedOn (fun (x1 x2 : Set (Set α)) => x1 x2) ) :
        unionSys E hne hℱ hdir E

        The union subdomain is a subsystem of E (Scott's remark: the directed union of subdomains is again a subdomain).

        theorem Domain.Neighborhood.Proposition611.unionSys_nbset {α : Type u_1} (E : NeighborhoodSystem α) ( : Set (Set (Set α))) (hne : .Nonempty) (hℱ : subFam E) (hdir : DirectedOn (fun (x1 x2 : Set (Set α)) => x1 x2) ) :
        {X : Set α | (unionSys E hne hℱ hdir).mem X} = ⋃₀

        The neighbourhood-set of the union subdomain is exactly ⋃₀ ℱ.

        theorem Domain.Neighborhood.Proposition611.subFam_sUnion_mem {α : Type u_1} (E : NeighborhoodSystem α) ( : Set (Set (Set α))) (hne : .Nonempty) (hℱ : subFam E) (hdir : DirectedOn (fun (x1 x2 : Set (Set α)) => x1 x2) ) :

        Closure under directed union (Exercise 2.22's hypothesis (ii)) — Scott's remark.

        The poset of subsystems and its representation. #

        @[implicit_reducible]

        The subsystems of E, ordered by the subdomain relation , form a partial order (reflexive, transitive, antisymmetric — Definition 6.10's API).

        Equations
        • One or more equations did not get rendered due to their size.

        Rebuild a subsystem of E from its neighbourhood-set 𝒮 ∈ subFam E. The data (the mem predicate · ∈ 𝒮 and the master E.master) depends only on 𝒮; the proof obligations are discharged from subFam membership.

        Equations
        Instances For
          theorem Domain.Neighborhood.Proposition611.ofMem_subsystem {α : Type u_1} (E : NeighborhoodSystem α) (𝒮 : Set (Set α)) (h : 𝒮 subFam E) :
          ofMem E 𝒮 h E

          ofMem lands in the subsystems of E.

          The poset of subsystems is the family subFam E. The subsystems of E, ordered by , are order-isomorphic to subFam E ordered by . A subsystem is sent to its family of neighbourhoods {X ∣ D.mem X}, and recovered by ofMem; order is preserved and reflected by Scott's remark Subsystem.subsystem_iff_subset_of_common.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            Proposition 6.11 (Scott 1981, PRG-19). For a neighbourhood system E, the set of subsystems {D ∣ D ◁ E}, ordered by the subdomain relation , forms a domain in its own right: it is order-isomorphic to the domain |reprSystem (subFam E) …| produced by the abstract representation theorem (Exercise 2.22), using that subFam E is closed under non-empty intersections (subFam_sInter_mem) and directed unions (Scott's remark, subFam_sUnion_mem).

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For