Sunday, November 25, 2018

Visualizing paths in configuration space

The goal of this post is to visualize how point configurations induce persistent homology, and how paths between point samples induce changes in the simplicial complexes producing the homology. We use the Čech simplicial complex construction of a finite subset of $\R^N$.

Definition: For $M$ a Riemannian mandifold, $\Conf_n(M):= \{P\subseteq M : |P|=n\}$ is the configuration space of $n$ points on $M$.

The space $\Conf_n(M)$ is itself a topological space, with topology induced by the Hausdorff distance of subsets. Let $\SC$ be the set of abstract simplicial complexes $(V,S)$, where $V$ is a set and $S\subseteq P(V)$ closed under subsets. Let $\uSC$ be the set of unlabeled abstract simplicial complexes, with the natural projection map $\SC\to \uSC$.

Definition: The Čech map is the function $\check C\colon \Conf_n(M)\times \R_{\geqslant 0}\to \SC$ given by $V(\check C(P,r))=P$ and $P'\in S(\check C(P,r))$ whenever $\bigcap_{p\in P'} B(p,r) \neq \emptyset$, for every $P'\subseteq P$. The unlabeled Čech map is the composition of $\check C$ with the projection to $\uSC$.

We will consider the case $M=\R^2$ and $n=4$. To describe an implementation of the Čech map, we only need to consider double and triple intersections. Finding if $B(P_1,r)\cap B(P_2,r)$ is empty or not is easy, but to determine if $B(P_1,r)\cap B(P_2,r)\cap B(P_3,r)$ is empty or not requires more care. Below is an implementation in Mathematica.

(* CechPt : Finds the coordinate where balls of the same radii around a,b,c will first intersect *)
(* Input : 3 coordinates {x, y}. Output : 1 coordinate {x, y} *)
CechPt[a_,b_,c_] := Module[{
    cenx = Det[{{Norm[a]^2, a[[2]], 1}, {Norm[b]^2, b[[2]], 1}, {Norm[c]^2, c[[2]], 1}}],
    ceny = Det[{{a[[1]], Norm[a]^2, 1}, {b[[1]], Norm[b]^2, 1}, {c[[1]], Norm[c]^2, 1}}],
    scal = 2*Det[{{a[[1]], a[[2]], 1}, {b[[1]], b[[2]], 1}, {c[[1]], c[[2]], 1}}]},
   cen = {cenx/scal, ceny/scal};
           ArcCos[(a-c).(b-c)/(Norm[a-c]*Norm[b-c])]] < Pi/2, cen,
     If[Norm[cen-(a+b)/2] < Norm[cen-(a+c)/2],
       If[Norm[cen-(a+b)/2] < Norm[cen-(b+c)/2], (a+b)/2, (b+c)/2],
       If[Norm[cen-(a+c)/2] < Norm[cen-(b+c)/2], (a+c)/2, (b+c)/2]]]];

Here cen is the circumcenter of the input points, which corresponds to our desired point only if it lies within the convex hull of the points. Now $B(P_1,r)\cap B(P_2,r)\cap B(P_3,r)$ is non-empty if and only if the distance from each of $P_1$, $P_2$, $P_3$ to CechPt[$P_1$, $P_2$, $P_3$] is less than or equal to $r$.

Let $\gamma\colon I\to \Conf_4(\R^2)$ be a path, and $\gamma(0)= \{P_1,P_2,P_3,P_4\}$. At each $t\in I$ and for every pair and triple $P'\subseteq\gamma(t)$, we can find the smallest $r$ such that $\bigcap_{p\in P'}B(P,r)\neq \emptyset$. This gives 6 curves for the pairs $P'$, and 4 curves for the triples $P'$, which we can plot all together in Mathematica.

PList[t_] := {P1[t],P2[t],P3[t],P4[t]};
(* Graphs of pairwise distances *)
DistGraph1 = Plot[Table[Norm[pair[[1]]-pair[[2]]]/2, {pair,Subsets[PList[t],{2}]}], 
               {t, 0, 1}, PlotRange -> {{0,1},{0,1.5}}, PlotStyle -> {Gray}, AspectRatio -> 1];
(* Graphs of minimum distance from every triple to its CechPt*)
DistGraph2 = Plot[Table[Max[
                  Table[Norm[triple[[k]]-CechPt@@triple],{k,1,3}]], {triple,Subsets[PList[t],{3}]}],
               {t, 0, 1}, PlotRange -> {{0,1},{0,1.5}}, PlotStyle -> {Orange}, AspectRatio -> 1];
The code is given so that it may be easily generalized to more than 4 points. Next, use the Manipulate command to add interactivity to the graphs.

  Show[DistGraph2, DistGraph1],
    ParametricPlot[PList[t],{t,0,X[[1]]},PlotRange -> {{-2,2},{-2,2}},PlotStyle -> {Black}],
      {Opacity[.2],Red}, Table[Disk[point,X[[2]]],{point,PList[X[[1]]]}],
      {Opacity[1],Red}, Table[Circle[point,X[[2]]],{point,PList[X[[1]]]}],
    {Black, Thick},
    Flatten[Table[{{Opacity[0], Opacity[.3]}[[Boole[X[[2]] >= Norm[pair[[1]][[1]][X[[1]]] 
               - pair[[2]][[1]][X[[1]]]]/2] + 1]], Line[#[[2]]&/@pair]},
    Flatten[Table[{{Opacity[0], Opacity[.3]}[[Boole[X[[2]] >= Max[Table[Norm[triple[[k]][[1]][X[[1]]]
               - CechPt@@(#[[1]][X[[1]]]&/@triple)], {k,1,3}]]] + 1]], Polygon[#[[2]]&/@triple]},
    {Opacity[1], Red, Disk[{0,0},.07], Blue, Disk[{2,0},.07], Darker[Green], Disk[{0,2},.07],
               Yellow, Disk[{2,2},.07]}]]
  }, {{X, {.1, .1}}, Locator}]
This produces the interactive visualization below, allowing the user to drag the crosshairs on the graph on the left (graphs of when double and triple intersections are reached). The paths of the individual points $P_1,P_2,P_3,P_4$ are in the middle and the image of the unlabeled Čech map is on the right.

The graphs on the left stratify the strip $I\times \R_{\geqslant 0}$, so that the unlabeled Čech map is constant on each stratum. Computing the Betti numbers of each simplicial complex gives the CROCKER plot (see TZH) of the stratified space. We use the Čech instead of the Rips complex, so perhaps this should be called the CROCKEČ plot. The stratified space, 0-dimensional, and 1-dimensional plots are given below.

Here the Betti numbers were computed by inspection, since the complexes are so small. An extension would be to make this computation automatic once the input path $\gamma$ is given.

The Mathematica code for this post is available online.

References: Topaz, Ziegelmeier, Halverson (Topological Data Analysis of Biological Aggregation Models)

Tuesday, June 12, 2018

Enriched and straightened categories

Definition: A category $\mathcal C$ is monoidal if it is accompanied by
  • a functor $\otimes \colon \mathcal C\times \mathcal C\to \mathcal C$,
  • an object $\mathbf{1}\in \Obj(\mathcal C)$, and
  • isomorphisms
    • $\alpha_{X,Y,Z}\in \Hom_{\mathcal C}((X\otimes Y)\otimes Z,X\otimes(Y\otimes Z))$,
    • $\lambda_X\in \Hom_{\mathcal C}(\mathbf{1}\otimes X,X)$, and
    • $\rho_X\in \Hom_{\mathcal C}(X\otimes \mathbf{1},X)$,
for all $X,Y,Z,W\in \Obj(\mathcal C)$, such that $\otimes$ is unital and $\alpha$ is associative over $\otimes$. That is, the diagrams below commute.

Definition: Let $\mathcal C$ be monoidal as above. A category $\mathcal D$ is enriched over $\mathcal C$ if it is accompanied by
  • an object $\mathcal D(P,Q)\in \Obj(\mathcal C)$ for every $P,Q\in \Obj(\mathcal D)$, and
  • morphisms
    • $\gamma_{P,Q,R}\in \Hom_{\mathcal C}(\mathcal D(Q,R)\otimes \mathcal D(P,Q),\mathcal D(P,R))$, and
    • $i_P\in \Hom_{\mathcal C}(\mathbf{1},\mathcal D(P,P))$,
for all $P,Q,R,S\in \Obj(\mathcal D)$, such that $\gamma$ is unital and associative over $\otimes$. The category $\mathcal D$ is weakly enriched over $\mathcal C$ if $\gamma$ is unital and associative over $\otimes$ up to homotopy. That is, the diagrams below commute for $\mathcal D$ enriched, and commute up to homotopy for $\mathcal D$ weakly enriched.

Definition: A topological space $X$ is compactly generated if its basis of topology of closed sets is given by continuous images of compact Hausdorff spaces $K$ whose preimages are closed in $K$. A topological space is weakly Hausdorff if the continous image of every compact Hausdorff space is closed in $X$.

We write $\mathcal{CG}$ for the category of compactly generated and weakly Hausdorff spaces. This is a monoidal category with the usual product of topological spaces.

Example: Here are some examples of enriched categories.
  • A topological category is a category enriched over $\mathcal {CG}$.
  • A bicategory, or weak 2-category, is a category weakly enriched over $\mathcal Cat$, the category of small categories.

Definition: Let $\mathcal C,\mathcal D$ be bicategories. An assignment $F\colon \mathcal C\to \mathcal D$ is a pseudofunctor when it has
  • an object $F(X)\in \Obj(\mathcal D)$,
  • a functor $F(X,Y)\colon \mathcal C(X,Y)\to \mathcal D(F(X),F(Y))$, and
  • invertible 2-morphisms
    • $F(\id_X)\colon \id_X \Rightarrow F(X,X)(\id_X)$, and
    • $F(X,Y,Z)(f,g) \colon F(Y,Z)(g)\circ F(X,Y)(f)\Rightarrow F(X,Z)(g\circ f)$,
for all $X,Y,Z\in \Obj(C)$, such that $F(X,Y)$ is unital and associative over composition. The assignment $F$ is a lax functor when the last two morphisms are not necessarily invertible.

Definition: Let $\mathcal C,\mathcal D$ be categories and $F\colon\mathcal C\to \mathcal D$ a functor. A morphism $f\in \Hom_{\mathcal C}(A,B)$ is $F$-cartesian if

commutes for some unique $g\in \Hom_{\mathcal C}(A,Y)$ (all the vertical arrows are $F$).

This definition can be rephrased in the language of simplicial sets: the morphism $f$ is $F$-cartesian if whenever $Ff=d_1\Delta^2$ for some $\Delta^2\in \mathcal D_2$, then every $\Lambda^2\in \mathcal C$ with $\Lambda^2_1 = f$ and $F\Lambda^2_0 = d_0\Delta^2$ can be filled in by $g$ with $Fg=d_2\Delta^2$.

Definition: Let $f\colon \mathcal C\to \mathcal D$ be a functor.
  • The category $\mathcal C$ is $F$-fibered over $\mathcal D$ if for every morphism $h\in \Hom_{\mathcal D}(U,V)$ and every $B\in \Obj(\mathcal C)$ with $F(B)=V$, there is some $F$-cartesian $f\in \Hom_{\mathcal C}(-,B)$ with $Ff=h$.
  • A cleavage of an $F$-fibered category $\mathcal C$ is a class of cartesian morphisms $K$ in $\mathcal C$ such that for every morphism $h\in \Hom_{\mathcal D}(U,V)$ and every $B\in \Obj(\mathcal C)$ with $F(B)=V$, there is a unique $F$-cartesian $f\in K$ with $Ff=h$.
  • A cleavage of $\mathcal C$ is a splitting if it contains all the the identity morphisms and is closed under composition.

If $\mathcal C$ is $F$-fibered over $\mathcal D$ and $\mathcal C'$ is $F'$-fibered over $\mathcal D$, then a functor $\mathcal F\colon \mathcal C\to \mathcal C'$ is a \emph{morphism of fibered categories} if $F = F'\circ \mathcal F$ and $\mathcal Ff$ is $F'$-cartesian whenever $f$ is $F$-cartesian.

Theorem: Let $\mathcal C$ be $F$-fibered over $\mathcal D$.
  • Every cleavage of $\mathcal C$ defines a pseudofunctor $\mathcal D\to \mathcal Cat$.
  • Every pseudofunctor $\mathcal D\to \mathcal Cat$ defines an $F'$-fibered category $\mathcal C'$ with a cleavage over $\mathcal D$.

The above result follows from sections 3.1.2 and 3.1.3 of Vistoli. Theorem of Lurie generalizes this and provides an equivalence between the category of fibered simplicial sets over $S\in \sSet$ and the category of functors $\text{sCat}\to \sSet$. The forward direction is called straightening and he backward direction is called unstraightening.

References: nLab (articles "Monoidal category," "enriched category," and "pseudofunctor."), Strickland (The category of CGWH spaces), Vistoli (Notes on Grothendieck topologies, Chapter 3), Noohi (A quick introduction), Lurie (Higher Topos Theory, Section 2.2)

Monday, June 4, 2018

Integral transforms

Let $X,Y$ be topological spaces.

Definition: A set $U\subseteq X$ is constructible if it is a finite union of locally closed sets. A function $f\colon X\to Y$ is constructible if $f^{-1}(y)\subseteq X$ is constructible for all $y\in Y$.

Write $CF(X)$ for the set of constructible functions $f\colon X\to \Z$. Recall if $U\subseteq X$ is constructible, it is triangulable.

Definition: Let $X\subseteq \R^N$ be constructible and $\{X_r\}_{r\in \R}$ a filtration of $X$ by constructible sets $X_r$. The $k$th persistence diagram of $X$ is the set $PD(X_r,k)= \{(a,b)\subseteq (\R\cup \{\pm\infty\})^2 : a<b \}$, where each element represents the longest sequence of identity morphisms in the decomposition of the image of the $k$th persistent homology functor $PH(X_r,k)\colon (\R,\leqslant )\to Vect$ to each component.

Write $D$ for the set of all persistence diagrams.

Definition: Let $X,Y\subseteq \R^N$ be constructible, $S\subseteq X\times Y$ also constructible with $\pi_1,\pi_2$ the natural projections, and $\sigma$ a simplex in a triangulation of $X$. The Euler integral of elements of $CF(X)$ is the assignment \[ \begin{array}{r c l}
\displaystyle \int_X\ \cdot\ d\chi\colon CF(X) & \to & \Z, \\
\mathbf{1}_\sigma & \mapsto & (-1)^{\dim(\sigma)}.
\end{array} \] The Radon transform of elements of $CF(X)$ is the assignment \[ \begin{array}{r c l}
\mathcal R_S \colon CF(X) & \to & CF(Y), \\
(x\mapsto h(x)) & \mapsto & \left(y\mapsto \displaystyle \int_{\pi_2^{-1}(y)} \pi_1^*h\ d\chi\right).
\end{array} \] The persistent homology transform of $X$ is the assignment \[ \begin{array}{r c l}
PHT_X \colon S^{N-1} & \to & D^N, \\
v & \mapsto & \left\{PD(\{x\in X:x\cdot v\leqslant r\},0),\dots,PD(\{x\in X : x\cdot v\leqslant r\},N-1)\right\}
\end{array} \]

The Euler integral is also called the Euler transform, or the Euler charateristic transform. The Radon transform has a weighted version, where every simplex in $S$ is assigned a weight.

References: Schapira (Tomography of constructible functions), Baryhsnikov, Ghrist, Lipsky (Inversion of Euler integral transforms), Turner, Mukherjee, Boyer (Persistent homology transform).

Friday, April 27, 2018

Induced orders on sets

The goal of this post is to understand when a map from a poset to an unordered set induces a partial order, and how that applies to the specific case of the set of simplicial complexes. Thanks to Yanlong Hao for spotting some mistakes in my seminar talk on the same topic yesterday.

Definition 1: Let $(A,\leqslant_A)$ be a poset and $f\colon A\to B$ a map of sets. The relation $\leqslant_B$ on $B$, with $a\leqslant_Aa'$ implying $f(a)\leqslant_Bf(a')$, is the relation induced by $f$ on $B$. The map $f$ is monotonic if whenever $b\leqslant_b b'$,
  1. if $a\in f^{-1}(b)$, $a'\in f^{-1}(b)$ are comparable, then $a\leqslant_A a'$, and
  2. if $a'\in f^{-1}(b')$, then there exists $a\in f^{-1}(b)$ such that $a\leqslant_A a'$.
Since $f$ may not be surjective, there may be $b\in B$ with $f^{-1}(b) = \emptyset$. For such $b$ we only have $b\leqslant_B b$ and $b$ is not comparable to any other element of $B$.

Lemma 2: If $f\colon A\to B$ is monotonic, then the induced relation $\leqslant_B$ is a partial order on $B$.

Proof: For reflexivity, take any $a\in A$, which has $a\leqslant_A a$ by reflexivity of $\leqslant_A$. Then $f(a)\leqslant_Bf(a)$, so every $b\in \im(f)$ satisfies reflexivity. Every $b\not\in\im(f)$ also satisfies reflexivity by the comment above.

For anti-symmetry, suppose that $b\leqslant_Bb'$ and $b'\leqslant_Bb$. Since $b\leqslant_B b'$, there is some $a\in f^{-1}(b)$ and $a'\in f^{-1}(b')$ such that $a\leqslant_A a'$. Similarly, there is some $c'\in f^{-1}(b')$ and $c\in f^{-1}(b)$ such that $c'\leqslant_A c$. Since $c\in f^{-1}(b)$ and $c'\in f^{-1}(b')$ are comparable, and the first assumed relation is $b\leqslant_Bb'$, by property 1 of Definition 1, we must have $c\leqslant_A c'$. By anti-symmetry of $A$, we now have that $c=c'$, so it follows that $b=f(c)=f(c')=b'$.

For transitivity, suppose that $b\leqslant_Bb'$ and $b'\leqslant_Bb''$. Take $a''\in f^{-1}(b'')$, for which property 2 of Definition 1 guarantees that there exists $a'\in f^{-1}(b')$ such that $a'\leqslant_Aa''$. Similarly, the first assumed relation and the same property guarantees there exists $a\in f^{-1}(b)$ such that $a\leqslant_Aa'$. By transitivity of $A$, we have $a\leqslant_A a''$. By the definition of $\leqslant_B$, we have $b=f(a) \leqslant_B f(a'') = b''$. $\square$

Let $M$ be a piecewise linear, compact, connected, embedded manifold in $\R^N$, and $SC$ the category of simplicial complexes. Let $A= \{1<2a>2b<3\}$. The product $A^N$ has the product order. Fix $n\in \Z_{>0}$ and let $T$ be the set of all distinct 2-,3-,...,$n$-tuples in $\{1,\dots,n\}$, or $T := \bigcup_{k=2}^n\left(\{1,\dots,n\}^k\setminus \Delta\right)/_{S_k}$. This set has size $\sum_{k=2}^n \binom nk = 2^n-n-1$. Assume every $v\in T$ is ordered in the canonical way. Then $v$ induces a natural projection $\pi_v\colon M^n \to M^{v}$, as well as another map \[ \begin{array}{r c l}
\pi_v'\colon M^n \times \R_{>0} & \to & A, \\
(P,t) & \mapsto & \begin{cases}
1 & \forall\ i,j, \pi_v(P)_i = \pi_v(P)_j, \\
2a & \exists\ i,j \text{ s.t. }\pi_v(P)_i\neq\pi_v(P)_j \text{ and } \textstyle\bigcap_{i=1}^{|v|} B(\pi_v(P)_i,t) \neq \emptyset, \\
2b & \exists\ i,j \text{ s.t. }\pi_v(P)_i\neq\pi_v(P)_j \text{ and } \textstyle\bigcap_{i=1}^{|v|} B(\pi_v(P)_i,t)=*, \\
3 & \exists\ i,j \text{ s.t. }\pi_v(P)_i\neq\pi_v(P)_j \text{ and } \textstyle\bigcap_{i=1}^{|v|} B(\pi_v(P)_i,t) = \emptyset.
\end{array} \] Here all the balls $B$ are closed, and $M^n$ has the Hausdorff topology.

Lemma 3: The map $\pi_v$ is continuous on $M^v\times \R_{>0}$.

Proof: Every $(Q,s)\in (\pi_v')^{-1}(3)$ has an open ball of radius $\max_{i,j}\{d(\pi_v(Q)_i,\pi_v(Q)_j)\}/2-s$ around it that is still contained within $(\pi_v')^{-1}(3)$. Similarly, every $(Q,s)\in (\pi_v')^{-1}(2a)$ has an open ball of radius \[ \min\left\{\frac12\text{diam}\left(\bigcap_{i=1}^{|v|}B(\pi_v(Q)_i,s)\right),\max_{i,j}\{d(\pi_v(Q)_i,\pi_v(Q)_j)\}\right\} \hspace{2cm} (1) \] around it that is still contained within $(\pi_v')^{-1}(2a)$. The first expression in the $\min$ makes sure the intersection is non-empty, and the second expression makes sure all elements of $Q$ are not the same.

The set $(\pi_v')^{-1}(1<2a)$ is open by the same argument as for $2a\in A$, enlarging the open ball by removing the second expression in the $\min$ of expression (1). Finally, the set $(\pi_v')^{-1}(2a>2b<3)$ is open by the same argument, now enlarging the ball used for $2a\in A$ by removing the first expression in the $\min$ of expression (1). $\square$

Let $q\colon M^n\to \Ran^{\leqslant n}(M)$ be the natural quotient map, and $\check C\colon \Ran^{\leqslant n}(M)\times \R_{>0}\to SC$ be the Čech simplical complex map. For the next propositions, we will use two maps $f$ and $g$ defined as \[ \begin{array}{r c l}
f\colon M^n\times \R_{>0} & \to & A^{2^n-n-1}, \\
(P,t) & \mapsto & \prod_{v\in T} \pi_v'(P,t),
\begin{array}{r c l}
g\colon \im(f) & \to & SC, \\
f(P,t) & \mapsto & \check C(q(P),t).\end{array} \] The map $g$ is well-defined because $a\in A^{2^n-n-1}$ with non-empty preimage in $M^n\times \R_{>0}$ specifies whether or not every $k$-tuple of points has a simplex spanning it, for all $k=2,\dots,n$. This defines a unique simplicial complex, so choosing any $(P,t)\in f^{-1}(a)$ will give the same Čech complex, up to renaming of vertices.

Proposition: The map $f\colon M^n\times \R_{>0} \to A^{2^n-n-1}$ is continuous.

Proof: Let $a\in A^{2^n-n-1}$ and suppose that $f^{-1}(a)\neq \emptyset$. Let $a_i\in A$ be in the $i$th factor of $a$, and $r_i$ the radius of the open ball decreed by Lemma 3 to still be within $(\pi_v')^{-1}(a_i)$, where $v$ is the $i$th tuple in the chosen order on $T$. Then every $(P,t)\in f^{-1}(a)$ has an open ball of radius $\min_i\{r_i\}$ around it that is still contained within $f^{-1}(a)$, so $f$ is continuous. $\square$

Proposition: The map $g$ is monotonic.

 Note that any relation $S\leqslant_{SC}S'$ may be split up as a chain of relations $S=T_1\leqslant_{SC} \cdots \leqslant_{SC} T_\ell=S'$, where the only differences between $T_i$ and $T_{i+1}$ are either (i) $T_i$ has a $k$-simplex $\sigma$ that $T_{i+1}$ does not have, or (ii) where $T_i$ has a single 0-simplex where a $k$-simplex $\sigma$ and all its faces used to be in $T_{i+1}$. Hence it suffices to show that properties 1 and 2 of Definition 1 are satisfied in cases (i) and (ii).

Proof: Case (i): Suppose that $S\leqslant_{SC}S'$, and take $a\in g^{-1}(S)$, $a'\in g^{-1}(S')$ with $a\leqslant_A a'$. If there is $b\in g^{-1}(S)$ and $b'\in g^{-1}(S')$ such that $b'\leqslant_A b$, then $g(b)$ has the $k$-simplex $\sigma$ that $g(b')$ does not have, but since $b'$ is ordered lower than $b$, it must be that this $k$-simplex has collapsed to a point. Then we would be in case (ii), a contradiction, so property 1 holds in this case.

Now let $i_1,\dots,i_{\sigma}$ be the indices of $a'$ and $a$ representing the $(k+1)$-fold intersection that describes $\sigma$, so $a'_j = 3$ and $a_j = 2b$ for all $j=i_1,\dots,i_\sigma$. Take any $b'\in g^{-1}(S')$, which also has some indices $\ell_1,\dots,\ell_\sigma$ representing this same $(k+1)$-fold intersection, so $b'_j=3$ at all $j=\ell_1,\dots,\ell_\sigma$. Let $b\in A^{2^n-n-1}$ be the element with all the same factors as $b'$, except at indices $\ell_1,\dots,\ell_\sigma$, which have been changed to $2b$. This element $b$ is still in $\im(f)$ as removing only this $k$-simplex still leaves the well-defined simplex $S'$ we assumed at the beginning. Hence $g(b)=S'$ and property 2 holds. \\

Case (ii): Suppose that $S\leqslant_{SC}S'$, and take $a\in g^{-1}(S)$, $a'\in g^{-1}(S')$ with $a\leqslant_A a'$. If there is $b\in g^{-1}(S)$ and $b'\in g^{-1}(S')$ such that $b'\leqslant_A b$, then $g(b')$ has the $k$-simplex $\sigma$ and all its faces that $g(b)$ does not have, but since $b'$ is ordered lower than $b$, it must be that we have introduced $\sigma$ and all its faces. Then we would be in case (i), or a chain of case (i) situations, a contradiction, so property \ref{1mon} holds in this case.

Now let $i_1,\dots,i_{\sigma}$ be the indices of $a'$ and $a$ representing the $(k+1)$-fold intersection that describes $\sigma$, and all the implied $(f+1)$-fold intersections that describe the $f$-faces of $\sigma$, $f>0$. That is, $a'_j = 2a$ and $a_j = 1$ for all $j=i_1,\dots,i_\sigma$. Take any $b'\in g^{-1}(S')$, which also has some indices $\ell_1,\dots,\ell_\sigma$ representing this same $(k+1)$-fold (and lower) intersection, so $b'_j=3$ at all $j=\ell_1,\dots,\ell_\sigma$. Let $b\in A^{2^n-n-1}$ be the element with all the same factors as $b'$, except at indices $\ell_1,\dots,\ell_\sigma$, which have been changed to $1$. This element $b$ is still in $\im(f)$ as collapsing this $k$-simplex and all its faces to a single 0-simplex still leaves the well-defined simplex $S'$ we assumed at the beginning. Hence $g(b)=S'$ and property 2 holds. $\square$

Since $g$ is monotonic, by Lemma 2 the relation $\leqslant_{SC}$ is a partial order on $SC$.

Sunday, April 22, 2018

A functor from entry paths to the nerve of simplicial complexes

Fix $n\in \Z_{>0}$ and let $X=\Ran^{\leqslant n}(M)\times \R_{>0}$ for $M$ a compact, connected PL manifold embedded in $\R^N$. Take $\widetilde h\colon X\to (B,\leqslant)$ the conical stratifying map from a previous post (``Conical stratifications via semialgebraic sets," 2018-04-16) compatible with the natural stratification $h\colon X\to SC$. The goal of this post is to construct a functor $F\colon \Sing_B(X) \to N(SC)$ from the $\infty$-category of entry paths that encodes the structure of $X$.

Recall that a simplicial set is a functor, an element of $\text{Fun}(\Delta^{op},\Set)$. A simplicial set $S$ is defined by its collection of $n$-simplices $S_n$, its face maps $s_i:S_{n-1}\to S_n$, and degeneracy maps $d_i:S_{n+1}\to S_k$, for all $i=0,\dots,n$. For the first simplicial set of interest in this post, we have
\Sing_B(X)_n & = \Hom_{\Top}^B(|\Delta^n|,X), \\
\left(s_i\colon [n]\to [n-1]\right) & \mapsto \left( \begin{array}{c}
\left(|\Delta^{n-1}|\to X \right) \mapsto \left(|\Delta^n|\to X\right) \\
\text{collapses $i$th with $(i+1)$th vertex, then maps as source}
\left(d_i\colon [n]\to [n+1]\right) & \mapsto  \left(\begin{array}{c}
\left(|\Delta^{n+1}|\to X \right) \mapsto \left(|\Delta^n|\to X\right) \\
\text{maps as $i$th face of source map}
We write $\Hom^B_{\Top}$ for the subset of $\Hom_{\Top}$ that respects the stratification $B$ in the context of entry paths. For the second simplicial set, the nerve, we have
N(SC)_n & = \{(S_0\tov{f_1} \cdots \tov{f_n} S_n)\ :\ S_i\in SC,\ f_i\ \text{are simplicial maps}\}, \\
\left(s_i\colon [n]\to [n-1]\right) & \mapsto \left( \left(S_0\tov{f_1}\cdots \tov{f_{n-1}} S_{n-1} \right) \mapsto \left(S_0\tov{f_1} \cdots\tov{f_i} S_i \tov{\id} S_i\tov{f_{i+1}} \cdots \tov{f_{n-1}} S_{n-1}\right)\right),\\
\left(d_i\colon [n]\to [n+1]\right) & \mapsto \left(\begin{array}{r l}
i=0: & \left(S_0\cdots S_{n+1} \right) \mapsto \left(S_1\tov{f_2}\cdots \tov{f_{n+1}} S_{n+1} \right) \\
0<i<n: & \left(S_0 \cdots S_{n+1} \right) \mapsto \left(S_0\tov{f_1} \cdots\tov{f_{i-1}} S_{i-1} \tov{f_{i+1}\circ f_i} S_{i+1} \tov{f_{i+2}} \cdots \tov{f_{n+1}} S_{n+1}\right) \\
i=n: & \left(S_0 \cdots  S_{n+1} \right) \mapsto \left(S_0\tov{f_1}\cdots \tov{f_n} S_n \right)
\end{array} \right). 
 Define $F$ on $k$-simplices as \[ F\left(\gamma\colon |\Delta^k|\to \Ran^{\leqslant n}(M)\times \R_{>0}\right) = \left(\widetilde h(\gamma(1,0,\dots,0)) \tov{\left(\widetilde h\circ \gamma \circ s_k\circ \cdots \circ s_2\right)\left( |\Delta^1|\right)} \cdots \tov{\left(\widetilde h\circ \gamma \circ s_{k-2}\circ \cdots \circ s_0\right)\left(|\Delta^1|\right)} \widetilde h(\gamma(0,\dots,0,1))\right). \] A morphism in $\Sing_B(X)$ is a composition of face maps $s_i$ and degeneracy maps $d_i$, so $F$ must satisfy the commutative diagrams

for all $s_i$, $d_i$. Since the maps are unwieldy when in coordinates, we opt for heuristic arguments, neglecting to trace out notation-heavy diagrams.

Commutativity of the diagram on the left is immediate, as considering a simplex $|\Delta^{n-1}|$ as the $i$th face of a larger simplex $|\Delta^n|$ is the same as adding a step that is the identity map in the Hamiltonian path of vertices of $|\Delta^{n-1}|$. Similarly, observing that the image of the shortest path $v_{i-1}\to v_i\to v_{i+1}$ in $|\Delta^{n+1}|$, for $v_i = (0,\dots,0,1,0,\dots,0)$ the $i$th standard basis vector, induced by an element $\gamma\colon |\Delta^{n+1}|\to X$ in $\Sing_B(X)_{n+1}$, is homotopic to the image of the shortest path $v_{i-1} \to v_{i+1}$ shows that the diagram on the right commutes. Since $F$ is a natural transformation between the two functors $\Sing_B(X)$ and $N(SC)$, it is a functor on the functors as simplicial sets.

Remark: The particular choice of $X$ did not seem to play a large role in the arguments above. However, the stratifying map $\widetilde h\colon X\to B$ has image sitting inside $SC$, the nerve of which is the target of $F$, and every morphism in $\Sing_B(X)$ can be interpreted as a relation in $B\subseteq SC$ (both were necessary for the commutativity of the diagrams). Hence it is not unreasonable to expect a similar functor $\Sing_A(X)\to N(A')$ may exist for a stratified space $X\to A\subseteq A'$.

Friday, April 20, 2018

Exit paths and entry paths through $\infty$-categories

Let $X$ be a topological space, $(A,\leqslant)$ a poset, and $f: X\to (A,\leqslant)$ a continuous map.

Definition: An exit path in an $A$-stratified space $X$ is a continuous map $\sigma: |\Delta^n|\to X$ for which there exists a chain $a_0\leqslant \cdots \leqslant a_n$ in $A$ such that $f(\sigma(t_0,\dots,t_i,0,\dots,0))=a_i$ for $t_i\neq 0$. An entry path is a continuous map $\tau: |\Delta^n|\to X$ for which there exists a chain $b_0\leqslant \cdots \leqslant b_n$ in $A$ such that $f(\tau(0,\dots,0,t_i,\dots,t_n))=b_i$ for $t_i\neq 0$.

Up to reordering of vertices of $\Delta^n$ and induced reordering of the realization $|\Delta^n|$, an exit path is the same as an entry path. The next example describes this equivalence.

Example: The standard 2-simplex $|\Delta^2|$ is uniquely an exit path and an entry path with a chain of 3 distinct elements, stratfied in the ways described below.
Recall the following algebraic constructions, through Joyal's quasi-category model:
  • A simplicial set is a functor $\Delta^{op}\to \Set$.
  • A Kan complex is a simplicial set satisfying the inner horn condition for all $0\leqslant k\leqslant n$. That is, the $k$th $n$-horn lifts (can be filled in) to a map on $\Delta^n$.
  • An $\infty$-category is a simplicial set satisfying the inner horn condition for all $0<k<n$.
Moreover, if the lift is unique, then the Kan complex is the nerve of some category. Recall also the category $\Sing(X) = \{$continuous $\sigma: |\Delta^n|\to X\}$, which can be combined with the stratification $f: X\to A$ of $X$

Remark: The subcategory $\Sing^A(X)$ of exit paths and the subcategory $\Sing_A(X)$ of entry paths are full subcategories of $\Sing(X)$, with $(\Sing^A(X))^{op} = \Sing_A(X)$. If the stratification is conical, then these two categories are $\infty$-categories.
Recall the nerve construction of a category. Here we are interested in the nerve of the category $SC$ of simplicial complexes, so $N(SC)_n = \{$sequences of $n$ composable simplicial maps$\}$. Recall the $k$th $n$-horns, which are compatible diagrams of elements of $N(SC)_n$. In general, they are colimits of a diagram in the category $\Delta$. That is, \[ \Lambda^n_k := \colim \left(\bigsqcup_{0\leqslant i<j\leqslant n} \Delta^{n-2} \rightrightarrows \bigsqcup_{0\leqslant i\leqslant n \atop i\neq k} \Delta^{n-1}\right). \] Example: The images of the 3 different types of 2-horns and 4 different types of 3-horns in $SC$ are given below. Note that they are not unique, and depend on the choice of simplices $S_i$ (equivalently, on the choice of functor $\Delta^{op}\to SC$).
For example, the 0th 2-horn $\Lambda^2_0$ can be filled in if there exists a simplicial map $h: S_1\to S_2$ in $SC$ (that is, an element of $N(SC)_1$) such that $h\circ f = g$. Similarly, the 1st 3-horn $\Lambda^3_1$ can be filled in if there exists a functor $F: [0<1<2]\to SC$ for which $F(0<1)=f_{02}$, $F(0<2)=f_{03}$, and $F(1<2)=f_{23}$ (equivalently, a compatible collection of elements of $N(SC)_2$).

Definition: Let $A,B$ be $\infty$-categories. A functor $F: A\to B$ is a morphism of the simplicial sets $A,B$. That is, $F:A\to B$ is a natural transformation for $A,B\in \text{Fun}(\Delta^{op},\Set)$.

A functor of simplicial sets of a particular type can be identified with a functor of 1-categories. Recall the nerve of a 1-category, which turns it into an $\infty$-category. This construction has a left adjoint.

Definition: Let $\mathcal C$ be an $\infty$-category. The homotopy category $h\mathcal C$ of $\mathcal C$ has objects $\mathcal C_0$ and morphisms $\Hom_{h\mathcal C}(X,Y) = \pi_0(\text{Map}_{\mathcal C}(X,Y))$.

By Lurie, $h$ is left-adjoint to $N$. That is, $h : \sSet \rightleftarrows \text{Cat} : N$, or $\text{Map}_{\sSet}(\mathcal C,N(\mathcal D)) \cong \text{Map}_{\text{Cat}}(h\mathcal C, \mathcal D)$, for any $\infty$-category $\mathcal C$ and any 1-category $\mathcal D$. Our next goal is to describe a functor $\Sing_A(X)\to N(SC)$, maybe through this adjunction, where $SC$ is the 1-category of simplicial complexes and simplicial maps.

References: Lurie (Higher topos theory, Sections 1.1.3 and 1.2.3), Lurie (Higher algebra, Appendix A.6), Goerss and Jardine (Simplicial homotopy theory, Section I.3), Joyal (Quasi-categories and Kan complexes)

Monday, April 16, 2018

Conical stratifications via semialgebraic sets

The goal of this post is to describe a conical stratification of $\Ran_{\leqslant n}(M)\times \R_{\geqslant 0}$ that refines the stratification previously seen (in "Exit paths, part 2," 2017-09-28, and "Refining stratifiations," 2018-03-11). Thanks to Shmuel Weinberger for the key observation that the strata under consideration are nothing more than semialgebraic sets, which are triangulable, and so admit a conical stratification via this triangulation.

Remark: Fix $n\in \Z_{>0}$, let $M$ be a smooth, compact, connected, embedded submanifold in $\R^N$, and let $M^n$ have the Hausdorff topology. We will be interested in $M^n\times \R_{>0}$, though this will be viewed as the compact set $M^n\times [0,K]\subseteq \R^{nN+1}$ for some $K$ large enough (for instance, larger than the diameter of $M$) when necessary. The point 0 is added for compactness.

Stratification of the Ran space by semialgebraic sets

We begin by stratifying $M^n\times \R_{>0}$ by a poset $A$, creating strata based on the pairwise distance between points in each $M$ component. Then we take that to a stratification of the quotient $\Ran^{\leqslant n}(M)\times \R_{>0}$ via the action of the symmetric group $S_n$ and overcounting of points.

Definition: Define a partial order $\leqslant$ on the set $A = \big\{$partitions of ($\{1,\dots,n\}^2\setminus \Delta)/S_2$ into 4 parts$\big\}$ of ordered 4-tuples of sets by \[ (Q,R,S,T) \leqslant \left(Q\setminus Q',\ R\cup Q' \cup S',\ S\setminus (S'\cup S''),\ T\cup S''\right), \] for all $Q'\subseteq Q$ and $S',S''\subseteq S$, with $S'\cap S'' = \emptyset$.

The diagram to keep in mind is the one below, with arrows pointing from lower-ordered elements to higher-ordered elements. Once we pass to valuing the 4-tuple in simplicial complexes, moving between $Q$ and $R$ will not change the simplicial complex type (this comes from the definition of the Vietoris--Rips complex).

Lemma 1: The map $f: M^n\times \R_{>0}\to (A,\leqslant)$ defined by \begin{align*} (\{P_1,\dots,P_n\},t)\mapsto \bigg( \{(i,j>i)\ & :\ P_i=P_j\},\ \{(i,j>i)\ :\ d_M(P_i,P_j)<t\},\\
& \{(i,j>i)\ :\ d_M(P_i,P_j)=t\},\ \{(i,j>i)\ :\ d_M(P_i,P_j)>t\}\bigg) \end{align*} is continuous in the upset topology on $(A,\leqslant)$.

Proof: Choose $(Q,R,S,T)\in A$ and consider the open set $U = U_{(Q,R,S,T)}$ based at $(Q,R,S,T)$. Take $(P,t)\in f^{-1}(U)$, which we claim has a small neighborhood still contained within $f^{-1}(U)$. If we move a point $P_i$ slightly that was exactly distance $t$ away from $P_j$, then the pair $(i,j)$ was in $S$, but is now in either $R$ or $T$, and both $(Q,R\cup\{(i,j)\},S\setminus \{(i,j)\},T)$ and $(Q,R,S\setminus \{(i,j)\},T\cup \{(i,j)\})$ are ordered higher than $(Q,R,S,T)$, so the perturbed point is still in $f^{-1}(U)$. If $P_i=P_j$ in $P$ and we move them apart slightly, since $t\in \R_{>0}$, the pair $(i,j)$ will move from $Q$ to $R$, and $(Q,R,S,T) \leqslant (Q\setminus \{(i,j)\},R\cup \{(i,j)\},S,T)$, so the perturbed point is still in $f^{-1}(U)$. For all pairs $(i,j)$ in $R$ or $T$, the distances can be changed slightly so that the pair still stays in $R$ or $T$, respectively. Hence $f$ is continuous. $\square$

This shows that $M^n\times \R_{>0}$ is stratified by $(A,\leqslant)$, using Lurie's definition of a (poset) stratification, which just needs a continuous map to a poset. Our goal is to work with the Ran space of $M$, instead of the $n$-fold product of $M$, which are related by the natural projection map $\pi : M^n\to \Ran^{\leqslant n}(M)$, taking $P=\{P_1,\dots,P_n\}$ to the unordered set of distinct elements in $P$. We also would like to stratify $\Ran^{\leqslant n}(M)\times \R_{>0}$ by simplicial complex type, so we need the following map.

Definition: Let $g: (A,\leqslant)\to SC$ be the map into simplicial complexes that takes $(Q,R,S,T)$ to the clique complex of the simple graph $C$ on $n-k$ vertices, for $|Q|=k(k+1)/2$, defined as follows: 
  • $V(C) = \{[i]\ :\ i=1,\dots,n,\ [j]= [i] \text{\ iff\ } (i,j)\in Q\}$,
  • $E(C) = \{([i],[j])\ :\ (i,j)\in R\cup S\}$.
We require $C$ to be simple, so if $(i,j)\in Q$ and $(i,\ell),(j,\ell)\in R\cup S$, we only add one edge $([i],[\ell])=([j],[\ell])$ to $C$.

The map $g$ induces a partial order $\leqslant$ on $SC$ from the partial order on $A$, with $C\leqslant C'$ in $SC$ whenever there is $(Q,R,S,T)\in g^{-1}(C)$ and $(Q',R',S',T')\in g^{-1}(C')$ such that $(Q,R,S,T) \leqslant (Q',R',S',T')$ in $A$. Note that if $C\in SC$ is not in the image of $g$, then it is not related to any other element of $SC$. By the universal property of the quotient and continuity of $f$ and $g$ (as $A$ and $SC$ are discrete), there is a continuous map $h:\Ran^{\leqslant n}(M)\times \R_{>0}\to (SC,\leqslant)$ such that the diagram
commutes. Hence $\Ran^{\leqslant n}(M)\times \R_{>0}$ is stratified by $(SC,\leqslant)$.

Remark: The map $\pi$ can be thought of as a quotient by the action of the symmetric group $S_n$, followed by the quotient of the equivalence relation \[ \{P^1_1,\dots,P^{\ell_1}_1,P^1_2,\dots,P^{\ell_2}_2,P^1_3,\dots,P^{\ell_k}_k\} \ \ \sim\ \
\{P^1_1,\dots,P^{\ell_1-1}_1,P^1_2,\dots,P^{\ell_2+1}_2,P^1_3,\dots,P^{\ell_k}_k\} \] on $M^n$, for all possible combinations $\ell_1+\cdots + \ell_k =n$ and $1\leqslant k\leqslant n-1$, where $P_m^i=P_m^j$ for all $1\leqslant i<j\leqslant \ell_m$.

Semialgebraic geometry

Next we move into the world of semialgebraic sets and triangulations, following Shiota. Here we come across a more restrictive notion of stratification of a manifold $X$, which requires a partition of $X$ into submanifolds $\{X_i\}$. If Lurie's stratification $f:X\to A$ gives back submanifolds $\{f^{-1}(a)\}_{a\in A}$, then we have Shiota's stratification. Conversely, the poset $(\{X_i\},\leqslant)$, for $X_i \leqslant X_j$ iff $X_i \subseteq \closure(X_j)$ is always a stratification in the sense of Lurie.

Definition 2: A semialgebraic set in $\R^N$ is a set of the form \[ \bigcup_{\text{finite}} \{x\in \R^N\ :\ f_1(x)=0,f_2(x)>0,\dots,f_m(x)>0\},\] for polynomial functions $f_1,\dots,f_m$ on $\R^N$. A semialgebraic stratification of a space $X\subseteq \R^N$ is a partition $\{X_i\}$ of $X$ into submanifolds that are semialgebraic sets.

Next we observe that the strata of $M^n\times \R_{>0}$ are semialgebraic sets, with the preimage theorem and I.2.9.1 of Shiota, which says that the intersection of semialgebraic sets is semialgebraic. Take $(Q,R,S,T)\in A$  and note that \[ f^{-1}(Q,R,S,T) = \left\{(\{P_1,\dots,P_n\},t)\in M^n\times \R_{>0}\ :\ \begin{array}{r l}
d(P_i,P_j) = 0 & \forall (i,j)\in Q,\\
t-d(P_i,P_j) = 0 & \forall (i,j)\in S, \\
t-d(P_i,P_j) > 0 & \forall (i,j)\in R, \\
d(P_i,P_j) - t > 0 & \forall (i,j)\in T.
\end{array}\right\} \] Here $d$ means distance on the manifold, and we assume the metric to be analytic. Alternatively, $d$ could be Euclidean distance between points on the embedding of $M^n\times \R_{>0}$, induced by the assumed embedding of $M$.

For his main Theorem II.4.2, Shiota uses cells, but we opt for simplices instead, and for cell complexes we use simplicial complexes. Every cell and cell complex admits a decomposition into simplicial complexes, even without introducing new 0-cells (by Lemma I.3.12), so we do not lose any generality.

Definition 3: Let $X,Y$ be semialgebraic sets.
  • A map $f: X\to Y$ is semialgebraic if the graph of $f$ is semialgebraic.
  • A semialgebraic cell triangulation of a semialgebraic set $X$ is a pair $(C,\pi)$, where $C$ is a simplicial complex and $\pi: |C|\to X$ is a semialgebraic homeomorphism for which $\pi|_{\interior(\sigma)}$ is a diffeomorphism onto its image.
  • A semialgebraic cell triangulation $(C,\pi)$ is compatible with a family $\{X_i\}$ of semialgebraic sets if $\pi(\interior(\sigma))\subseteq X_i$ or $\pi(\interior(\sigma))\cap X_i = \emptyset$ for all $\sigma\in C$ and all $X_i$.

A semialgebraic cell triangulation $(C,\pi)$ of $X$ induces a stratification $X\to (C_0 \cup \{\pi(\interior(\sigma))\},\leqslant)$, where the order is the one mentioned just before Definition 2. We use the induced stratification and the cell triangulation interchangeably, specifically in Proposition 4.

A compatible conical stratification

Finally we put everything together to get a conical stratification of $\Ran^{\leqslant n}(M)\times \R_{>0}$. Unfortunately we have to restrict ourselves to piecewise linear manifolds, or PL manifolds, which are homeomorphic images of geometric realizations of simplicial complexes, as otherwise we cannot claim $M$ is a semialgebraic set. We can also just let $M=\R^k$, as the point samples we are given could be coming from an unknown space.

Proposition 4: Let $M$ be a PL manifold embedded in $\R^N$. There is a conical stratification $\widetilde h:\Ran^{\leqslant n}(M)\times \R_{>0}\to (B,\leqslant)$ compatible with the stratification $h: \Ran^{\leqslant n}(M)\times \R_{>0}\to (SC,\leqslant)$.

Proof: (Sketch) The main lifting is done by Theorem II.4.2 of Shiota. Since $M$ is PL, it is semialgebraic, and so $M^n\times \R_{>0}\subseteq \R^{nN+1}$ is semialgebraic, by I.2.9.1 of Shiota. Since the quotient $\pi$ of diagram (1) is semialgebraic, the space $\Ran^{\leqslant n}(M)\times \R_{>0}$ is semialgebraic, by Scheiderer. Similarly, $\{f^{-1}(a)\}_{a\in A}$ is a family of semialgebraic sets, where $f$ is the map from Lemma 1.  Theorem II.4.2 gives that $\Ran^{\leqslant n}(M)\times \R_{>0}$ admits a cell triangulation $(K,\tau)$ compatible with $\{h^{-1}(S)\}_{S\in SC}$. By the comment after Definition \ref{semialgdef}, this means we have a stratification $\Ran^{\leqslant n}(M)\times \R_{>0}\to (K_0\cup \{\tau(\interior(\sigma))\}_{\sigma\in K},\leqslant)$. Further, by Proposition A.6.8 of Lurie, we have a conical stratification $|K|\to (B,\leqslant)$. This is all described by the solid arrow diagram below.

The vertical induced map comes as the poset $B$ has the exact same structure as the abstract suimplicial complex $K$. The diagonal induced map comes as the map $|K|\to \Ran^{\leqslant n}(M)\times \R_{>0}$ is a homeomorphism, and so has a continuous inverse. Composing the inverse with the conical sratification of Lurie, we get a conical stratification of $\Ran^{\leqslant n}(M)\times \R_{>0}$. Composing the vertical induced arrow and the maps to $(SC,\leqslant)$ show that there is a conical stratification of $\Ran^{\leqslant n}\times \R_{>0}$ compatible with its simplicial complex stratification from diagram (1). $\square$

Shiota actually requires that the space that admits a triangulation be closed semialgebraic, and having $\R_{>0}$ violates that condition. Replacing this piece with $\R_{\geqslant 0}$, then applying Shiota, and afterwards removing the $t=0$ piece we get the same result.

Remark: Every (sufficiently nice) manifold admits a triangulation, so it may be possible to extend this result to a larger class of manifolds, but it seems more sophisticated technology is needed.

References: Shiota (Geometry of subanalytic and semialgebraic sets, Chapters I.2, I.3, II.4), Scheiderer (Quotients of semi-algebraic spaces), Lurie (Higher algebra, Appendix A.6)