Compare changes

Choose any two refs to compare.

Changed files
+944 -135
Martinfest
+581
Martinfest/main.typ
···
+
#import "@preview/touying:0.6.1": *
+
#import "@preview/fletcher:0.5.8" as fletcher: diagram, node, edge
+
+
#import themes.simple: *
+
#set text(font: "Junicode")
+
#show: simple-theme.with(
+
aspect-ratio: "16-9",
+
footer-right: [],
+
header: []
+
)
+
+
+
#title-slide[
+
== What Do Mapping Cylinders Classify?
+
#v(1em)
+
_In Celebration of Martín Escardó’s 60#super[th] Birthday_
+
+
#v(1.5em)
+
+
J. Sterling#footnote[Computer Laboratory, University of Cambridge]
+
+
#text(size: 0.8em)[17#super[th] December 2025]
+
]
+
+
== A parable inspired by Martín’s mathematics
+
I used to think about axioms as a way to “tame” the unruly environment.
+
#pause
+
+
So you put on your pith helmet and come in with your big and loud machines and terraform the mathematical world. It is a good day’s work.
+
#pause
+
+
Everything is very “civilised”: the sticky saps dry up, the buzzing insects zip away, and the last scurrying critters scatter to their holes.
+
#pause
+
+
Finally, all resistance muzzled, we can…show that the spectrum of a ring is a topological space.
+
+
==
+
+
But the thing about those little critters and buzzing bees and the sap that gets between your toes is—these entities were already an ecosystem with its own topology, geometry, arithmetic, computation—all intertwined together.
+
+
==
+
#pause
+
+
I now consider myself more of an _ecologist_ than a mathematician.#pause
+
+
I wish to be as quiet as I possibly can, so I may hear the chirping, #pause chittering, #pause barking, #pause and buzzing #pause of the little creatures of little mathematics who,\ #pause
+
\
+
#h(1em)like a soap bubble,\ #pause
+
\
+
vanish with the first application of force.
+
+
==
+
+
So thank you, Martín, for showing me by example how to listen.
+
+
==
+
+
I would like to share with you some things I have learned recently about partial map classifiers and their generalisations.
+
+
Some of this I learned from my collaborations with my students Leoni Pugh and Lingyuan Ye respectively.
+
+
== Synthetic topology in a lattice context
+
+
#let DL = $bold("DL")$
+
#let ALG = $bold("Alg")_Sigma$
+
#let TYPE = $bold("Type")$
+
#let PROP = $bold("Prop")$
+
#let SET = $bold("Set")$
+
#let Spec = $op("Spec", limits: #false)_Sigma$
+
#let Obs = $cal(O)_Sigma$
+
#let CoObs = $cal(O)_(Sigma^(op))$
+
+
#let myprod(x,X) = $product_((#x:#X))$
+
#let mysum(x,X) = $sum_((#x:#X))$
+
#let II = $bb(I)$
+
#let Horn = $Lambda^bold(2)_bold(1)$
+
#let CoLift = $sans("L")^bullet$
+
#let Lift = $sans("L")^bullet.stroked$
+
#let LiftFam = $op(sans("L"))^bullet.stroked$
+
#let MCyl = $sans("M")^bullet.stroked$
+
#let ClMCyl = $sans("M")^bullet$
+
#let MCylFam = $op(sans("M"))^bullet.stroked$
+
#let ret = $eta^bullet.stroked$
+
#let opmod(p) = $#math.class("unary", sym.circle)_#p$
+
#let clmod(p) = $#math.class("unary", sym.circle.filled)_#p$
+
#let fib(f,x) = $sans("fib")_#f (#x)$
+
+
Let $Sigma$ be a bounded distributive lattice, _i.e._ an object of #DL.
+
#pause
+
+
A $Sigma$-algebra is a bounded distributive lattice equipped with a homomorphism from $Sigma$, _i.e._ an object of $ALG :equiv Sigma arrow.b #DL$.
+
+
#pause
+
+
Each lattice $Sigma$ determines an “intrinsic” or “synthetic” topology, \ notions of open and closed subspace, partial map, _etc_.
+
#pause
+
+
Similar to _synthetic (domain theory, topology, algebraic geometry, _etc._)_ \ and _Abstract Stone Duality_ (Taylor), but we do not assume axioms\ globally: our language is HoTT/UF.
+
+
==
+
#pause
+
+
The _*spectrum*_ of a $Sigma$-algebra $A$ is the space of homomorphisms
+
$ Spec A :equiv ALG(A, Sigma), $
+
#pause
+
and the _*observational algebra*_ of a type $X$ is the product of algebras
+
$ Obs X :equiv Sigma^X $
+
+
#pause
+
This is a contravariant adjunction
+
$
+
Obs tack.l Spec colon ALG^"op" -> SET
+
$
+
whose fixed points we call _*quasi-coherent algebras*_ and _*affine sets*_ respectively.
+
+
==
+
+
Many basic shapes arise as spectrums. For example, cubes and simplices:
+
+
$
+
II^n &= Spec Sigma[sans(x)_1,...,sans(x)_n]\
+
Delta^n &= Spec Sigma[sans(x)_1,...,sans(x)_n] #math.class("relation", sym.slash) sans(x)_i >= sans(x)_(i+1)
+
$
+
+
Some important shapes are _not_ spectrums, _e.g._ the generic inner horn $Horn$ obtained by glueing the interval onto itself end-to-end.
+
+
==
+
+
The interval $II$ is both a space (the spectrum of $Sigma[sans(x)]$) and the underlying \ set of the algebra $Sigma$.
+
+
+ Geometrical: interval is a figure shape for _homotopy_.
+
+ Logical: the inclusion ${1} arrow.r.hook II$ determines a notion\ of _open subspace_.
+
+
+
+
+
== Example: Phoa's principle
+
The following are equivalent for a $Sigma$-algebra $A$:
+
+
+ The “generalised Phoa principle” (S. & Ye) holds for $A$.
+
+ For any element $alpha in A^II$ we have $alpha(i) = alpha(0) or floor.l i floor.r and alpha(1)$.
+
+ The path space $A^II$ classifies the canonical (lattice) order on $A$.
+
+ The polynomial $Sigma$-algebra $A[sans(x)]$ is quasi-coherent.
+
+
#line(length: 100%, stroke: gray)
+
+
Phoa's principle from _synthetic domain theory_ states $Sigma$ itself satisfies the property above. Implications for synthetic higher categories too.
+
+
==
+
Other useful assumptions emerge by studying the monotone indicator function
+
$ [-] colon Sigma -> PROP$ of the top element $1 in Sigma$.
+
+
+ $Sigma$ is _strict_ when $[-] colon Sigma -> PROP$ preserves the empty join.
+
+ $Sigma$ is _local_ when $[-] colon Sigma -> PROP$ preserves finite joins.
+
+ $Sigma$ is _conservative_ when $[-] colon Sigma -> PROP$ is an embedding.
+
+ $Sigma$ is _dominant_ when it is conservative and the subuniverse $[-]colon Sigma arrow.r.hook PROP$ is closed under internal sums.
+
+
*NB*: if every quotient of $Sigma$ by finitely many equations is quasi-coherent, then both $Sigma$ and $Sigma^(op)$ are dominant (S. & Ye; _cf._ Cherubini _et al._).
+
+
+
== Observations and open subspaces
+
+
Let $X$ be a space. An _observation_ of $X$ is an element of the observational algebra $Obs(X)$, _i.e._ a function $phi colon X -> II$.
+
+
Pulling back along ${1} arrow.r.hook II$, we obtain the corresponding _open subspace_:
+
+
#align(center)[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
X.phi edge(->) edge("d", "hook->") & {1} edge("d", "hook->")\
+
X edge(phi, ->, label-side: #right) & II
+
$,
+
node((.5,.5), [_cart._]),
+
)
+
]
+
+
== Open subspaces and open embeddings
+
+
We shall refer to an arrow of the form $U arrow.r.hook X$ arising from some observation as an _open embedding_. A _cloven open embedding_ is defined \ to be an open embedding equipped with an observation whence it arises.
+
+
When $Sigma$ is conservative, all open embeddings are canonically cloven.
+
+
== Closed subspaces and closed embedding
+
+
By duality, a _closed embedding_ is an embedding $K arrow.r.hook X$ arising from an observation $phi in CoObs(X)$ in the *dual lattice context*. In terms of $Sigma$, this\ is a pullback of the inclusion ${0} arrow.r.hook II$.
+
+
== Open partial maps
+
+
An open partial map from $X$ to $Y$ is defined to be a _span_
+
#align(center)[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
Y& U edge("d", "hook->") edge("l", ->)\
+
& X
+
$
+
)
+
]
+
in which $U arrow.r.hook X$ is an open embedding.
+
+
== Cloven open partial maps
+
+
A _cloven_ open partial map from $X$ to $Y$ is a partial map equipped with a _cleaving_ for its constituent open embedding:
+
#align(center)[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
Y& U edge("d", "hook->") edge("l", ->) edge("r", ->) & {1} edge("d", "hook->")\
+
& X edge("r", ->, label-side: #right) & II
+
$,
+
node((1.5,.5), [_cart._]),
+
)
+
]
+
+
== The (cloven) open partial map classifier
+
+
The _partial product_ of the generic open embedding ${1} arrow.r.hook II$ with a\ space $Y$ classifies cloven open partial maps into $Y$. Defining
+
$Lift(Y) :equiv mysum(i,II) Y^([i]) $, we consider the following open embedding:
+
#align(center)[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
Y edge("d", ret_Y, "hook->") edge("r", ->) & {1} edge("d", "hook->")\
+
Lift(Y) edge("r", label: pi, ->, label-side: #right) & II
+
$,
+
node((.5,.5), [_cart._]),
+
)
+
]
+
+
== The (cloven) open partial map classifier (_cntd._)
+
+
Every cloven open partial map from $X$ to $Y$ arises from a _unique_ function $X -> Lift(Y)$ in the following way:
+
#align(center)[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
Y edge("d", "hook->") & U edge("d", "hook->") edge("l", ->) edge("r", ->) & {1} edge("d", "hook->")\
+
Lift(Y) & X edge("l", "-->", label: exists!, label-side: #left) edge("r", ->, label-side: #right) & II
+
$,
+
node((1.5,.5), [_cart._]),
+
node((.5,.5), [_cart._]),
+
)
+
]
+
+
+
*Reminder:* when $Sigma$ is conservative, we can forget all the cleavings.
+
+
== The undefined partial element
+
+
When $Sigma$ is strict, _i.e._ we have $0 != 1$, the empty subset is open so we have:
+
#align(center)[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
X edge("d", "hook->") & bold(0) edge("d", "hook->") edge("l", "hook->", label: !_X) edge("r", ->) & {1} edge("d", "hook->")\
+
Lift(X) & bold(1) edge("l", "hook-->", label: "und"_X, label-side: #left) edge("r", ->, label-side: #right, label: "0") & II
+
$,
+
node((1.5,.5), [_cart._]),
+
node((.5,.5), [_cart._]),
+
)
+
]
+
+
Here, $"und"_X colon bold(1) arrow.r.hook Lift(X)$ is a _closed embedding_.
+
+
== The “other” universal property of the partial map classifier
+
+
In ordinary domain/category/topos theory, the open partial map classifier $Lift(X)$ is _also_ the *Sierpiński cone* $X_bot$, which freely adds a bottom point.
+
+
#align(center)[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
X edge("d", ->) edge("r", ->, label: 1_X) & X edge("d", "hook->", label: iota_X, label-side: #left)\
+
bold(1) edge("r", "hook->", label-side: #right, label: bot) & X_bot
+
$,
+
node((.5,.5), $arrow.tr.double$),
+
)
+
#h(2em)
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
X edge("d", ->) edge("r", "hook->", label: (0,X)) & II times X edge("d", "hook->", label: gamma_X, label-side: #center) & edge("l", "hook->", (1,X)) X edge("dl", "hook->", label: iota_X, label-angle: #auto, label-side: #left)\
+
bold(1) edge("r", "hook->", label-side: #right, label: bot) & X_bot
+
$,
+
node((.5,.5), [_cocart._]),
+
)
+
]
+
+
*NB*: $bot$ is _closed_ in $X_bot$, and $iota_X$ is an _open embedding_ as soon as $Sigma$ is strict.
+
+
==
+
This is to say that the following evident square is cocartesian:
+
#align(center)[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
X edge("d", "hook->") edge("r", ->, label: (0, X)) & II times X edge("d", "hook->", label-side: #left, label: "glue"_X)\
+
bold(1) edge("r", label: "und"_X, ->, label-side: #right) & Lift(X)
+
$,
+
node((.5,.5), [_cocart._]),
+
)
+
]
+
where $"glue"_X$ is the evident inclusion.
+
+
*This _must not_ hold synthetically for _generic_ $X$.*
+
+
== A Brouwerian counterexample
+
+
If induced comparison map $X_bot -> Lift(X)$ is an equivalence for _generic_ $X$, then naturally each $[i]_bot -> Lift [i]$ is an equivalence. But
+
$
+
[i]_bot &= { j : II | j=0 or i=1}\
+
Lift [i] &= { j : II | j=1 -> i=1 }
+
$
+
+
and so for any $j <= i$ we may conclude either $j=0$ or $i=1$. Considering $j :equiv i$ we therefore have $i=0 or i=1$, which makes all spaces codiscrete. When $II$ is strict, this makes the boundary inclusion $bold(2) arrow.r.hook II$ an equivalence.
+
+
== Let the critters speak!
+
+
In domains/categories/toposes, $X_bot -> Lift(X)$ is an equivalence for _global_ $X$, not for _generic_ $X$. We could use a $flat$-modality or switch to the Mitchell--Bénabou language to safely assert it only for global things.
+
+
But I am more interested in powering down the engines so that we can _hear_ what the spaces are telling us in their own terms.
+
+
== What the critters told me
+
+
+ It is not fair to compare $X_bot$ with $Lift(X)$ without fixing a universe of discourse, which (in synthetic mathematics) means an _accessible reflective subuniverse_ in which to compute the pushout $X_bot$.
+
+
+ “All” the comparison maps $X_bot -> Lift(X)$ is far too large a left class to generate a reflective subuniverse, but *this localisation is nonetheless accessible and reflective*, and the presentation is _extremely_ small.
+
+
+ For free we get a _limit-style_ computation of _mapping cylinders_ (Artin glueings) without higher inductive types.
+
+
== The main result
+
+
_*Definition.*_ A type $X$ is called _$[0]$-connected_ when either of the following equivalent conditions hold:
+
+ The function space $X^[0]$ is contractible.
+
+ The injection $X -> [0] * X$ into the _join_ is an equivalence.
+
+
_*Remark.*_ The comparison map $X_bot -> Lift(X)$ exists as soon as $X$ is $[0]$-connected.
+
+
_*Definition.*_ A type $C$ is called _Sierpiński complete_ when the restriction map
+
$(Lift(X) -> C) -> (X_bot -> C)$
+
is an equivalence for generic $[0]$-connected $X$.
+
+
== The main result (_cntd._)
+
+
_*Theorem.*_ A type $C$ is Sierpiński complete if and only if the _little_ comparison map
+
$(Lift [i] -> C) -> ([i]_bot -> C)$ is an equivalence for all $i:II$.
+
+
_*Remark.*_ When $Sigma$ is conservative, the above is a slight _strengthening_ of the Segal condition for synthetic $(infinity,1)$-categories.
+
+
+
#line(length: 100%)
+
+
Last year I proved a restricted version for $0$-truncated $C$. Last month, I proved it unconditionally in Martin-Löf’s intensional type theory with function extensionality, for an arbitrary bounded partial order $Sigma$.
+
+
= Some dependently typed geometry
+
+
==
+
Many geometrical constructions expressed globally are actually _sums_ of simpler structures that can only be written down in type theory.
+
+
These type theoretic constructions are deeply suggestive…
+
+
== Open and closed modalities
+
Given $P:PROP$, we may form the _open modality_ $ opmod(P) X :equiv X^P $
+
and the _closed modality_ $ clmod(P) X :equiv P * X. $
+
+
Here, open/closed refers not to the topology induced by $Sigma$ but rather to the partitioning of the ambient higher topos $cal(E)$ into open/closed subtoposes. Nonetheless, there is a startling connection.
+
+
== $Lift(X)$ _vs._ $X_bot$ in terms of modalities
+
+
#let isf(i) = $chevron.l #i chevron.r$
+
+
The partial map classifier with respect to $Sigma$ is the _sum_ of all the open modalities $opmod([i])$, as we have $Lift(X) equiv mysum(i,II) opmod([i]) X$. Conversely, letting $ isf(-) colon II -> PROP $ be the indicator function for $0 in II$,
+
we will see that the Sierpiński cone is the sum of all the _closed modalities_ $clmod(isf(i))$, _i.e._
+
$X_bot tilde.equiv mysum(i,II) clmod(isf(i))X$.
+
+
A beautiful symmetry emerging from the failure of De Morgan’s laws in constructive mathematics, which I learned from Reid Barton.
+
+
+
+
== The Sierpiński cone is a sum of closed modalities
+
+
For generic $i:II$, we compute the closed modality $clmod(isf(i))X$.
+
#only("2-")[Then we apply the left adjoint $mysum(i,II) colon TYPE_(slash (i:II)) -> TYPE$, which preserves colimits.] #only("3-")[Then we simplify.]
+
+
#align(center)[
+
#only("1")[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
isf(i) times X edge("d", ->) edge("r", "hook->") & X edge("d", ->) \
+
isf(i) edge("r", ->) & clmod(isf(i)) X
+
$,
+
node((.5,.5), [_cocart._]),
+
)
+
]
+
#only("2")[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
mysum(i,II) isf(i) times X edge("d", ->) edge("r", "hook->") & mysum(i,II) X edge("d", ->) \
+
mysum(i,II) isf(i) edge("r", ->) & mysum(i,II) clmod(isf(i)) X
+
$,
+
node((.5,.5), [_cocart._]),
+
)
+
]
+
#only("3")[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
X edge("d", ->) edge("r", "hook->") & II times X edge("d", ->) \
+
bold(1) edge("r", ->) & mysum(i,II) clmod(isf(i)) X
+
$,
+
node((.5,.5), [_cocart._]),
+
)
+
]
+
]
+
+
== The open mapping cylinder
+
+
The Sierpiński cone $X_bot$ is a special case of the _open mapping cylinder_.
+
+
#align(center)[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
E edge("d", ->, label: f) edge("r", ->, label: 1_E) & E edge("d", "hook->", label: iota_f, label-side: #left)\
+
B edge("r", "hook->", label-side: #right, label: bot_f) & MCyl(f)
+
$,
+
node((.5,.5), $arrow.tr.double$),
+
)
+
#h(2em)
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
E edge("d", ->) edge("r", "hook->", label: (0,E)) & II times E edge("d", "hook->", label: gamma_f, label-side: #center) & edge("l", "hook->", (1,E)) E edge("dl", "hook->", label: iota_f, label-angle: #auto, label-side: #left)\
+
B edge("r", "hook->", label-side: #right, label: bot_f) & MCyl(f)
+
$,
+
node((.5,.5), [_cocart._]),
+
)
+
]
+
+
*NB*: $B arrow.r.hook MCyl(f)$ is a closed embedding; when $f colon E -> B$ is a $[0]$-connected map, then $iota_f colon E arrow.r.hook MCyl(f)$ is an open embedding.
+
+
== The open mapping cylinder is a sum of Sierpiński cones
+
+
The open mapping cylinder $MCyl(f)$ turns out to be the sum of all the Sierpiński cones of the _fibres_ of $f$. #only("2-")[We compute generically in $x:B$.] #only("3-")[Then we apply the left adjoint $mysum(x,B) colon TYPE_(slash (x:B)) -> TYPE$.] #only("4-")[Simplify with Frobenius,] #only("5-")[ and straightening/unstraightening.]
+
+
#align(center)[
+
#only("2")[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
fib(f,x) edge("d", ->) edge("r", "hook->") & II times fib(f,x) edge("d", ->) \
+
bold(1) edge("r", ->) & fib(f,x)_bot
+
$,
+
node((.5,.5), [_cocart._]),
+
)
+
]
+
#only("3")[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
mysum(x,B) fib(f,x) edge("d", ->) edge("r", "hook->") & mysum(x,B) II times fib(f,x) edge("d", ->) \
+
mysum(x,B) bold(1) edge("r", ->) & mysum(x,B) fib(f,x)_bot
+
$,
+
node((.5,.5), [_cocart._]),
+
)
+
]
+
#only("4")[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
mysum(x,B) fib(f,x) edge("d", ->) edge("r", "hook->") & II times mysum(x,B) fib(f,x) edge("d", ->) \
+
mysum(x,B) bold(1) edge("r", ->) & mysum(x,B) fib(f,x)_bot
+
$,
+
node((.5,.5), [_cocart._]),
+
)
+
]
+
#only("5")[
+
#diagram(
+
cell-size: 15mm,
+
label-sep: 0em,
+
$
+
A edge("d", ->) edge("r", "hook->") & II times A edge("d", ->) \
+
B edge("r", ->) & mysum(x,B) fib(f,x)_bot
+
$,
+
node((.5,.5), [_cocart._]),
+
)
+
]
+
]
+
+
== The open mapping cylinder of a _family_
+
+
From a type theoretic point of view, the function $f colon E -> B$ could be viewed instead as a family $x:B tack.r E[-] : TYPE$, whose open mapping cylinder we can define more directly.
+
$
+
limits(MCylFam)_((x:B)) E[x] :equiv
+
mysum(x,B)
+
E[x]_bot
+
equiv
+
mysum(x,B)
+
mysum(i,II)
+
clmod(isf(i)) E[x]
+
$
+
+
(This is the open mapping cylinder of the fibration $pi colon mysum(x,B) E[x] -> B$.)
+
+
#let mathmute(x) = text(fill: luma(120), $#x$)
+
+
+
== The “logical” open mapping cylinder
+
+
All this suggests a “logical” or limit-style counterpart to the open mapping cylinder, using the partial map classifier:\
+
$
+
mathmute(
+
limits(MCylFam)_((x:B)) E[x]
+
&:equiv
+
mysum(x,B)
+
E[x]_bot
+
&tilde.equiv
+
&mysum(x,B)
+
mysum(i,II)
+
clmod(isf(i)) E[x]
+
)
+
\
+
limits(LiftFam)_((x:B)) E[x]
+
&:equiv
+
mysum(x,B) Lift(E[x])
+
&equiv
+
&mysum(x,B) mysum(i,II) opmod([i]) E[x]
+
$
+
+
== A corollary for mapping cylinders
+
+
Let $x:B tack.r E[x]$ be a family of $[0]$-connected types. Then we have an evident universal comparison map $MCylFam_((x:B)) E[x] -> LiftFam_((x:B)) E[x]$.
+
+
_*Corollary.*_ Let $C$ be Sierpínski complete. Then for any family $x:B tack.r E[x]$ of $[0]$-connected types, $C$ is orthogonal to this comparison map, _i.e._
+
$
+
(limits(LiftFam)_((x:B)) E[x] -> C)
+
->
+
(limits(MCylFam)_((x:B)) E[x] -> C)
+
$
+
is an equivalence.
+
+
== What does the mapping cylinder classify?
+
+
#set text(size: 0.95em)
+
+
Several years ago, I asked whether the Artin glueing of a geometric morphism classifies models of an interesting theory.
+
+
Our results imply an answer to the analogous question for *synthetic topology*: in suitable reflective subuniverses, mapping cylinders may be computed as sums of partial map classifiers. The subtlety is to ensure the reflective subuniverse is closed under mapping cylinders of _suitable_#footnote[Take care: the appropriate condition on the family is _not_ fiberwise: we need the _fibration_ $mysum(b,B)E[x] -> B$ and the base $B$ to be local.] families.
+
+
+ Leoni Pugh: automatic when $Sigma$ is local, dominant, and satisfies Phoa.
+
+ Otherwise we may adapt the theory of “well-completeness” from SDT.
+
+
+
= thank you!
+
+
+
== Future work
+
+
All these notions and results can be dualised to _closed embeddings_ by considering the dual lattice $Sigma^"op"$. We have Hyland's co-partial map classifier $CoLift(X)$ and the inverted Sierpiński cone $X^top$, and the closed mapping cylinders $ClMCyl(f)$.
+
+
What about more general glueings? That would be good, but I am not yet sure how to proceed.
+351 -134
lics.tex
···
\usepackage{mathtools}
\usepackage{tikz-cd}
\usepackage[capitalise]{cleveref}
+
\usetikzlibrary{arrows.meta, calc}
\settopmatter{printfolios=true}
+
+
\Crefname{diagram}{Diagram}{Diagrams}
\NewDocumentCommand\OpenMCyl{}{\mathsf{M}^\circ}
\NewDocumentCommand\ClosedMCyl{}{\mathsf{M}^\bullet}
···
\NewDocumentCommand\Lift{}{\mathsf{L}^\circ}
\NewDocumentCommand\CoLift{}{\mathsf{L}^\bullet}
+
\NewDocumentCommand\HornLift{}{\mathsf{L}^{\Lambda}}
+
\NewDocumentCommand\TriLift{}{\mathsf{L}^{\Delta}}
\tikzcdset{
-
open immersion/.style={
+
open embedding/.style={
-{Triangle[open]}, hook
},
-
closed immersion/.style={
+
closed embedding/.style={
-{Triangle[fill=black]}, hook
}
}
···
The two-handedness of $\II$ extends to an identification between the \emph{Sierpi\'nski cone} and the \emph{partial map classifier} of any space $\XX$, which we illuminate below. The Sierpi\'nski cone $\XX_\bot$ of a space $\XX$ is the following co-comma square, which we may compute by means of a pushout:
\[
\begin{tikzcd}
-
\XX\ar[r,equals]\ar[d] & \XX \ar[d,open immersion,"\iota_\XX"]\\
-
\One\arrow[r,swap,closed immersion,"\bot_\XX"]\ar[ur,phantom,"{\Uparrow}\gamma_\XX"] & \XX\mathrlap{_\bot}
+
\XX\ar[r,equals]\ar[d] & \XX \ar[d,open embedding,"\iota_\XX"]\\
+
\One\arrow[r,swap,closed embedding,"\bot_\XX"]\ar[ur,phantom,"{\Uparrow}\gamma_\XX"] & \XX\mathrlap{_\bot}
\end{tikzcd}
\qquad
\begin{tikzcd}
-
\XX\ar[r,closed immersion,"{(0,\XX)}"]\ar[d] & \II\times\XX \ar[d,"\gamma_\XX"description] & \XX\ar[l,open immersion,swap,"{(1,\XX)}"]\ar[dl,sloped,swap,open immersion,"\iota_\XX"] \\
-
\One\ar[r,swap,closed immersion,"\bot_\XX"] & |[pushout]|\XX\mathrlap{_\bot}
+
\XX\ar[r,closed embedding,"{(0,\XX)}"]\ar[d] & \II\times\XX \ar[d,"\gamma_\XX"description] & \XX\ar[l,open embedding,swap,"{(1,\XX)}"]\ar[dl,sloped,swap,open embedding,"\iota_\XX"] \\
+
\One\ar[r,swap,closed embedding,"\bot_\XX"] & |[pushout]|\XX\mathrlap{_\bot}
\end{tikzcd}
\]
···
The (open) partial map classifier $\eta_\XX\colon \XX\hookrightarrow \Lift(\XX)$ is, on the other hand, the partial product of $\XX$ with the open embedding $\{1\}\hookrightarrow \II$ and classifies spans
\[
\begin{tikzcd}
-
\XX & U\ar[l]\ar[r,open immersion]& \mathbb{Y}
+
\XX & U\ar[l]\ar[r,open embedding]& \mathbb{Y}
\end{tikzcd}
\]
where $U$ is an \emph{open} subspace of $\mathbb{Y}$, \emph{i.e.}\ a pullback of $\{1\}\hookrightarrow \II$ in the sense that every such span arises in the context of a unique pullback square:
\[
\begin{tikzcd}
-
|[pullback]|U\ar[r]\ar[d,open immersion] & \XX\ar[d,open immersion,"\eta_\XX"]\\
+
|[pullback]|U\ar[r]\ar[d,open embedding] & \XX\ar[d,open embedding,"\eta_\XX"]\\
\mathbb{Y}\ar[r,densely dashed,swap,"\exists!"] & \Lift(\XX)
\end{tikzcd}
\]
···
\[
\begin{tikzcd}
-
\XX\ar[r,equals]\ar[d] & \XX \ar[d,open immersion,"\eta_\XX"]\\
-
\One\arrow[r,swap,closed immersion,"\bot_\XX"]\ar[ur,phantom,"{\Uparrow}"] & \Lift(\XX)
+
\XX\ar[r,equals]\ar[d] & \XX \ar[d,open embedding,"\eta_\XX"]\\
+
\One\arrow[r,swap,closed embedding,"\bot_\XX"]\ar[ur,phantom,"{\Uparrow}"] & \Lift(\XX)
\\
-
|[gray, sw muted pullback]|\varnothing \ar[u,gray,open immersion]\ar[r,gray,-{Triangle[fill=gray]}, hook] & |[gray]|\XX \ar[u,swap,gray,open immersion,"\eta_\XX"]
+
|[gray, sw muted pullback]|\varnothing \ar[u,gray,open embedding]\ar[r,gray,-{Triangle[fill=gray]}, hook] & |[gray]|\XX \ar[u,swap,gray,open embedding,"\eta_\XX"]
\end{tikzcd}
\qquad
\begin{tikzcd}
-
|[pullback]|\XX\ar[r,equals]\ar[d,open immersion,swap,"\iota_\XX"] & \XX\ar[d,open immersion,"\eta_\XX"]\\
+
|[pullback]|\XX\ar[r,equals]\ar[d,open embedding,swap,"\iota_\XX"] & \XX\ar[d,open embedding,"\eta_\XX"]\\
\XX_\bot\ar[r,densely dashed,swap,"\exists!"] & \Lift(\XX)
\end{tikzcd}
\]
···
\em for any type $X$, the comparison map $X_\bot\to \Lift(X)$ is an equivalence,
\end{quote}
because statements in type theory are automatically invariant under change-of-context.\footnote{Indeed, context invariance is in some sense the entire reason for dependent type theory to exist at all.} Indeed, \citet{pugh-sterling-2025} noted that under this assumption, we could deduce
-
\begin{equation}\label{bad-deduction}
+
\begin{equation}\label[equation]{bad-deduction}
\textstyle\prod_{(i:\mathbb{I})}
\mathsf{isEquiv}\bigl\lparen
(i=1)_\bot
···
The Sierpi\'nski cone is a special case of a more general co-comma construction that yields the \emph{Artin glueing} or \emph{closed mapping cylinder} of a function $f\colon X\to Y$:
\[
\begin{tikzcd}
-
X\ar[r,equals]\ar[d,swap,"f"] & X \ar[d,open immersion,"\iota_f"]\\
-
Y\arrow[r,swap,closed immersion,"\bot_f"]\ar[ur,phantom,"{\Uparrow}\gamma_f"] & f \uparrow X
+
X\ar[r,equals]\ar[d,swap,"f"] & X \ar[d,open embedding,"\iota_f"]\\
+
Y\arrow[r,swap,closed embedding,"\bot_f"]\ar[ur,phantom,"{\Uparrow}\gamma_f"] & f \uparrow X
\end{tikzcd}
\]
···
and under this identification, the Artin glueing of $f$ becomes the sum of all the Sierpi\'nski cones of the fibres of $f\colon X\to Y$,
\[
\begin{tikzcd}[column sep=huge]
-
\sum_{(y:Y)}\mathsf{fib}_f(y)\ar[r,equals]\ar[d,swap,"\sum_{(y:Y)}\star"] & \sum_{(y:Y)}\mathsf{fib}_f(y) \ar[d,open immersion,"\sum_{(y:Y)}\iota_{\mathsf{fib}_f(y)}"]\\
-
\sum_{(y:Y)}\mathbf{1}\arrow[r,swap,closed immersion,"\sum_{(y:Y)}\bot_{\mathsf{fib}_f(y)}"]\ar[ur,phantom,"{\Uparrow}\sum_{(y:Y)}\gamma_{\mathsf{fib}_f(y)}"] & \sum_{(y:Y)} (\mathsf{fib}_f(y))_\bot
+
\sum_{(y:Y)}\mathsf{fib}_f(y)\ar[r,equals]\ar[d,swap,"\sum_{(y:Y)}\star"] & \sum_{(y:Y)}\mathsf{fib}_f(y) \ar[d,open embedding,"\sum_{(y:Y)}\iota_{\mathsf{fib}_f(y)}"]\\
+
\sum_{(y:Y)}\mathbf{1}\arrow[r,swap,closed embedding,"\sum_{(y:Y)}\bot_{\mathsf{fib}_f(y)}"]\ar[ur,phantom,"{\Uparrow}\sum_{(y:Y)}\gamma_{\mathsf{fib}_f(y)}"] & \sum_{(y:Y)} (\mathsf{fib}_f(y))_\bot
\end{tikzcd}
\]
keeping in mind that the summing functor \[ \textstyle\sum_{Y}\colon \mathbf{Type}/Y\to \mathbf{Type} \]
···
The Sierpi\'nski cone of a space $X$ is contains $X$ as an \emph{open} subspace above a minimal closed point as depicted below:
\[
\begin{tikzcd}
-
X\ar[r,equals]\ar[d] & X \ar[d,open immersion,"\iota_X"]\\
-
\One\arrow[r,swap,closed immersion,"\bot_X"]\ar[ur,phantom,"{\Uparrow}\gamma_X"] & X\mathrlap{_\bot}
+
X\ar[r,equals]\ar[d] & X \ar[d,open embedding,"\iota_X"]\\
+
\One\arrow[r,swap,closed embedding,"\bot_X"]\ar[ur,phantom,"{\Uparrow}\gamma_X"] & X\mathrlap{_\bot}
\end{tikzcd}
\]
There is a dual construction $X^\top$ in which we change the orientation of the cylinder so as to obtain $X$ as a \emph{closed} subspace under a maximal open point, \citet{taylor:2000} refers to as \emph{inverted Sierpi\'nski cone}:
\[
\begin{tikzcd}
-
X\ar[r,equals]\ar[d] & X \ar[d,closed immersion,"\Flip{\iota}_X"]\\
-
\One\arrow[r,swap,open immersion,"\top_X"]\ar[ur,phantom,"{\Downarrow}\Flip{\gamma}_X"] & X\mathrlap{^\top}
+
X\ar[r,equals]\ar[d] & X \ar[d,closed embedding,"\Flip{\iota}_X"]\\
+
\One\arrow[r,swap,open embedding,"\top_X"]\ar[ur,phantom,"{\Downarrow}\Flip{\gamma}_X"] & X\mathrlap{^\top}
\end{tikzcd}
\]
···
Each bounded distributive lattice $\J$ generates a ``geometry'' of cubes, simplices, horns, \emph{etc.}\ that are all obtained by glueing together various $\J$-spectrums.
-
\subsubsection{The interval; open and closed immersions}
+
\subsubsection{The interval; open and closed embeddings}
We will write $\II$ to denote the ``interval'', which we may define to be the underlying set of $\J$ itself. The ``observational topology'' $\Opens{\J}X \equiv \J^X$ of a space $X$ therefore has $\II^X$ as its underlying set/space. The role of the interval in representing the intrinsic topology of a given space leads to a simple description of \emph{open} and \emph{closed} subspaces.
\begin{definition}
-
An embedding $X\hookrightarrow Y$ is called an \emph{open immersion} when it arises as the pullback of the inclusion $\{1\}\hookrightarrow \II$, and a \emph{closed immersion} when it arises as a pullback of the inclusion $\{0\}\hookrightarrow \II$.
+
An embedding $X\hookrightarrow Y$ is called an \emph{open embedding} when it arises as the pullback of the inclusion $\{1\}\hookrightarrow \II$, and a \emph{closed embedding} when it arises as a pullback of the inclusion $\{0\}\hookrightarrow \II$.
\end{definition}
-
The open and closed immersions
+
The open and closed embeddings
\[
\begin{tikzcd}
\{0\}
-
\ar[r,closed immersion]
+
\ar[r,closed embedding]
&
\II
&
-
\ar[l, open immersion]
+
\ar[l, open embedding]
\{1\}
\end{tikzcd}
\]
···
&
|[pullback]|U
\ar[l]
-
\ar[d, open immersion]
+
\ar[d, open embedding]
\ar[r]
&
\{1\}
-
\ar[d, open immersion]
+
\ar[d, open embedding]
\\
&
X
···
&
|[pullback]|K
\ar[l]
-
\ar[d, closed immersion]
+
\ar[d, closed embedding]
\ar[r]
&
\{0\}
-
\ar[d, closed immersion]
+
\ar[d, closed embedding]
\\
&
X
···
In type theoretic terms, we may compute the generic inner horn following \citet{riehl-shulman:2017} as the following subspace of the triangle $\Spx{\Two}$:
\[
-
\Horn :\equiv \{ (i \geq j) : \Spx{\Two} \mid \IsT{i} \lor \IsF{j}\}
+
\Horn :\equiv \{ (i \geq j) : \Spx{\Two} \mid \IsF{j} \lor \IsT{i}\}
\]
From a geometrical point of view, the above amounts to glueing the interval onto itself end-to-end with the images of each copy of the interval forming open and closed subspaces respectively of the horn as follows:
\[
\begin{tikzcd}
|[pullback]|\mathbf{1}
-
\ar[r,closed immersion, "0"]
-
\ar[d,open immersion, "1"']
+
\ar[r,closed embedding, "0"]
+
\ar[d,open embedding, "1"']
&
\II
-
\ar[d,open immersion, "(-\geq 0)"]
+
\ar[d,open embedding, "(-\geq 0)"]
\\
\II
-
\ar[r,closed immersion, "(1\geq -)"']
+
\ar[r,closed embedding, "(1\geq -)"']
&
|[pushout]|\Horn
\end{tikzcd}
···
Eliminating singletons, we therefore obtain the familiar categorical description of the Sierpi\'nski cone:
\[
\begin{tikzcd}
-
X\ar[r,closed immersion,"{(0,X)}"]\ar[d] & \II\times X \ar[d,"\gamma_X"description] & X\ar[l,open immersion,swap,"{(1,X)}"]\ar[dl,sloped,swap,hookrightarrow,"\iota_X"] \\
-
\One\ar[r,swap,closed immersion,"\bot_X"] & |[pushout]|X\mathrlap{_\bot}
+
X\ar[r,closed embedding,"{(0,X)}"]\ar[d] & \II\times X \ar[d,"\gamma_X"description] & X\ar[l,open embedding,swap,"{(1,X)}"]\ar[dl,sloped,swap,hookrightarrow,"\iota_X"] \\
+
\One\ar[r,swap,closed embedding,"\bot_X"] & |[pushout]|X\mathrlap{_\bot}
\end{tikzcd}
\]
\begin{remark}
-
Note that unless $\J$ is consistent, the inclusion $\iota_X\colon X\hookrightarrow X_\bot$ may not be an open immersion.
+
Note that unless $\J$ is consistent, the inclusion $\iota_X\colon X\hookrightarrow X_\bot$ may not be an open embedding.
\end{remark}
Dually, we define the \emph{inverted} Sierpi\'nski cone $X^\top$ of $X$ to be the Sierpi\'nski cone in the geometric context of the distributed lattice $\J\Op$. In particular, we have
···
\subsubsection{The mapping cylinder of a function}
The \emph{(open, closed) mapping cylinder} of a function $f\colon E\to B$ is defined to be (closed, open) fibre cylinder of the family $x:B\vdash \mathsf{fib}_f(x)$:
-
\begin{align*}
-
\OpenMCyl_B(f) &:\equiv \OpenMCyl_{(x:B)}\mathsf{fib}_f(x)\\
-
\ClosedMCyl_B(f) &:\equiv \ClosedMCyl_{(x:B)}\mathsf{fib}_f(x)
-
\end{align*}
+
\[
+
\ClosedMCyl_B(f) :\equiv \ClosedMCyl_{(x:B)}\mathsf{fib}_f(x),\qquad
+
\OpenMCyl_B(f) :\equiv \OpenMCyl_{(x:B)}\mathsf{fib}_f(x)
+
\]
Restricting attention to the open mapping cylinder, we recall that the summing functor $\sum_B\colon\mathbf{Type}/B\to\mathbf{Type}$ preserves colimits and so the following is a pushout square:
\[
\begin{tikzcd}[column sep=huge]
\sum_{(x:B)}\mathsf{fib}_f(x)
-
\ar[r, closed immersion, "{\sum_{(x:B)}(0, \mathsf{fib}_f(x))}"]
+
\ar[r, closed embedding, "{\sum_{(x:B)}(0, \mathsf{fib}_f(x))}"]
\ar[d, "{\sum_{(x:B)}\star}"']
&
\sum_{(x:B)}\II\times \mathsf{fib}_f(x)
\ar[d, "{\sum_{(x:B)}\gamma_{\mathsf{fib}_f(x)}}"]
\\
\sum_{(x:B)}\mathbf{1}
-
\ar[r, closed immersion, "{\sum_{(x:B)}\bot_{\mathsf{fib}_f(x)}}"']
+
\ar[r, closed embedding, "{\sum_{(x:B)}\bot_{\mathsf{fib}_f(x)}}"']
&
|[pushout]|\sum_{(x:B)} \mathsf{fib}_f(x)_\bot
\end{tikzcd}
···
\[
\begin{tikzcd}
E
-
\ar[r,open immersion, "{(1,E)}"]
+
\ar[r,open embedding, "{(1,E)}"]
\ar[dr,hookrightarrow,sloped,"\iota_f"']
&
\II\times E
\ar[d, "\gamma_f"description]
&
E
-
\ar[r, open immersion, "{(1, E)}"]
-
\ar[l, closed immersion, "{(0, E)}"']
+
\ar[r, open embedding, "{(1, E)}"]
+
\ar[l, closed embedding, "{(0, E)}"']
\ar[d, "f"description]
&
\II\times E
\ar[d, "\Flip{\gamma}_f"description]
&
E
-
\ar[l, closed immersion, "{(0,E)}"']
+
\ar[l, closed embedding, "{(0,E)}"']
\ar[dl, hookrightarrow, sloped, "\Flip{\iota}_f"']
\\
&
|[sw pushout]|\OpenMCyl_B(f)
&
B
-
\ar[r, open immersion, "\top_f"']
-
\ar[l, closed immersion, "\bot_f"]
+
\ar[r, open embedding, "\top_f"']
+
\ar[l, closed embedding, "\bot_f"]
&
|[pushout]|\ClosedMCyl_B(f)
\end{tikzcd}
···
\subsubsection{The dominance property}
-
Several results depend on the generic open immersion $\{1\}\hookrightarrow \II$ forming a dominance in the sense of \citet{rosolini:1986}, which is to say that $\J$ is conservative and open immersions are closed under composition.
+
Several results depend on the generic open embedding $\{1\}\hookrightarrow \II$ forming a dominance in the sense of \citet{rosolini:1986}, which is to say that $\J$ is conservative and open embeddings are closed under composition.
\begin{definition}
-
We will say that $\J$ is \emph{dominant} when the open immersion $\{1\}\hookrightarrow\II$ forms a dominance.
+
We will say that $\J$ is \emph{dominant} when the open embedding $\{1\}\hookrightarrow\II$ forms a dominance.
\end{definition}
\begin{example}
-
As an example, the dual lattice $\J\Op$ is dominant if and only if the closed immersion $\{0\}\hookrightarrow\II$ for $\J$ forms a dominance.
+
As an example, the dual lattice $\J\Op$ is dominant if and only if the closed embedding $\{0\}\hookrightarrow\II$ for $\J$ forms a dominance.
\end{example}
\begin{proposition}[{\citet{sterling2025domainsclassifyingtopoi}}]
···
Rosolini's dominances gives rise to an evident theory of partial maps and partial map classifier. In particular, we define a $\J$-partial map from $X$ to $Y$ to be a function $Z\to Y$ defined on an open subspace $Z$ of $X$. Dually, a $\J\Op$-partial map from $X$ to $Y$ would be a function $Z\to Y$ defined on a closed subspace $Z$ of $X$. When $\J$ is conservative, the partial products $\Lift(Y)$ and $\CoLift(Y)$ classify $\J$-partial and $\J\Op$-partial maps \emph{qua} spans
\[
\begin{tikzcd}[row sep=tiny]
-
Y& \ar[l] U\ar[r,open immersion] & X,
+
Y& \ar[l] U\ar[r,open embedding] & X,
\end{tikzcd}
\qquad
\begin{tikzcd}[row sep=tiny]
-
Y& \ar[l] K\ar[r,closed immersion] & X\text{.}
+
Y& \ar[l] K\ar[r,closed embedding] & X\text{.}
\end{tikzcd}
\]
···
We refer to the above as the (open, closed) \emph{logical} fibre cylinders of $E$ over $B$ respectively. When $\J$ is conservative, these classify the following kinds of squares respectively:
\[
\begin{tikzcd}
-
U \ar[d, open immersion] \ar[r] & \sum_{(x:B)}E[x]\ar[d, "\pi_1"description] & K\ar[d,closed immersion]\ar[l]\\
+
U \ar[d, open embedding] \ar[r] & \sum_{(x:B)}E[x]\ar[d, "\pi_1"description] & K\ar[d,closed embedding]\ar[l]\\
X \ar[r] & B & \ar[l] X
\end{tikzcd}
\]
···
We shall refer to these as the logical open/closed mapping cylinders respectively. At times, we may refer to the ordinary mapping cylinders $\OpenMCyl_B(f),\ClosedMCyl_B(f)$ as \emph{geometrical} mapping cylinders.
-
\subsection{The Sierpi\'nski comparison map}\label{sec:sierpinski-comparison-map}
+
\subsection{Comparison maps: geometry to logic}\label{sec:sierpinski-comparison-map}
+
+
\subsubsection{Comparing the Sierpi\'nski cone with the partial map classifier}
-
We will now describe the comparison maps $\sigma_X\colon X_\bot\to \Lift(X)$ and, dually, $\Flip{\sigma}_X\colon X^\top\to\CoLift(X)$. These comparison maps always exist as soon as $\J$ is consistent, but it will actually streamline subsequent matters slightly if we relax this assumption and instead consider $X$ drawn from the reflective subuniverse of \emph{$\IsF{1}$-connected} types, specified below.
+
We now describe the comparison maps $\sigma_X\colon X_\bot\to \Lift(X)$ and, dually, $\Flip{\sigma}_X\colon X^\top\to\CoLift(X)$. These comparison maps always exist as soon as $\J$ is consistent, but it will actually streamline subsequent matters slightly if we relax this assumption and instead consider $X$ drawn from the reflective subuniverse of \emph{$\IsT{0}$-connected} types, specified below.
\begin{definition}[{\citet{rijke-shulman-spitters:2020}}]
Let $P$ be a proposition. Then a type $X$ is $P$-connected if and only if either of the following equivalent conditions hold:
···
\end{enumerate}
\end{definition}
+
Of course, $\IsF{1}\Leftrightarrow\IsT{0}$ and so being $\IsT{0}$-connected is equivalent to being $\IsF{1}$-connected. These conditions, however, are \emph{definitionally} distinct and one may be more convenient than the other in a given situation.
\begin{remark}
-
Evidently, $\IsT{i}$ is $\IsF{1}$ connected for any $i:\II$.
+
Evidently, $\IsT{i}$ is $\IsT{0}$-connected for any $i:\II$.
\end{remark}
-
\begin{lemma}\label{lem:X-01-connected-incl-open}
+
\begin{lemma}\label[lemma]{lem:X-01-connected-incl-open}
When $X$ is $\IsF{1}$-connected, the square
\[
\begin{tikzcd}
···
\ar[d, hookrightarrow, "\iota_X"']
&
\{1\}
-
\ar[d,open immersion]
+
\ar[d,open embedding]
\\
X_\bot
\ar[r,"\pi"']
···
is cartesian, where $\pi\colon X_\bot \to \II$ is the map obtained universally from the following square:
\[
\begin{tikzcd}
-
X\ar[r,closed immersion,"{(0,X)}"]\ar[d] & \II\times X\ar[d,"\pi_1"]
+
X\ar[r,closed embedding,"{(0,X)}"]\ar[d] & \II\times X\ar[d,"\pi_1"]
\\
-
\mathbf{1}\ar[r,closed immersion,"0"'] & \II
+
\mathbf{1}\ar[r,closed embedding,"0"'] & \II
\end{tikzcd}
\]
Therefore, $\iota_X\colon X\hookrightarrow X_\bot$ is open for $\IsF{1}$-connected $X$.
···
of the Sierpi\'nski cone, the described map $\pi\colon X_\bot \to \II$ is precisely the first projection function, whose fibre over generic $i:\II$ is $\IsF{i}*X$. We are asked to check that the fibre of $\pi$ at $1:\II$ is precisely $X$, \emph{i.e.}\ that the canonical map $X \to \IsF{1}*X$ is an equivalence. But this is one of the equivalent formulations of $X$ being $\IsF{1}$-connected.
\end{proof}
-
Dually, the embedding $\Flip{\iota}_X\colon X\hookrightarrow X^\top$ is a closed immersion for $\IsT{0}$-connected $X$. Furthermore, the embeddings $\iota_f\colon E\hookrightarrow \OpenMCyl_B(f)$ and $\Flip{\iota}_f\colon E\hookrightarrow \ClosedMCyl_B(f)$ are open and closed respectively when $f\colon E\to B$ is a $\IsF{1}$-connected map. Of course, $\IsT{0}\cong \IsF{1}$ so $\IsF{1}$-connectedness and $\IsT{0}$-connectedness coincide, but they are \emph{definitionally} distinct properties.
+
Dually, the embedding $\Flip{\iota}_X\colon X\hookrightarrow X^\top$ is a closed embedding for $\IsT{0}$-connected $X$. Furthermore, the embeddings $\iota_f\colon E\hookrightarrow \OpenMCyl_B(f)$ and $\Flip{\iota}_f\colon E\hookrightarrow \ClosedMCyl_B(f)$ are open and closed respectively when $f\colon E\to B$ is a $\IsF{1}$-connected map. Of course, $\IsT{0}\cong \IsF{1}$ so $\IsF{1}$-connectedness and $\IsT{0}$-connectedness coincide, but they are \emph{definitionally} distinct properties.
\begin{construction}
-
When $X$ is $\IsF{1}$-connected, we may construct the \emph{undefined} partial element $\mathsf{undef}_X : \Lift(X)$ using the universal property of the partial product $\Lift(X)$:
+
When $X$ is $\IsT{0}$-connected, we may construct the \emph{undefined} partial element $\mathsf{undef}_X : \Lift(X)$ using the universal property of the partial product $\Lift(X)$:
\[
\begin{tikzcd}[column sep=large]
X
-
\ar[d,open immersion, "\eta_X"']
+
\ar[d,open embedding, "\eta_X"']
&
-
|[pullback, ne pullback]|\IsF{1}
+
|[pullback, ne pullback]|\IsT{0}
\ar[l,"!"']
-
\ar[r, closed immersion]
-
\ar[d,open immersion]
+
\ar[r, closed embedding]
+
\ar[d,open embedding]
&
\{1\}
-
\ar[d,open immersion]
+
\ar[d,open embedding]
\\
\Lift(X)
&
\One
\ar[l, densely dashed, "\mathsf{undef}_X"]
-
\ar[r,closed immersion, "0"']
+
\ar[r,closed embedding, "0"']
&
\II
\end{tikzcd}
···
\end{construction}
\begin{construction}
-
We can always construct the \emph{interpolation} $\mathsf{glue}_X\colon \II\times X \to \Lift(X)$ between the undefined element the fully defined element as follows:
+
For $\IsT{0}$-connected $X$, we can construct the \emph{interpolation} $\mathsf{glue}_X\colon \II\times X \to \Lift(X)$ between the undefined element the fully defined element as follows:
\[
\begin{tikzcd}[column sep=large]
X
-
\ar[d,open immersion, "\eta_X"']
+
\ar[d,open embedding, "\eta_X"']
&
|[pullback, ne pullback]|X
\ar[l,equals]
\ar[r]
-
\ar[d,open immersion,"{(1,X)}"description]
+
\ar[d,open embedding,"{(1,X)}"description]
&
\{1\}
-
\ar[d,open immersion]
+
\ar[d,open embedding]
\\
\Lift(X)
&
···
\begin{construction}
-
The comparison map $\sigma_X\colon X_\bot\to\Lift(X)$ for $\IsF{1}$-connected $X$ can be equivalently constructed using either the universal property of $X_\bot$ or the universal property of $\Lift(X)$. In the former case, we consider the square below:
+
The comparison map $\sigma_X\colon X_\bot\to\Lift(X)$ for $\IsT{0}$-connected $X$ can be equivalently constructed using either the universal property of $X_\bot$ or the universal property of $\Lift(X)$. In the former case, we consider the square below:
\[
\begin{tikzcd}[column sep=large]
X \ar[r, "{(0,X)}"]\ar[d]
···
\[
\begin{tikzcd}[column sep=large]
X
-
\ar[d,open immersion, "\eta_X"']
+
\ar[d,open embedding, "\eta_X"']
&
|[pullback, ne pullback]|X
\ar[l,equals]
\ar[r]
-
\ar[d,open immersion,"\iota_X"description]
+
\ar[d,open embedding,"\iota_X"description]
&
\{1\}
-
\ar[d,open immersion]
+
\ar[d,open embedding]
\\
\Lift(X)
&
···
recalling \cref{lem:X-01-connected-incl-open}
\end{construction}
-
\subsection{For fibre and mapping cylinders}
+
\subsubsection{Comparing geometrical and logical mapping cylinders}
-
The Sierpi\'nski comparison maps (\S~\ref{sec:sierpinski-comparison-map}) also allow a comparison between the ``geometrical'' and ``logical'' fibre cylinders. In particular, when $x:B\vdash E[x]$ is a family of $\IsF{1}$-connected types, we have the sum of comparison maps
+
The Sierpi\'nski comparison maps (\S~\ref{sec:sierpinski-comparison-map}) also allow a comparison between the ``geometrical'' and ``logical'' fibre cylinders. In particular, when $x:B\vdash E[x]$ is a family of $\IsT{0}$-connected types, we have the sum of comparison maps
\[
\textstyle\sum_{(x:B)}
\sigma_{E[x]}
···
\OpenMCyl_{(x:B)}E[x]
\to \Lift_{(x:B)}E[x]\text{,}
\]
-
and, dually, when $x:B\vdash E[x]$ is a family of $\IsT{0}$-connected types, we have the sum of dual comparison maps
+
and, dually, when $x:B\vdash E[x]$ is a family of $\IsF{1}$-connected types, we have the sum of dual comparison maps
\[
\textstyle\sum_{(x:B)}
\Flip{\sigma}_{E[x]}
···
\text{.}
\]
-
Therefore, when $f\colon E\to B$ is a $\IsF{1}$-connected map, the above gives rise to comparison maps from the geometrical to the logical open mapping cylinder
+
Therefore, when $f\colon E\to B$ is a $\IsT{0}$-connected map, the above gives rise to comparison maps from the geometrical to the logical open mapping cylinder
\[
\begin{tikzcd}
\OpenMCyl_B(f) \ar[r,equals] \ar[d,densely dashed] & \OpenMCyl_{(x:B)}\mathsf{fib}_f(x)\ar[d, "\sum_{(x:B)}\sigma_{E[x]}"]
···
\Lift_B(f) \ar[r,equals] & \Lift_{(x:B)}\mathsf{fib}_f(x)\text{,}
\end{tikzcd}
\]
-
and dually for $\IsT{0}$-connected $f\colon E\to B$ a dual comparison map $\ClosedMCyl_B(f)\to \CoLift_B(f)$ for the closed mapping cylinders.
+
and dually for $\IsF{1}$-connected $f\colon E\to B$ a dual comparison map $\ClosedMCyl_B(f)\to \CoLift_B(f)$ for the closed mapping cylinders.
\section{Local subuniverses of spaces}
-
\subsection{Preliminary definitions}
+
\subsection{Segal completeness}
-
\subsubsection{Segal completeness}
-
-
From \citet{riehl-shulman:2017} we recall that a type $C$ is called \emph{Segal complete} when it is internally right orthogonal to the comparison map $\Horn\hookrightarrow\Spx{\Two}$. To be precise, this means that the restriction map
-
\[
+
From \citet{riehl-shulman:2017} we recall that a type $C$ is called \emph{Segal complete} when it is right orthogonal to the comparison map $\Horn\hookrightarrow\Spx{\Two}$. To be precise, this means that the restriction map
+
$
(\Spx{\Two}\to C) \to (\Horn\to C)
-
\]
+
$
is an equivalence. The Segal complete types form an \emph{accessible} reflective subuniverse---because the localising class $\mathcal{L}_{\textit{Segal}} \equiv \{\Horn\hookrightarrow\Spx{\Two}\}$ is very small indeed.
-
\subsubsection{Upper and lower Segal completeness}
+
\subsection{Upper and lower Segal completeness}
% \subsubsection{Slices and co-slices of the interval}
-
For $i:\II$, may consider the following finitely presented $\J$-algebras:
-
\begin{align*}
-
\J[\mathsf{x}\leq i] &:\equiv
-
\J[\mathsf{x}]/ (\mathsf{x}\land i =\mathsf{x})
-
\\
-
\J[\mathsf{x}\geq i] &:\equiv
+
For $i:\II$, consider the following finitely presented $\J$-algebras:
+
\[
+
\J[\mathsf{x}\leq i] :\equiv
+
\J[\mathsf{x}]/ (\mathsf{x}\land i =\mathsf{x})\text{,}
+
\quad
+
\J[\mathsf{x}\geq i] :\equiv
\J[\mathsf{x}]/ (\mathsf{x}\land i = i)
-
\end{align*}
+
\]
Applying the \emph{spectrum} functor we obtain corresponding subspaces of the interval:
\begin{align*}
···
We also have evident inclusions $\II/i \hookrightarrow \Lift\IsT{i}$ and $i/\II\hookrightarrow \CoLift\IsF{i}$ as in the following classification squares:
\[
\begin{tikzcd}[column sep=small,cramped]
-
\IsT{i}\ar[d,open immersion, "\eta_{\IsT{i}}"'] & |[pullback,ne pullback]|\IsT{i} \ar[r]\ar[l, equals] \ar[d,open immersion]& \{1\}\ar[d,open immersion]
+
\IsT{i}\ar[d,open embedding, "\eta_{\IsT{i}}"'] & |[pullback,ne pullback]|\IsT{i} \ar[r]\ar[l, equals] \ar[d,open embedding]& \{1\}\ar[d,open embedding]
\\
\Lift\IsT{i} & \ar[l,hookrightarrow,densely dashed, "\exists!"] \II/i\ar[r,hookrightarrow] & \II
\end{tikzcd}
\quad
\begin{tikzcd}[column sep=small,cramped]
-
\IsF{i}\ar[d,closed immersion, "\Flip{\eta}_{\IsF{i}}"'] & |[pullback,ne pullback]|\IsF{i} \ar[r]\ar[l,equals] \ar[d,closed immersion]& \{0\}\ar[d,closed immersion]
+
\IsF{i}\ar[d,closed embedding, "\Flip{\eta}_{\IsF{i}}"'] & |[pullback,ne pullback]|\IsF{i} \ar[r]\ar[l,equals] \ar[d,closed embedding]& \{0\}\ar[d,closed embedding]
\\
\CoLift\IsF{i} & \ar[l,hookrightarrow,densely dashed, "\exists!"] i/\II\ar[r,hookrightarrow] & \II
\end{tikzcd}
\]
-
\begin{proposition}[{\citet{pugh-sterling-2025}}]\label{prop:lift-as-slice}
+
\begin{proposition}[{\citet{pugh-sterling-2025}}]\label[proposition]{prop:lift-as-slice}
When $\J$ is conservative, the inclusion $\II/i\hookrightarrow \Lift\IsT{i}$ is an equivalence.
\end{proposition}
-
\begin{corollary}\label{cor:colift-as-coslice}
+
\begin{corollary}\label[corollary]{cor:colift-as-coslice}
Dually when $\J\Op$ is conservative, the comparison map $i/\II\to\CoLift\IsF{i}$ is an equivalence. Hence, when $\J$ is stably quasi-coherent, both comparison maps are equivalences.
\end{corollary}
% \subsubsection{Little comparison maps}
-
Recalling the definitions of the little Sierpi\'nski cones in either orientation, we have:
+
Recalling the definitions of the little Sierpi\'nski cones in either orientation, we have
-
\begin{align*}
-
\IsT{i}_\bot &\equiv \{ j : \II \mid \IsF{j}\lor \IsT{i}\}
-
\\
-
\IsF{i}^\top &\equiv \{ j : \II\mid \IsT{j}\lor \IsF{i} \}
-
\end{align*}
-
-
We have evident inclusions
\[
-
\IsT{i}_\bot \subseteq \II/i\subseteq \II\qquad
-
\IsF{i}^\top \subseteq i/\II\subseteq \II
+
\IsT{i}_\bot \equiv \{ j : \II \mid \IsF{j}\lor \IsT{i}\},
+
\qquad
+
\IsF{i}^\top \equiv \{ j : \II\mid \IsT{j}\lor \IsF{i} \}
+
\]
+
and evident inclusions
+
\[
+
\IsT{i}_\bot \subseteq \II/i\subseteq \II,\qquad
+
\IsF{i}^\top \subseteq i/\II\subseteq \II\text{.}
\]
···
(Evidently, a type is upper Segal complete with respect to $\J$ if and only if it is lower Segal complete with respect to the dual lattice $\J\Op$.)
-
\subsubsection{Sierpi\'nski completeness}
+
\subsection{Sierpi\'nski completeness}
We shall slightly adapt the definition of \emph{Sierpi\'nski completeness} from \citet{pugh-sterling-2025} to avoid relying on global assumptions.
\begin{definition}
-
A type $C$ is called \emph{Sierpi\'nski complete} when it is internally right orthogonal to the comparison map
+
A type $C$ is called \emph{Sierpi\'nski complete} when it is right orthogonal to the comparison map
\[ \sigma_X\colon X_\bot \to \Lift(X) \]
-
for generic $\IsF{1}$-connected $X$.\footnote{Compare with \citet{pugh-sterling-2025}, who gave the definition of Sierpi\'nski completeness only under the global assumption that the $\J$ is non-trivial, so that \emph{every} $X$ is $\IsF{1}$-connected.}
+
for generic $\IsT{0}$-connected $X$.\footnote{Compare with \citet{pugh-sterling-2025}, who gave the definition of Sierpi\'nski completeness only under the global assumption that the $\J$ is non-trivial, so that \emph{every} $X$ is $\IsT{0}$-connected.}
\end{definition}
-
Dually, we may define a type to be \emph{inverted Sierpi\'nski complete} when it is internally right orthogonal to
+
Dually, we may define a type to be \emph{inverted Sierpi\'nski complete} when it is right orthogonal to
\Flip{\sigma}_X\colon X^\top \to \CoLift(X)
-
for generic $\IsT{0}$-connected $X$. Evidently a type is Sierpi\'nski complete with respect to $\J$ if and only if it is inverted Sierpi\'nski complete with respect to $\J\Op$.
+
for generic $\IsF{1}$-connected $X$. Evidently a type is Sierpi\'nski complete with respect to $\J$ if and only if it is inverted Sierpi\'nski complete with respect to $\J\Op$.
-
\subsection{Comparing orthogonality laws}
+
\section{Comparison results for local subuniverses}
\begin{proposition}[{\citet{pugh-sterling-2025}}]
When $\J$ is conservative, a type $C$ is upper Segal complete if and only if it is orthogonal to the little comparison map $\sigma_{\IsT{i}}\colon \IsT{i}_\bot\hookrightarrow \Lift\IsT{i}$ for generic $i:\II$.
···
\end{corollary}
-
\begin{theorem}\label{thm:sierpinski-completeness-mapping-cylinders}
+
\begin{theorem}\label[theorem]{thm:sierpinski-completeness-mapping-cylinders}
The following are equivalent for a type $C$:
\begin{enumerate}
\item The type $C$ is Sierpi\'nski complete.
-
\item The type $C$ is internally right orthogonal to the comparison map
-
\[ \OpenMCyl_{(x:B)}E[x]\to \Lift_{(x:B)}E[x]\] from the geometrical to the logical for each family of $\IsF{1}$-connected types $x:B\vdash E[x]$.
-
\item The type $C$ is internally right orthogonal to the comparison map \[ \OpenMCyl_B(f)\to \Lift_B(f)\] for each $\IsF{1}$-connected function $f\colon E\to B$.
+
\item The type $C$ is right orthogonal to the comparison map
+
\[ \OpenMCyl_{(x:B)}E[x]\to \Lift_{(x:B)}E[x]\] from the geometrical to the logical open fibre cylinder for each family of $\IsT{0}$-connected types $x:B\vdash E[x]$.
+
\item The type $C$ is right orthogonal to the comparison map \[ \OpenMCyl_B(f)\to \Lift_B(f)\] for each $\IsF{1}$-connected function $f\colon E\to B$.
\end{enumerate}
\end{theorem}
\begin{proof}
-
The latter two conditions are obviously equivalent. The (2) implies (1) follows by viewing a $\IsF{1}$-connected type $X$ as a family $\_:\One\vdash X$. That (1) implies (2) can be seen by consider the following (definitionally) commuting square
+
The latter two conditions are obviously equivalent. The (2) implies (1) follows by viewing a $\IsT{0}$-connected type $X$ as a family $\_:\One\vdash X$. That (1) implies (2) can be seen by considering the following commuting square
\[
\begin{tikzcd}
-
{\bigl[\Lift_{(x:B)}E[x], C\bigr]}
+
C^{\Lift_{(x:B)}E[x]}
\ar[d]
\ar[r,"\cong"]
-
{\prod_{(x:B)}\bigl[\Lift(E[x]), C\bigr]}
+
{\prod_{(x:B)}C^{\Lift(E[x])}}
\ar[d, "\cong"]
\\
-
{\bigl[\OpenMCyl_{(x:B)}E[x], C\bigr]}
+
C^{\OpenMCyl_{(x:B)}E[x]}
\ar[r,"\cong"']
-
{\prod_{(x:B)}\bigl[E[x]_\bot, C\bigr]}\text{,}
+
{\prod_{(x:B)}C^{E[x]_\bot}}\text{,}
\end{tikzcd}
\]
-
in which we must verify that the left-hand map is an equivalence. The upper and lower maps are the dependent currying/uncurrying equivalences, and the eastern map is the functorial action of the \emph{product} functor on the family of equivalences given by the Sierpi\'nski completeness of $C$. By the three-for-two property of equivalences, it follows that the left-hand map is an equivalence.
+
in which we aim to verify that the left-hand map is an equivalence. The upper and lower maps are the dependent currying equivalences, and the eastern map is the functorial action of the \emph{product} functor on the family of equivalences given by the Sierpi\'nski completeness of $C$. By the three-for-two property of equivalences, it follows that the left-hand map is an equivalence.
\end{proof}
-
The thrust of \cref{thm:sierpinski-completeness-mapping-cylinders} is to say that in any subuniverse in which partial map classifiers exist and satisfy the universal property of the Sierpi\'nski cone, it \emph{also} follows that logical mapping cylinders (if they exist) must satisfy the universal property of (geometrical) mapping cylinders.
-
-
\subsubsection{From upper Segal to Sierpi\'nski completeness}
+
The thrust of \cref{thm:sierpinski-completeness-mapping-cylinders} is to say that in any subuniverse in which partial map classifiers exist and satisfy the universal property of the Sierpi\'nski cone, it \emph{also} follows that logical mapping cylinders (if they exist) must satisfy the universal property of (geometrical) mapping cylinders. Of course, a dual result relating inverted Sierpi\'nski completeness to the \emph{closed} fibre/mapping cylinders follows by considering \cref{thm:sierpinski-completeness-mapping-cylinders} with respect to $\J\Op$.
+
\subsection{Upper Segal implies Sierpi\'nski}
We now complete the analysis of Sierpi\'nski completeness initiated by \citet{pugh-sterling-2025}.
-
\begin{theorem}
+
\begin{theorem}\label[theorem]{thm:upper-segal-implies-sierpinski}
Any upper Segal complete type is Sierpi\'nski complete.
\end{theorem}
-
\textcolor{red}{TODO}
+
+
\citet{pugh-sterling-2025} proved a restricted variant of \cref{thm:upper-segal-implies-sierpinski} that applies only to sets, \emph{i.e.}\ $0$-truncated types. This restriction was prohibitive to the study of \emph{higher} domains or \emph{higher} categories, seeing as a synthetic $(\infty,1)$-category is $0$-truncated if and only if it is a partial order. Our contribution is a proof strategy that does not resort to truncation.
+
+
We will divide the proof of \cref{thm:upper-segal-implies-sierpinski} into two parts, showing separately that for an upper Segal complete type $C$, each restriction map \[ C^{\sigma_X} \colon (\Lift(X)\to C) \to (X_\bot\to C) \] for $\IsT{0}$-connected $X$ is a section and a retraction.
+
+
\subsubsection{A retraction to the comparison map}
+
+
In fact, a retraction of $C^{\sigma_X}$ was exhibited unconditionally by \citet{pugh-sterling-2025}, but we will give a more precise and conceptual proof than appeared in \emph{op.\ cit.} On the other hand, the section property of $C^{\sigma_X}$ without side conditions is entirely new.
+
+
\begin{proposition}[{\citet{pugh-sterling-2025}}]\label[proposition]{prop:horn-tri-as-sums}
+
The generic inner horn $\Horn \equiv \{ (i,j) \mid \IsF{j} \lor \IsT{i}\}$ is the sum $\textstyle\sum_{(i:\II)} \IsT{i}_\bot
+
$ of all the little Sierpi\'nski cones $\IsT{i}_\bot$. Similarly the triangle $\Spx{\Two} \equiv \{(i,j) \mid i \geq j\}$ is the sum $\sum_{(i:\II)}\II/i$ of all the slices $\II/i$.
+
\end{proposition}
+
+
\begin{construction}
+
We consider the following open subspaces of the inner horn and the triangle respectively:
+
\[
+
\begin{tikzcd}
+
|[pullback]|\{(1\geq i)\mid i:\II\} \ar[r] \ar[d,open embedding] & |[pullback]|\{(1\geq i)\mid i:\II\}\ar[r]\ar[d,open embedding] & \{1\} \ar[d,open embedding]
+
\\
+
\Horn \ar[r,hookrightarrow] & \Spx{\Two} \ar[r, "\max"'] & \II
+
\end{tikzcd}
+
\]
+
+
The open embeddings above determine partial products
+
\begin{align*}
+
\HornLift(X) &:\equiv
+
\textstyle
+
\sum_{(\alpha:\Horn)}
+
X^{\IsT{\max \alpha}}
+
\\
+
\TriLift(X) &:\equiv
+
\textstyle
+
\sum_{(\alpha:\Spx{\Two})}
+
X^{\IsT{\max \alpha}}
+
\end{align*}
+
and there is an evident inclusion
+
$
+
\HornLift(X)\hookrightarrow \TriLift(X)
+
$
+
induced by the inclusion $\Horn\hookrightarrow\Spx{\Two}$.
+
\end{construction}
-
\section{Closure of local subuniverses under logical mapping cylinders}
+
\begin{construction}\label[construction]{con:evaluation-maps}
+
For a partial element $x\colon \IsT{i}\to X$, we consider the following little square induced (wild) naturality of $\sigma_{(-)}\colon (-)_\bot\to \Lift$.
+
\[
+
\begin{tikzcd}[cramped]
+
\IsT{i}_\bot \ar[r,equals] \ar[d,hookrightarrow] & \IsT{i}_\bot\ar[r,"x_\bot"] \ar[d, hookrightarrow, "\sigma_{\IsT{i}}"description] & X_\bot\ar[d, "\sigma_X"]\\
+
\II/i \ar[r,hookrightarrow] & \Lift\IsT{i} \ar[r,"\Lift(x)"'] & \Lift(X)
+
\end{tikzcd}
+
\]
+
+
Recalling the universal properties of $\Horn$ and $\Spx{\Two}$ \emph{qua} sums via \cref{prop:horn-tri-as-sums} and the definitions of $\HornLift$ and $\TriLift$ as sums, the little squares above may be glued together to form a single square consisting of horizontal ``evaluation maps'':
+
\[
+
\begin{tikzcd}
+
\HornLift(X) \ar[d,hookrightarrow] \ar[r,densely dashed,"\epsilon_X^{\Lambda}"] & X_\bot\ar[d, "\sigma_X"]
+
\\
+
\TriLift(X)\ar[r,densely dashed,"\epsilon_X^\Delta"'] & \Lift(X)
+
\end{tikzcd}
+
\]
+
\end{construction}
+
+
\begin{lemma}\label[lemma]{con:tau}
+
The evaluation map $ \epsilon_X^\Delta \colon \TriLift(X)\to \Lift(X)$ has a section $\tau_X\colon \Lift(X)\to \TriLift(X)$ induced by the diagonal function $\delta\colon \II\hookrightarrow\Spx{\Two}$ sending $i:\II$ to the generic element $(i\geq i)\in\Spx{\Two}$. In particular, we define
+
$
+
\tau_X(i,x) :\equiv (\delta i, x)
+
$
+
\end{lemma}
+
+
Note that the other evaluation map $\epsilon^\Lambda_X\colon \HornLift(X)\to X_\bot$ will \emph{not} generally have a section.
+
+
\begin{lemma}\label[lemma]{lem:segal-complete-right-orth-hornlift-trilift}
+
Any upper Segal complete type is right orthogonal to the inclusion $\HornLift(X)\hookrightarrow\TriLift(X)$ for generic $X$.
+
\end{lemma}
+
\begin{proof}
+
Let $C$ be upper Segal complete. We have the following commuting square, in which we aim to show that the left-hand map is an equivalence:
+
\[
+
\begin{tikzcd}
+
C^{\TriLift(X)}\ar[d]\ar[r, "\cong"] & {\prod_{(i:\II, x:X^{\IsT{i}})}C^{\IsT{i}_\bot}}\ar[d,"\cong"]
+
\\
+
C^{\HornLift(X)}\ar[r,"\cong"]& {\prod_{(i:\II, x:X^{\IsT{i}})}C^{\II/i}}
+
\end{tikzcd}
+
\]
+
+
The upper and lower maps are the depedendent currying/uncurrying equivalences, recalling \cref{prop:horn-tri-as-sums}. The right-hand map is the product of the restriction maps along $\IsT{i}_\bot\hookrightarrow\II/i$, which are equivalences by assumption. We finish with the three-for-two property of equivalences.
+
\end{proof}
+
+
\begin{proposition}[{\citet{pugh-sterling-2025}}]
+
Let $C$ be upper Segal complete. Then for $\IsT{0}$-connected $X$ the restriction map $C^{\sigma_X} \colon (\Lift(X)\to C) \to (X_\bot\to C)$ has a retraction.
+
\end{proposition}
+
+
As mentioned, our construction differs from that of \emph{op.\ cit.}
+
+
\begin{proof}
+
We consider the following diagram summarising \cref{con:evaluation-maps,con:tau}:
+
% Moreover, we have the following commuting square:
+
\[
+
\begin{tikzcd}
+
& \HornLift(X) \ar[d,hookrightarrow] \ar[r, "\epsilon_X^{\Lambda}"] & X_\bot\ar[d, "\sigma_X"]
+
\\
+
\Lift(X) \ar[r,"\tau_X"] \ar[rr, equals,curve={height=18pt}] & \TriLift(X)\ar[r,"\epsilon_X^\Delta"] & \Lift(X)
+
\end{tikzcd}
+
\]
+
+
Recalling \cref{lem:segal-complete-right-orth-hornlift-trilift}, we obtain the following square by dualising with respect to $C$:
+
\[
+
\begin{tikzcd}[cramped, column sep=large, row sep=large]
+
C^{\Lift(X)}
+
\ar[rr,equals,curve={height=-18pt}]
+
\ar[r, "C^{\epsilon_X^\Delta}"description]
+
\ar[d, "C^{\sigma_X}"']
+
&
+
C^{\TriLift(X)}
+
\ar[r,"C^{\tau_X}"description]
+
\ar[d, shift right=3pt,"\cong"']
+
&
+
C^{\Lift(X)}
+
\\
+
C^{X_\bot}
+
\ar[r, "C^{\epsilon^\Lambda_X}"']
+
&
+
C^{\HornLift(X)}
+
\ar[u, shift right=3pt,"\cong"']
+
\end{tikzcd}
+
\]
+
+
The composite map $C^{X_\bot}\to C^{\Lift(X)}$ traced above is immediately seen to be a retraction of $C^{\sigma_X}$.
+
\end{proof}
+
+
\subsubsection{A section to the comparison map}
+
+
Constructing a section to the comparison map \[ C^{\sigma_X}\colon (\Lift(X)\to C)\to (X_\bot\to C)\] is considerably more sensitive, and we will need to first re-analyse several notions. We recall a few preliminaries from \citet{pugh-sterling-2025}.
+
+
\begin{proposition}[{\citet{pugh-sterling-2025}}]
+
We have a canonical equivalence $\mathsf{SD}_X(C) \cong C^{X_\bot}$ where $\mathsf{SD}_X(C)$ is the following type of ``Sierpi\'nski cone data'' over $C$:
+
\[
+
\mathsf{SD}_X(C) :\equiv
+
\textstyle\sum_{(c^\bot : C)}
+
\sum_{(c^\gamma \colon \II\times X\to C)}
+
\prod_{(x:X)}
+
c^\gamma(0,x) = c^\bot
+
\]
+
\end{proposition}
+
\begin{proof}
+
This is simply the universal property of $X_\bot$: the space of maps out of a pushout form a pullback.
+
\end{proof}
+
+
\begin{proposition}
+
We consider the following graph structure on $\mathsf{SD}_X(C)$:
+
\begin{align*}
+
&(c^\bot_0,c^\gamma_0,c^H_0)
+
\approx_{\mathsf{SD}_X(C)}
+
(c^\bot_1,c^\gamma_1,c^H_1)
+
:\equiv
+
\\
+
&\quad
+
\textstyle
+
\sum_{(c_{01}^\bot \colon c_0^\bot = c_1^\bot)}
+
\prod_{(x:X)}
+
\sum_{(c_{01}^\gamma : c_0^\gamma (-,x) \sim c_1^\gamma (-,x))}
+
\\
+
&\quad\textstyle
+
c_0^Hx \bullet c_{01}^\gamma 0
+
=
+
c_{01}^\bot \bullet c_1^Hx
+
\end{align*}
+
+
For each $\mathbf{c}:\mathsf{SD}_X(C)$, the corresponding family \[ \mathbf{c}':\mathsf{SD}_X(C)\vdash \textstyle\sum_{(\mathbf{c}':\mathsf{SD}_X(C))}\mathbf{c}\approx_{\mathsf{SD}_X(C)}\mathbf{c}' \] of ``fans extending from $\mathbf{c}$'' is torsorial in the sense that its sum is contractible. Hence from the fundamental theorem of identity types~\citep{Rijke_2025} we obtain a canonical family of equivalences
+
\[
+
\mathbf{c}_0,\mathbf{c}_1 : \mathsf{SD}_X(C)\vdash
+
\mathbf{c}_0=\mathbf{c}_1
+
\to \mathbf{c}_0\approx_{\mathsf{SD}_X(C)}\mathbf{c}_1\text{.}
+
\]
+
\end{proposition}
+
+
\begin{definition}
+
The following \emph{Sierpi\'nski restriction} operation converts functions $\Lift(X)\to C$ to \emph{Sierpi\'nski cone data} when $X$ is $\IsT{0}$-connected:
+
\begin{align*}
+
&\mathsf{restrict}_X : \mathsf{isContr}~X^{\IsT{0}}\to (\Lift(X)\to C)\to \mathsf{SD}_X(C)\\
+
&\mathsf{restrict}_X^\bot~\chi~f :\equiv f\,(0, \mathsf{centre}_\chi)\\
+
&\mathsf{restrict}_X^\gamma~\chi~f~(i,x) :\equiv f\,(i, \lambda\_\mathpunct{.}x)\\
+
&\mathsf{restrict}_X^H~\chi~f~x :\equiv \mathsf{ap}_{f(0,-)} (\mathsf{paths}_\chi~(\lambda\_\mathpunct{.}x))
+
% \mathsf{r}_f^\bot &:\equiv f (0,?)
+
\end{align*}
+
+
We have generalised the definition of the Sierpi\'nski restriction over the proof that $X$ is $\IsT{0}$-connected, which will come in handy later.
+
\end{definition}
+
+
Now we reformulate the data of a section to $C^{\sigma_X}$ in terms of \emph{extensions} of Sierpi\'nski cone data.
+
+
\begin{definition}
+
Now we define the type of \emph{extensions} of a Sierpi\'nski cone datum, again abstracting over the proof that the domain in $\IsT{0}$-connected:
+
%For $\IsT{0}$-connected $X$, an \emph{extension} of a Sierpi\'nski cone datum $\mathbf{c}:\mathsf{SD}_X(C)$ is defined to be a %%
+
\begin{align*}
+
&\mathsf{SpExt}_X : \mathsf{isContr}~X^{\IsT{0}} \to \mathsf{SD}_X(C)\to \mathbf{Type}\\
+
&\mathsf{SpExt}_X~\chi~\mathbf{c} :\equiv
+
\textstyle\sum_{(f \colon \Lift(X)\to C)}
+
\mathsf{restrict}_X~\chi~f \approx_{\mathsf{SD}_X(C)} \mathbf{c}
+
\end{align*}
+
\end{definition}
+
+
\begin{corollary}
+
For each $X$ with $\chi:\mathsf{isContr}~X^{\IsT{0}}$ and $\mathbf{c}:\mathsf{SD}_X(C)$, the type of extensions $\mathsf{SpExt}_X~\chi~\mathbf{c}$ is canonically equivalent to the fibre of $C^{\sigma_X}\colon C^{\Lift(X)}\to C^{X_\bot}$ at the function $X_\bot\to C$ induced by the Sierpi\'nski cone datum $\mathbf{c}$. Moreover, $C$ is Sierpi\'nski complete if and only if each $\mathsf{SpExt}_X~\chi~\mathbf{c}$ is contractible.
+
\end{corollary}
+
+
Hence a section of $C^{\sigma_X}$ is precisely an assignment
+
\[
+
\textstyle
+
\prod_{(\chi:\mathsf{isContr}~X^{\IsT{0}})}
+
\prod_{(\mathbf{c}:\mathsf{SD}_X(C))}
+
\mathsf{SpEx}_X~\chi~\mathbf{c}
+
\]
+
of extensions of Sierpi\'nski cone data to $\Lift(X)$. It is \emph{this} assignment that we shall construct.
+
+
+
\section{Existence of logical mapping cylinders}
\clearpage
+12 -1
refs.bib
···
pages = {141--179},
title = {Fibrations and partial products in a 2-category},
volume = {1},
-
}
+
}
+
+
@mastersthesis{schipp-von-branitz:2020:thesis,
+
author = {Schipp von Branitz, Johannes},
+
school = {Technische Universit\"{a}t Darmstadt},
+
url = {https://jsvb.xyz/files/master.pdf},
+
year = {2020},
+
month = oct,
+
title = {Higher Groups via Displayed Univalent Reflexive Graphs in Cubical Type Theory},
+
}
+
+
@book{Rijke_2025, place={Cambridge}, series={Cambridge Studies in Advanced Mathematics}, title={Introduction to Homotopy Type Theory}, publisher={Cambridge University Press}, author={Rijke, Egbert}, year={2025}, collection={Cambridge Studies in Advanced Mathematics}}