Documentation

LeanPool.DomainTheory.Neighborhood.Exercise127

Exercise 1.27 (Scott 1981, PRG-19, ยง1) โ€” bounded sets and least upper bounds #

Scott introduces bounded sets of elements as the analogue, for |๐’Ÿ|, of consistent sequences of neighbourhoods. A set X โІ |๐’Ÿ| is bounded iff it has an upper bound y โˆˆ |๐’Ÿ| (x โŠ‘ y for all x โˆˆ X), and then

โŠ”X = โ‹‚ {y โˆฃ x โŠ‘ y for all x โˆˆ X}

is its least upper bound. This file formalizes:

The constructions (sSup) are [propext, Quot.sound]. The hard direction of bounded_iff_finite_bounded selects a finite witness set via Classical.choice; this is a proof, so the construction stays choice-free.

Exercise 1.27 โ€” bounded set of elements. X โІ |๐’Ÿ| is bounded iff it has an upper bound y โˆˆ |๐’Ÿ|: x โŠ‘ y for all x โˆˆ X.

Equations
Instances For

    The family of upper bounds of X: {y โˆฃ x โŠ‘ y for all x โˆˆ X}.

    Equations
    Instances For

      If X is bounded then its upper-bound family is non-empty (it contains the witness).

      def Domain.Neighborhood.NeighborhoodSystem.sSup {ฮฑ : Type u_1} (V : NeighborhoodSystem ฮฑ) (X : Set V.Element) (hX : V.Bounded X) :

      Exercise 1.27 โ€” โŠ”X. The least upper bound of a bounded X, defined ร  la Scott as the intersection of all upper bounds: โŠ”X = โ‹‚ {y โˆฃ x โŠ‘ y all xโˆˆX}. Reusing sInf from Exercise 1.18 on the (non-empty, because bounded) family of upper bounds.

      Equations
      Instances For
        theorem Domain.Neighborhood.NeighborhoodSystem.le_sSup {ฮฑ : Type u_1} (V : NeighborhoodSystem ฮฑ) (X : Set V.Element) (hX : V.Bounded X) {x : V.Element} (hx : x โˆˆ X) :
        x โ‰ค V.sSup X hX

        Exercise 1.27 โ€” โŠ”X is an upper bound. Each x โˆˆ X satisfies x โŠ‘ โŠ”X.

        theorem Domain.Neighborhood.NeighborhoodSystem.sSup_le {ฮฑ : Type u_1} (V : NeighborhoodSystem ฮฑ) (X : Set V.Element) (hX : V.Bounded X) {z : V.Element} (hz : โˆ€ x โˆˆ X, x โ‰ค z) :
        V.sSup X hX โ‰ค z

        Exercise 1.27 โ€” โŠ”X is least. Any upper bound z of X satisfies โŠ”X โŠ‘ z.

        Boundedness of {โ†‘U, โ†‘W} iff consistency of โŸจU, WโŸฉ. #

        def Domain.Neighborhood.NeighborhoodSystem.pairSeq {ฮฑ : Type u_1} (U W : Set ฮฑ) :
        โ„• โ†’ Set ฮฑ

        The two-term sequence โŸจU, WโŸฉ as a function โ„• โ†’ Set ฮฑ (used to phrase Consistent).

        Equations
        Instances For
          theorem Domain.Neighborhood.NeighborhoodSystem.consistent_pair_iff_bounded {ฮฑ : Type u_1} (V : NeighborhoodSystem ฮฑ) {U W : Set ฮฑ} (hU : V.mem U) (hW : V.mem W) :

          Exercise 1.27 โ€” "boundedness is for elements what consistency is for neighbourhoods". For U, W โˆˆ ๐’Ÿ, the pair โŸจU, WโŸฉ is consistent in ๐’Ÿ iff {โ†‘U, โ†‘W} is bounded in |๐’Ÿ|.

          โ†’ packages the consistency witness Z into the principal filter โ†‘Z, which lies above both โ†‘U and โ†‘W (via principal_le_iff). โ† uses that any bound y contains both U and W, hence U โˆฉ W โˆˆ y โІ ๐’Ÿ, giving U โˆฉ W as the consistency witness.

          Boundedness is finitary (with the aid of Exercise 1.18). #

          theorem Domain.Neighborhood.NeighborhoodSystem.bounded_iff_finite_bounded {ฮฑ : Type u_1} (V : NeighborhoodSystem ฮฑ) (X : Set V.Element) :
          V.Bounded X โ†” โˆ€ S โІ X, S.Finite โ†’ V.Bounded S

          Exercise 1.27 โ€” boundedness is finitary. X โІ |๐’Ÿ| is bounded iff every finite subset of X is bounded. The forward direction reuses any global bound. The reverse direction is the content: assemble C = โ‹ƒ_{xโˆˆX} x (the neighbourhoods of all members of X); C is finitely consistent because any finite sequence drawn from C comes from finitely many members of X, which form a finite subset, hence bounded โ€” that bound's filter contains the whole finite sequence, so its intersection lies in ๐’Ÿ. The least filter leastFilter C (Exercise 1.18) is then an upper bound of X.