Exercise 6.26 (Scott 1981, PRG-19, ยง6) โ the lifting ๐_โฅ over {0,1}* #
EXERCISE 6.26. For systems
๐as in 6.19 define๐_โฅ = {{ฮ} โช 0ฮ} โช {0X โฃ X โ ๐}. Describe the construct in terms of elements. Is this a suitable functor? Prove that๐_โฅ โ โฐ_โฅ โ ๐ + โฐ. What is๐_โฅ โ โฐ_โฅ โ ??
The lifting ๐_โฅ adds a new bottom below a 0-tagged copy of ๐. Its
master is
{ฮ} โช 0ฮ and its proper neighbourhoods are the 0X for X โ ๐ (including 0ฮ,
which sits
strictly above the new bottom {{ฮ} โช 0ฮ}). It is the one-summand analogue of
Exercise 6.19's sum.
Contents #
liftTok/ScottSys.liftโ the lifted system overStr = {0,1}*, againโ-free.- Elements (
liftBot,liftUp,unlift):|๐_โฅ| โ |๐|_โฅ. The bottomliftBotis the fresh least element;liftUp xembeds|๐|order-isomorphically above it (liftBot_lt_liftUp,liftUp_le_liftUp_iff); every element is one or the other (eq_liftBot_or_exists_liftUp). - Functor (
liftMapTok,liftMapTok_isStrict,liftMapTok_id,liftMapTok_comp): yes,(ยท)_โฅis a (strict) functor on Scott's category โ the action on maps preserves identities and composition. ๐_โฅ โ โฐ_โฅ โ แดฐ ๐ + โฐ(lift_oplus_lift_iso_sum): coalescing the two fresh bottoms of the lifts reproduces exactly the separated sum.๐_โฅ โ โฐ_โฅ โ แดฐ (๐ ร โฐ)_โฅ(lift_otimes_lift_iso_lift_prod): the answer to Scott's??โ the smash of two lifts is the lift of the product.
All constructions are choice-free (#print axioms โ {propext, Quot.sound});
the lone exception
is eq_liftBot_or_exists_liftUp, a Prop-level case split that uses excluded
middle (Classical)
to decide whether an element lies above the fresh bottom โ unavoidable and called
out there.
The lifted system ๐_โฅ over {0,1}* #
The master neighbourhood {ฮ} โช 0ฮ of the lift.
Equations
Instances For
Exercise 6.26 โ the lifted system ๐_โฅ over {0,1}*. A neighbourhood is
the master
{ฮ} โช 0ฮ or a tagged copy 0X (X โ ๐). โ
-freeness of ๐ (hD) keeps it
โ
-free.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The lift object ๐_โฅ of Scott's category.
Instances For
Elements: |๐_โฅ| โ
|๐|_โฅ #
The fresh bottom of ๐_โฅ: the element whose only neighbourhood is the
master {ฮ} โช 0ฮ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The embedding |๐| โช |๐_โฅ|: liftUp x = {{ฮ} โช 0ฮ} โช {0X โฃ X โ x}, the
image of x
sitting above the fresh bottom.
Equations
- One or more equations did not get rendered due to their size.
Instances For
liftBot is the least element of ๐_โฅ.
The fresh bottom is strictly below every lifted element.
The unlift of an element that lies above the fresh bottom (i.e. contains
0ฮ): the
๐-element {X โฃ 0X โ z}.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Exercise 6.26 โ "describe in terms of elements". Every element of ๐_โฅ is
either the fresh
bottom or a lifted ๐-element: |๐_โฅ| โ
|๐|_โฅ. (Prop-level; the case split on
"does z contain
0ฮ?" uses excluded middle โ the only non-constructive step in this module.)
Functoriality: (ยท)_โฅ is a strict functor #
f_โฅ, the action of lifting on (approximable) maps. It carries the master
to the master (so
it is strict) and a copy 0X to 0X' whenever X f X'.
Equations
- One or more equations did not get rendered due to their size.
Instances For
f_โฅ is strict for any f: the master ฮ-bearing input relates only
to the master.
(I_๐)_โฅ = I_{๐_โฅ}.
(g โ f)_โฅ = g_โฅ โ f_โฅ.
๐_โฅ โ โฐ_โฅ โ
แดฐ ๐ + โฐ #
The coalesced sum of the two lifts has tokens 0ยท0ยทX' (X' โ ๐) and 1ยท0ยทY'
(Y' โ โฐ), with the
shared bottom {ฮ} โช 0(liftTokMaster ๐) โช 1(liftTokMaster โฐ). The separated sum
๐ + โฐ has tokens
0X', 1Y'. The element iso simply deletes the inner 0. The cross-tag
intersections vanish
(โ
-freeness), exactly as in Exercise 6.19's toSum/fromSum.
๐_โฅ โ โฐ_โฅ โ
แดฐ (๐ ร โฐ)_โฅ โ the answer to Scott's ?? #
The smash of the two lifts has proper neighbourhoods {ฮ} โช 0(0X') โช 1(0Y') (i.e.
prodTokNbhd (0X') (0Y'), with X' โ ๐, Y' โ โฐ). The lift of the product has
proper
neighbourhoods 0(prodTokNbhd X' Y'). The element iso transports one rectangle
presentation to the
other. Unlike the sum there are no cross-tag intersections, so the proof is
purely "rectangular".