Documentation

LeanPool.DomainTheory.Neighborhood.Exercise627

Exercise 6.27 (Scott 1981, PRG-19, ยง6) โ€” which subsystem relations hold #

EXERCISE 6.27. Which of the following relationships are true: (๐’Ÿ โŠ— โ„ฐ) โŠด (๐’Ÿ ร— โ„ฐ); ๐’Ÿ โŠด ๐’Ÿ ร— โ„ฐ; (๐’Ÿ โŠ• โ„ฐ) โŠด (๐’Ÿ + โ„ฐ); ๐’Ÿ โŠด ๐’Ÿ โŠ• โ„ฐ; (๐’Ÿ โ†’โŠฅ โ„ฐ) โŠด (๐’Ÿ โ†’ โ„ฐ); ๐’Ÿ โŠด ๐’Ÿ โŠ— โ„ฐ ?

Here โŠด is Scott's embeds-as-a-subdomain relation of Lemma 6.15 (Trianglelefteq): D โŠด E means D โ‰…แดฐ D' for some D' โ— E. We use the concrete {0,1}* constructions of Exercises 6.19/6.21 (sumTok, prodTok, oplusTok, otimesTok) and the function spaces funSpace / strictFun.

Answer. The first five hold for all ๐’Ÿ, โ„ฐ; the last fails in general.

relationverdictname
(๐’Ÿ โŠ— โ„ฐ) โŠด (๐’Ÿ ร— โ„ฐ)trueotimes_trianglelefteq_prod (in fact
otimesTok โ— prodTok)
๐’Ÿ โŠด ๐’Ÿ ร— โ„ฐtruefst_trianglelefteq_prod
(๐’Ÿ โŠ• โ„ฐ) โŠด (๐’Ÿ + โ„ฐ)trueoplus_trianglelefteq_sum (in fact `oplusTok โ—
sumTok`)
๐’Ÿ โŠด ๐’Ÿ โŠ• โ„ฐtrueinl_trianglelefteq_oplus
(๐’Ÿ โ†’โŠฅ โ„ฐ) โŠด (๐’Ÿ โ†’ โ„ฐ)truestrictFun_trianglelefteq_funSpace
๐’Ÿ โŠด ๐’Ÿ โŠ— โ„ฐfalse in generalnot_trianglelefteq_otimes_unit

The smash product collapses the bottom: pairing anything with โŠฅ_โ„ฐ is โŠฅ. So ๐’Ÿ embeds in ๐’Ÿ โŠ— โ„ฐ only when โ„ฐ contributes a (finite) non-bottom point; for the trivial โ„ฐ = ๐Ÿ™ we have ๐’Ÿ โŠ— ๐Ÿ™ โ‰… ๐Ÿ™, refuting the universal claim.

All parts are choice-free (#print axioms โІ {propext, Quot.sound}) except (4) (inl_trianglelefteq_oplus), whose oplus_mem_leftN decides the genuinely-undecidable test X = ฮ”โ‚€ over an arbitrary system and so depends on Classical.choice.

(1) (๐’Ÿ โŠ— โ„ฐ) โ— (๐’Ÿ ร— โ„ฐ) โ€” the smash is literally a subsystem of the product #

The smash otimesTok has the same master {ฮ›} โˆช 0ฮ”โ‚€ โˆช 1ฮ”โ‚ = prodTokNbhd ฮ”โ‚€ ฮ”โ‚ and its proper neighbourhoods prodTokNbhd X Y (with X โ‰  ฮ”โ‚€, Y โ‰  ฮ”โ‚) are a sub-family of the product's neighbourhoods. The consistency clause is inherited because intersections stay off the boundary.

Exercise 6.27 (1). (๐’Ÿ โŠ— โ„ฐ) โŠด (๐’Ÿ ร— โ„ฐ).

(2) ๐’Ÿ โŠด ๐’Ÿ ร— โ„ฐ โ€” first-factor projection pair #

๐’Ÿ is not literally a subsystem of ๐’Ÿ ร— โ„ฐ (the neighbourhoods have a different shape), but it embeds via the projection pair i(X) = (X, โŠฅ), j(W) = fst W. Concretely we send X โˆˆ ๐’Ÿ to the product neighbourhood prodTokNbhd X ฮ”โ‚ (pair X with all of โ„ฐ); the embedding/projection are the two refinement relations against that neighbourhood, exactly as in Proposition 6.12.

The injection i : ๐’Ÿ โ†’ ๐’Ÿ ร— โ„ฐ: X i W โ†” X โˆˆ ๐’Ÿ โˆง W โˆˆ ๐’Ÿร—โ„ฐ โˆง (X,ฮ”โ‚) โІ W.

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

    The projection j : ๐’Ÿ ร— โ„ฐ โ†’ ๐’Ÿ: W j X โ†” W โˆˆ ๐’Ÿร—โ„ฐ โˆง X โˆˆ ๐’Ÿ โˆง W โІ (X,ฮ”โ‚).

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem Domain.Neighborhood.Exercise627.fstProj_comp_fstInj (Dโ‚€ Dโ‚ : NeighborhoodSystem ExampleB.Str) :
      (fstProj Dโ‚€ Dโ‚).comp (fstInj Dโ‚€ Dโ‚) = ApproximableMap.idMap Dโ‚€

      Exercise 6.27 (2). ๐’Ÿ โŠด ๐’Ÿ ร— โ„ฐ.

      (3) (๐’Ÿ โŠ• โ„ฐ) โ— (๐’Ÿ + โ„ฐ) โ€” the coalesced sum is literally a subsystem of the #

      sum

      oplusTok drops the improper copies 0ฮ”โ‚€, 1ฮ”โ‚ of sumTok; what remains is a sub-family, and consistency is inherited (cross-tag intersections are empty, hence not sumTok-neighbourhoods).

      theorem Domain.Neighborhood.Exercise627.oplusTok_subsystem_sumTok {Dโ‚€ Dโ‚ : NeighborhoodSystem ExampleB.Str} (hโ‚€ : โˆ€ (X : Set ExampleB.Str), Dโ‚€.mem X โ†’ X.Nonempty) (hโ‚ : โˆ€ (Y : Set ExampleB.Str), Dโ‚.mem Y โ†’ Y.Nonempty) :
      Exercise619.oplusTok Dโ‚€ Dโ‚ hโ‚€ hโ‚ โ— Exercise619.sumTok Dโ‚€ Dโ‚ hโ‚€ hโ‚
      theorem Domain.Neighborhood.Exercise627.oplus_trianglelefteq_sum {Dโ‚€ Dโ‚ : NeighborhoodSystem ExampleB.Str} (hโ‚€ : โˆ€ (X : Set ExampleB.Str), Dโ‚€.mem X โ†’ X.Nonempty) (hโ‚ : โˆ€ (Y : Set ExampleB.Str), Dโ‚.mem Y โ†’ Y.Nonempty) :
      Exercise619.oplusTok Dโ‚€ Dโ‚ hโ‚€ hโ‚ โŠด Exercise619.sumTok Dโ‚€ Dโ‚ hโ‚€ hโ‚

      Exercise 6.27 (3). (๐’Ÿ โŠ• โ„ฐ) โŠด (๐’Ÿ + โ„ฐ).

      (4) ๐’Ÿ โŠด ๐’Ÿ โŠ• โ„ฐ โ€” left-injection projection pair #

      Unlike the product, the coalesced sum identifies the two bottoms, so the embedding of ๐’Ÿ must send โŠฅ_๐’Ÿ = ฮ”โ‚€ to the shared bottom sumTokMaster and a proper X to its left copy 0X. We package this in leftN X (= 0X for proper X, = sumTokMaster for X = ฮ”โ‚€).

      Distinguishing the two cases is exactly the test X = ฮ”โ‚€, which is undecidable for an arbitrary neighbourhood; consequently the single lemma oplus_mem_leftN โ€” and only it โ€” uses Classical.em. This is genuinely unavoidable at this level of generality (Scott's tokens are concrete and decidable, but we work over arbitrary NeighborhoodSystems), so inl_trianglelefteq_oplus depends on Classical.choice (called out in the axiom audit). Every other part of Exercise 6.27 is choice-free.

      The left-copy generator: 0X for proper X, the shared bottom sumTokMaster for X = ฮ”โ‚€. The set-builder {w โˆฃ w โˆˆ sumTokMaster โˆง X = ฮ”โ‚€} keeps the definition choice-free.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem Domain.Neighborhood.Exercise627.leftN_master {Dโ‚€ Dโ‚ : NeighborhoodSystem ExampleB.Str} :
        leftN Dโ‚€ Dโ‚ Dโ‚€.master = Exercise619.sumTokMaster Dโ‚€ Dโ‚
        theorem Domain.Neighborhood.Exercise627.leftN_subset_iff {Dโ‚€ Dโ‚ : NeighborhoodSystem ExampleB.Str} {X X' : Set ExampleB.Str} (hX : Dโ‚€.mem X) (hX' : Dโ‚€.mem X') :
        leftN Dโ‚€ Dโ‚ X โІ leftN Dโ‚€ Dโ‚ X' โ†” X โІ X'
        theorem Domain.Neighborhood.Exercise627.oplus_mem_leftN {Dโ‚€ Dโ‚ : NeighborhoodSystem ExampleB.Str} {hโ‚€ : โˆ€ (X : Set ExampleB.Str), Dโ‚€.mem X โ†’ X.Nonempty} {hโ‚ : โˆ€ (Y : Set ExampleB.Str), Dโ‚.mem Y โ†’ Y.Nonempty} {X : Set ExampleB.Str} (hX : Dโ‚€.mem X) :
        (Exercise619.oplusTok Dโ‚€ Dโ‚ hโ‚€ hโ‚).mem (leftN Dโ‚€ Dโ‚ X)

        The only classical step in Exercise 6.27: leftN X is an ๐’Ÿ โŠ• โ„ฐ-neighbourhood. The proof splits on the (undecidable for arbitrary X) test X = ฮ”โ‚€.

        def Domain.Neighborhood.Exercise627.inlInj {Dโ‚€ Dโ‚ : NeighborhoodSystem ExampleB.Str} {hโ‚€ : โˆ€ (X : Set ExampleB.Str), Dโ‚€.mem X โ†’ X.Nonempty} {hโ‚ : โˆ€ (Y : Set ExampleB.Str), Dโ‚.mem Y โ†’ Y.Nonempty} :
        ApproximableMap Dโ‚€ (Exercise619.oplusTok Dโ‚€ Dโ‚ hโ‚€ hโ‚)

        The injection i : ๐’Ÿ โ†’ ๐’Ÿ โŠ• โ„ฐ: X i W โ†” X โˆˆ ๐’Ÿ โˆง W โˆˆ ๐’ŸโŠ•โ„ฐ โˆง leftN X โІ W.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Domain.Neighborhood.Exercise627.inlProj {Dโ‚€ Dโ‚ : NeighborhoodSystem ExampleB.Str} {hโ‚€ : โˆ€ (X : Set ExampleB.Str), Dโ‚€.mem X โ†’ X.Nonempty} {hโ‚ : โˆ€ (Y : Set ExampleB.Str), Dโ‚.mem Y โ†’ Y.Nonempty} :
          ApproximableMap (Exercise619.oplusTok Dโ‚€ Dโ‚ hโ‚€ hโ‚) Dโ‚€

          The projection j : ๐’Ÿ โŠ• โ„ฐ โ†’ ๐’Ÿ: W j X โ†” W โˆˆ ๐’ŸโŠ•โ„ฐ โˆง X โˆˆ ๐’Ÿ โˆง W โІ leftN X.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem Domain.Neighborhood.Exercise627.inlProj_comp_inlInj {Dโ‚€ Dโ‚ : NeighborhoodSystem ExampleB.Str} {hโ‚€ : โˆ€ (X : Set ExampleB.Str), Dโ‚€.mem X โ†’ X.Nonempty} {hโ‚ : โˆ€ (Y : Set ExampleB.Str), Dโ‚.mem Y โ†’ Y.Nonempty} :
            theorem Domain.Neighborhood.Exercise627.inlInj_comp_inlProj_le {Dโ‚€ Dโ‚ : NeighborhoodSystem ExampleB.Str} {hโ‚€ : โˆ€ (X : Set ExampleB.Str), Dโ‚€.mem X โ†’ X.Nonempty} {hโ‚ : โˆ€ (Y : Set ExampleB.Str), Dโ‚.mem Y โ†’ Y.Nonempty} :
            theorem Domain.Neighborhood.Exercise627.inl_trianglelefteq_oplus {Dโ‚€ Dโ‚ : NeighborhoodSystem ExampleB.Str} {hโ‚€ : โˆ€ (X : Set ExampleB.Str), Dโ‚€.mem X โ†’ X.Nonempty} {hโ‚ : โˆ€ (Y : Set ExampleB.Str), Dโ‚.mem Y โ†’ Y.Nonempty} :
            Dโ‚€ โŠด Exercise619.oplusTok Dโ‚€ Dโ‚ hโ‚€ hโ‚

            Exercise 6.27 (4). ๐’Ÿ โŠด ๐’Ÿ โŠ• โ„ฐ. (Uses Classical.choice via oplus_mem_leftN.)

            (5) (๐’Ÿ โ†’โŠฅ โ„ฐ) โŠด (๐’Ÿ โ†’ โ„ฐ) โ€” the strict maps embed in all maps #

            A strict map is an approximable map, so ๐’Ÿ โ†’โŠฅ โ„ฐ sits inside ๐’Ÿ โ†’ โ„ฐ by inclusion i, with the strictification j (force f(โŠฅ) = โŠฅ) as its retraction. strictify f โŠ‘ f always, and on a strict f strictification is the identity; this gives the projection-pair laws j โˆ˜ i = id, i โˆ˜ j โŠ‘ id. We work over arbitrary systems Vโ‚€, Vโ‚ (not just Str); the construction is choice-free. We realise i, j on principal inputs via ofMono of the element-level inclusion / strictification, then identify their element maps using the representations funSpaceEquiv (|๐’Ÿโ†’โ„ฐ| โ‰ƒ ApproximableMap) and strictFunEquiv (|๐’Ÿโ†’โŠฅโ„ฐ| โ‰ƒ StrictMap).

            def Domain.Neighborhood.Exercise627.strictifyMap {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (g : ApproximableMap Vโ‚€ Vโ‚) :
            ApproximableMap Vโ‚€ Vโ‚

            Strictification of a map (on relations): keep f but force the master input to the master output. The resulting map is strict, lies below f, and is the identity on strict maps.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem Domain.Neighborhood.Exercise627.strictifyMap_isStrict {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (g : ApproximableMap Vโ‚€ Vโ‚) :
              theorem Domain.Neighborhood.Exercise627.strictifyMap_le {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (g : ApproximableMap Vโ‚€ Vโ‚) :
              theorem Domain.Neighborhood.Exercise627.strictifyMap_of_isStrict {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} {f : ApproximableMap Vโ‚€ Vโ‚} (hf : Exercise510.IsStrict f) :
              def Domain.Neighborhood.Exercise627.strictify {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (g : ApproximableMap Vโ‚€ Vโ‚) :
              Exercise510.StrictMap Vโ‚€ Vโ‚

              The strictification as an element of the strict function space's token type.

              Equations
              Instances For
                theorem Domain.Neighborhood.Exercise627.toApproxMap_toFilter {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (g : ApproximableMap Vโ‚€ Vโ‚) :

                The four inverse identities of the two representation equivalences (defeq unfoldings).

                theorem Domain.Neighborhood.Exercise627.toFilter_toApproxMap {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (ฯˆ : (funSpace Vโ‚€ Vโ‚).Element) :
                toFilter (toApproxMap ฯˆ) = ฯˆ
                theorem Domain.Neighborhood.Exercise627.toStrictFilter_toStrictMap {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (ฯ† : (Exercise510.strictFun Vโ‚€ Vโ‚).Element) :
                def Domain.Neighborhood.Exercise627.incl {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (ฯ† : (Exercise510.strictFun Vโ‚€ Vโ‚).Element) :
                (funSpace Vโ‚€ Vโ‚).Element

                Element-level inclusion |๐’Ÿ โ†’โŠฅ โ„ฐ| โ†’ |๐’Ÿ โ†’ โ„ฐ|.

                Equations
                Instances For
                  def Domain.Neighborhood.Exercise627.strct {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (ฯˆ : (funSpace Vโ‚€ Vโ‚).Element) :
                  (Exercise510.strictFun Vโ‚€ Vโ‚).Element

                  Element-level strictification |๐’Ÿ โ†’ โ„ฐ| โ†’ |๐’Ÿ โ†’โŠฅ โ„ฐ|.

                  Equations
                  Instances For
                    theorem Domain.Neighborhood.Exercise627.incl_mono {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} :
                    theorem Domain.Neighborhood.Exercise627.strct_mono {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} :
                    def Domain.Neighborhood.Exercise627.inclMap {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} :
                    ApproximableMap (Exercise510.strictFun Vโ‚€ Vโ‚) (funSpace Vโ‚€ Vโ‚)

                    The inclusion i : ๐’Ÿ โ†’โŠฅ โ„ฐ โ†ช ๐’Ÿ โ†’ โ„ฐ.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Domain.Neighborhood.Exercise627.strctMap {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} :
                      ApproximableMap (funSpace Vโ‚€ Vโ‚) (Exercise510.strictFun Vโ‚€ Vโ‚)

                      The strictification retraction j : ๐’Ÿ โ†’ โ„ฐ โ†’ ๐’Ÿ โ†’โŠฅ โ„ฐ.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem Domain.Neighborhood.Exercise627.toElementMap_inclMap {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (ฯ† : (Exercise510.strictFun Vโ‚€ Vโ‚).Element) :
                        theorem Domain.Neighborhood.Exercise627.toElementMap_strctMap {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (ฯˆ : (funSpace Vโ‚€ Vโ‚).Element) :
                        theorem Domain.Neighborhood.Exercise627.strct_incl {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (ฯ† : (Exercise510.strictFun Vโ‚€ Vโ‚).Element) :
                        strct (incl ฯ†) = ฯ†
                        theorem Domain.Neighborhood.Exercise627.incl_strct_le {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} (ฯˆ : (funSpace Vโ‚€ Vโ‚).Element) :
                        incl (strct ฯˆ) โ‰ค ฯˆ
                        theorem Domain.Neighborhood.Exercise627.ext_of_principal {ฮณ : Type u_3} {ฮด : Type u_4} {Wโ‚€ : NeighborhoodSystem ฮณ} {Wโ‚ : NeighborhoodSystem ฮด} {f g : ApproximableMap Wโ‚€ Wโ‚} (h : โˆ€ (X : Set ฮณ) (hX : Wโ‚€.mem X), f.toElementMap (Wโ‚€.principal hX) = g.toElementMap (Wโ‚€.principal hX)) :
                        f = g

                        Choice-free extensionality from agreement on principal inputs. Unlike ext_of_toElementMap (which splits on the undecidable Vโ‚€.mem X), both sides of the relation carry domain membership via rel_dom, so no case analysis โ€” and hence no Classical.choice โ€” is needed.

                        theorem Domain.Neighborhood.Exercise627.inclMap_comp_strctMap_le {ฮฑ : Type u_1} {ฮฒ : Type u_2} {Vโ‚€ : NeighborhoodSystem ฮฑ} {Vโ‚ : NeighborhoodSystem ฮฒ} :
                        theorem Domain.Neighborhood.Exercise627.strictFun_trianglelefteq_funSpace {ฮฑ : Type u_1} {ฮฒ : Type u_2} (Vโ‚€ : NeighborhoodSystem ฮฑ) (Vโ‚ : NeighborhoodSystem ฮฒ) :
                        Exercise510.strictFun Vโ‚€ Vโ‚ โŠด funSpace Vโ‚€ Vโ‚

                        Exercise 6.27 (5). (๐’Ÿ โ†’โŠฅ โ„ฐ) โŠด (๐’Ÿ โ†’ โ„ฐ) for all ๐’Ÿ, โ„ฐ (choice-free).

                        (6) ๐’Ÿ โŠด ๐’Ÿ โŠ— โ„ฐ is false in general #

                        The smash product sends (x, โŠฅ) and (โŠฅ, y) to the single bottom, so if โ„ฐ contributes no proper neighbourhood the whole product collapses to its bottom. Concretely, for the one-point unit โ„ฐ = ๐Ÿ™ the system ๐’Ÿ โŠ— ๐Ÿ™ has only its master as a neighbourhood, hence a one-point element lattice; a ๐’Ÿ with two distinct points therefore cannot embed. This refutes the universal claim.

                        theorem Domain.Neighborhood.Exercise627.subsingleton_element_of_only_master {ฮณ : Type u_1} {V : NeighborhoodSystem ฮณ} (h : โˆ€ (X : Set ฮณ), V.mem X โ†’ X = V.master) :

                        If a system's only neighbourhood is its master, its element lattice is a single point (โŠฅ).

                        A concrete two-point domain over {0,1}*: neighbourhoods Set.univ (= โŠฅ) and {[]}.

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

                          With the unit second factor, the smash twoPt โŠ— ๐Ÿ™ collapses to its master.

                          Exercise 6.27 (6). ๐’Ÿ โŠด ๐’Ÿ โŠ— โ„ฐ does not hold for all ๐’Ÿ, โ„ฐ: take ๐’Ÿ two-point and โ„ฐ = ๐Ÿ™. Then ๐’Ÿ โŠ— ๐Ÿ™ has a one-point element lattice while ๐’Ÿ has two, so no isomorphism onto a subsystem can exist.