$1 \leq t_1 \leq t_2 \leq k$, $\max_{t_1 \leq t \leq t_2} \pi(t) = \min_{\pi'} \max_{1 \leq t \leq k'} \pi'(t)$, where $\pi'$ ranges over all paths starting at $\pi'(1) = \pi(t_1)$ and ending at $\pi'(k') = \pi(t_2)$.

$P$ and $Q$ are curves with $m$ and $n$ edges A locally correct discrete [Fréchet matching]{} for $P$ and $Q$

Construct grid $G$ for $P$ and $Q$ Let $T$ be a tree consisting only of the root $G[0,0]$ Add $G[i,0]$ to $T$ Add $G[0,j]$ to $T$ $\texttt{AddToTree}(T, G, i, j)$ path in $T$ between $G[0,0]$ and $G[m,n]$

#### Algorithm

The algorithm needs to compute a locally correct path between $G[0,0]$ and $G[m,n]$ in a grid $G$ of non-negative values. To this end, the algorithm incrementally constructs a tree $T$ on the grid such that each path in $T$ is locally correct. The algorithm is summarized by Algorithm \[alg:finddiscrete\]. We define a *growth node* as a node of $T$ that has a neighbor in the grid that is not yet part of $T$: a new branch may sprout from such a node. The growth nodes form a sequence of horizontally or vertically neighboring nodes. A *living node* is a node of $T$ that 