\section{Four active edges}\label{sec:anchor} In this section $\kappa\in\R^n$ is a positive profile. We put all the length on four edges and give the remaining edges length zero. \subsection{The controller} \begin{definition}\label{def:frame} A \emph{frame} is a choice of edges $0\le e_00$, $s_jL_j<1$ and $f_jL_j<1$ for $j=0,\dots,3$; \item\label{it:anchor-zero} $\Ctrl(L)=0$; \item\label{it:anchor-reg} the derivative $D\Ctrl(L)\colon\R^4\to\C\times\R$ is onto. \end{enumerate} \end{definition} % Lean: Gluck.Discrete.RegularFourAnchor (RegularFourAnchor.lean) \begin{figure}[t] \centering \includegraphics[width=0.4\textwidth]{tabachnikov/figures/anchor.pdf} \caption{The regular anchor of Figure~\ref{fig:method}(b). Only the four active edges have positive length; the blocks $\{1,2,3\}$ and $\{5,\dots,8\}$ have collapsed to points (open circles). On active edge $e_j$ the two arcs have curvatures $s_j$ (blue) and $f_j$ (orange), the readings at its two ends. The turn at each corner is the sum of the two chord angles of the arcs meeting there, as in~\eqref{eq:controller}.} \label{fig:anchor} \end{figure} Condition~\ref{it:anchor-zero} says that the quadrilateral with half-sides $L_j$ and exterior angles $\beta_j$ closes with total turn $2\pi$ (Figure~\ref{fig:anchor}), and~\ref{it:anchor-reg} says that the $3\times4$ Jacobian has rank~$3$. The system depends only on $L$ and the eight readings. \begin{theorem}\label{thm:anchor-realizes} Let $\kappa^0>0$ admit a regular anchor $(e,\bar L)$. There are an open neighbourhood $V\subset(0,\infty)^n$ of $\kappa^0$ and a $C^1$ map $h\colon V\to\R^n$ such that $h(\kappa)$ realizes $\kappa$ for every $\kappa\in V$. In particular $\kappa^0$ has a realization. \end{theorem} % Lean: Gluck.Discrete.RegularFourAnchor.realizesR2 (RegularFourAnchor.lean); % Gluck.Discrete.FourActiveSlots.Frame.realizesR2_of_controller_regular, % .Frame.fderiv_lengths_at_controller_zero, % .Frame.active_surj_of_controller_regular, % .Frame.lengths_nonneg_lt_edgeCap (FourActiveSlotEmbedding.lean); % Gluck.Discrete.realizesR2_of_regular_dormant_anchor_of_active_surj, % Gluck.Discrete.lengthClosureMap_hasStrictFDerivAt_of_nonneg_lt_edgeCap % (RegularDormantOpening.lean); % Gluck.Discrete.moderateArc_zero_iff_edge (GapCoords.lean); % Lean (parametric): ContDiffAt.exists_localSection_pos_of_active_surjective % (ForMathlib/Analysis/Calculus/ParametricPositiveSection.lean); % Gluck.Discrete.RegularFourAnchor.nonempty_localDiscreteRealizationFamily % (LocalContinuity.lean) \begin{proof} Let $\bar h=\iota\bar L$, let $\mathcal A=\{e_0,\dots,e_3\}$ and $\mathcal Z=\Zn\setminus\mathcal A$, and let $G(\kappa,h)=(\Gap(\kappa,h),\Turn(\kappa,h)-2\pi)$, a real-analytic map on the open set $\{(\kappa,h):h\in D_\kappa\}$. By~\ref{it:anchor-pos}, $\bar L\in U$, so $\bar h\in D_{\kappa^0}$, and $G(\kappa^0,\bar h)=0$ by~\eqref{eq:slot} and~\ref{it:anchor-zero}. Write $G_0=D_hG(\kappa^0,\bar h)$. Differentiating $G(\kappa^0,\iota L)=(g\,\Ctrl_1(L),\Ctrl_2(L))$, with $g=2e^{\ii\psi_{e_0}\circ\iota}\ne0$, at $\bar L$, the derivative of $g$ drops out because $\Ctrl_1(\bar L)=0$: $G_0(\iota v)=(g(\bar L)D\Ctrl_1(\bar L)v,\ D\Ctrl_2(\bar L)v)$. By~\ref{it:anchor-reg}, $G_0$ maps $\R^{\mathcal A}$ onto $\C\times\R$. So there are $b\in\R^{\mathcal A}$ with $G_0b=-G_0\mathbf 1_{\mathcal Z}$ and a linear map $N\colon\C\times\R\to\R^{\mathcal A}$ with $G_0N=\mathrm{id}$. Put $v=\mathbf 1_{\mathcal Z}+b$ and $\widetilde G(\kappa,t,y)=G(\kappa,\bar h+tv+Ny)$ for $(\kappa,t,y)$ near $(\kappa^0,0,0)$ in $\R^n\times\R\times(\C\times\R)$. Then $\widetilde G(\kappa^0,0,0)=0$ and $D_y\widetilde G(\kappa^0,0,0)=\mathrm{id}$. The implicit function theorem gives a neighbourhood $\mathcal N$ of $(\kappa^0,0)$ and a $C^1$ map $y$ on $\mathcal N$ with $\widetilde G(\kappa,t,y(\kappa,t))=0$. Let $H(\kappa,t)=\bar h+tv+Ny(\kappa,t)$. Because $N$ takes values in $\R^{\mathcal A}$, $H_i(\kappa,t)=t$ for $i\in\mathcal Z$. At $(\kappa^0,0)$ the active entries of $H$ are $\bar L_j>0$, and the inequalities $\kappa_iH_{i-1}<1$, $\kappa_iH_i<1$ hold strictly: they read $s_j\bar L_j<1$ or $f_j\bar L_j<1$ at the ends of an active edge and $0<1$ otherwise. By continuity there are $t_0>0$ and an open $V\ni\kappa^0$ in $(0,\infty)^n$ such that these strict inequalities and positivity hold at $(\kappa,t_0)$ for all $\kappa\in V$. Then $h(\kappa)=H(\kappa,t_0)$ is $C^1$, moderate, and satisfies $\Gap=0$, $\Turn=2\pi$. \end{proof} \subsection{Transport of anchors} \begin{proposition}\label{prop:invariance} If $\kappa>0$ admits a regular anchor, so do \textup{(a)} $\lambda\kappa$ for $\lambda>0$; \textup{(b)} the shift $\kappa(\cdot+a)$ for $a\in\Zn$; \textup{(c)} the reflection $\kappa(-\,\cdot)$. \end{proposition} % Lean: Gluck.Discrete.RegularFourAnchor.scale (RegularFourAnchorTransport.lean); % Gluck.Discrete.RegularFourAnchor.comp_add_one, .comp_add, .comp_neg, % .of_comp_add, .of_comp_neg, .nonempty_comp_add_iff, .nonempty_comp_neg_iff % (RegularFourAnchorCyclic.lean); % Gluck.Discrete.FourActiveSlots.Frame.controller_scale_input, % .Frame.controller_scale, .Frame.fderiv_controller_scale; % Gluck.Discrete.FourActiveSlots.Frame.shiftOneOfPos, .shiftOneOfZero, % .Frame.reverse (FourActiveFrameReindex.lean); % Gluck.Discrete.FourActiveSlots.slotController_rotate, % .slotController_reverse, .Frame.controller_rotate_of_endpoints, % .Frame.controller_reverse_of_endpoints (RegularFourAnchorTransport.lean); % .Frame.fderiv_controller_rotate_of_endpoints, % .Frame.fderiv_controller_reverse_of_endpoints, % Gluck.Discrete.RegularFourAnchor.rotateReembed, .reverseReembed % (RegularFourAnchorReindex.lean) \begin{proof} (a) Keep the frame and take $\bar L/\lambda$; all $\beta_j$ are unchanged and $\Ctrl^{\lambda\kappa}(L)=(\lambda^{-1}\Ctrl_1^\kappa(\lambda L),\Ctrl_2^\kappa(\lambda L))$. (b) Take $a=1$. If $e_0\ge1$, the frame $(e_j-1)_j$ has the same readings, and $\bar L$ works. If $e_0=0$, take the frame $(e_1-1,e_2-1,e_3-1,n-1)$ and $L'_j=L_{j+1}$ (indices mod $4$). Then $\beta'_j=\beta_{j+1}$ and, since $\sum_j\beta_j=\Ctrl_2+2\pi$, \[ \Ctrl'(L')=\bigl(e^{-\ii\beta_1}\bigl(\Ctrl_1(L)+L_0(e^{\ii\Ctrl_2(L)}-1)\bigr),\ \Ctrl_2(L)\bigr). \] (c) Edge $e$ of $\kappa$ is edge $-e-1$ of $\kappa'=\kappa(-\,\cdot)$, traversed backwards. Take the frame $e'_j=n-1-e_{3-j}$, with $s'_j=f_{3-j}$, $f'_j=s_{3-j}$, and $L'_j=L_{3-j}$. Then $(\beta'_0,\dots,\beta'_3)=(\beta_0,\beta_3,\beta_2,\beta_1)$ and $\Ctrl'(L')=\bigl(e^{\ii(\beta_1+\beta_2+\beta_3)}\,\overline{\Ctrl_1(L)},\ \Ctrl_2(L)\bigr)$. In each case $\Ctrl'$ vanishes at the new point, and since $\Ctrl_1$ and $\Ctrl_2$ vanish there, the derivatives of the prefactors drop out: $D\Ctrl'$ is $D\Ctrl(\bar L)$ composed with a linear automorphism of $\C\times\R$ (in~(b), $(z,s)\mapsto(e^{-\ii\bar\beta_1}(z+\ii\bar L_0s),s)$) and a permutation of $\R^4$. Hence it is onto. \end{proof} The controller depends on $\kappa$ only through the eight readings. So if a frame $e$ for $\mu$ and a frame $e'$ for $\kappa$ have equal readings, a regular anchor $(e,L)$ for $\mu$ gives the regular anchor $(e',L)$ for $\kappa$, even if $\mu$ and $\kappa$ have different lengths. % Lean: Gluck.Discrete.RegularFourAnchor.controller_eq_of_endpoints, % Gluck.Discrete.RegularFourAnchor.reembed, % Gluck.Discrete.RegularFourAnchor.realizesR2_of_reembed (RegularFourAnchor.lean) \begin{lemma}\label{lem:constant-run} Let $\kappa\in\R^{m+1}$, $m\ge1$, with $\kappa_a=\kappa_{a+1}$ for some $0\le a\le m$, and let $\mu\in\R^m$ be obtained by deleting the entry $a$: $\mu_i=\kappa_{\tau(i)}$ with $\tau(i)=i$ for $i0$; so $t\sigma\le h\sigma<1$ and all arguments of $\arcsin$ lie in $(0,1)$. % Lean: Gluck.Discrete.NativeOppositePure.firstPairSigma, % Gluck.Discrete.NativeOppositePure.firstPairFlag, % Gluck.Discrete.NativeOppositePure.firstPairSigma_data (NativeFirstPairFlag.lean) A vertex $i$ is a \emph{strict local maximum} if $\kappa_{i-1}<\kappa_i>\kappa_{i+1}$. For an index $H$, a vertex $K\ne H$ is a \emph{highest secondary peak relative to $H$} if $K$ is a strict local maximum and $\kappa_i\le\kappa_K$ for every strict local maximum $i\ne H$. % Lean: Gluck.Discrete.HighestSecondaryPeak (CurvatureMountainSelection.lean); % Gluck.Discrete.IsStrictLocalMax (ZigzagWords.lean) \begin{lemma}\label{lem:peak} Let $\kappa$ be adjacent-unequal, let $0$ be a highest secondary peak relative to $H$, and let $\kappa_0<\kappa_H$. Represent $H$ in $\{0,\dots,n-1\}$. \begin{enumerate}[label=\textup{(\alph*)}] \item $H$ is the unique global maximum: $\kappa_i<\kappa_H$ for $i\ne H$. \item $2\le H\le n-2$, and there is $a$ with $2\le a\le H$, $\kappa_{a-1}\le\kappa_0<\kappa_a$, and $\kappa$ strictly increasing on $\{a,\dots,H\}$. \end{enumerate} \end{lemma} % Lean (a): not a separate declaration; in the formal case split H is chosen as % the global maximum, which supplies the hypothesis % (hglobal : ∀ i, i ≠ H → κ i < κ H) of the (N) producer. % Lean (b): Gluck.Discrete.HighestSecondaryPeak.exists_mountain % (CurvatureMountainSelection.lean); % .not_isStrictLocalMax, .forward_step, .backward_step, .high_interval, % .rising_lt, .falling_lt \begin{proof} In an adjacent-unequal word every global maximum is a strict local maximum. (a) If $G\ne H$ is a global maximum, then $\kappa_G\le\kappa_0<\kappa_H\le\kappa_G$. (b) Since $\kappa_{\pm1}<\kappa_0<\kappa_H$, $H\notin\{1,n-1\}$. Let $a$ be the least index in $\{1,\dots,H\}$ with $\kappa_j>\kappa_0$ for $a\le j\le H$; then $a\ge2$ and $\kappa_{a-1}\le\kappa_0$. If $\kappa_j>\kappa_{j+1}$ for some $a\le j\kappa_0$ and is not attained at the ends, so it is attained at a strict local maximum $i\ne H$ with $\kappa_i>\kappa_0$, which is impossible. \end{proof} Let now $\mu$ be positive and adjacent-unequal with $\mu_0=1$, and let $0$ be a highest secondary peak relative to $H$ with $\mu_H>1$. By Lemma~\ref{lem:peak}, $0<\mu_{\pm1}<1$ and $\mu_{H\pm1}<\mu_H$, so the \emph{forward} and \emph{backward flags} \[ \varphi^+=\varphi(\mu_1,\mu_{H-1},\mu_H,\mu_{-1}),\qquad \varphi^-=\varphi(\mu_{-1},\mu_{H+1},\mu_H,\mu_1) \] are defined. The reflection $\mu'_i=\mu_{-i}$ has $0$ as a highest secondary peak relative to $-H$, and its forward flag is $\varphi^-$. \begin{proposition}\label{prop:split} Every positive adjacent-unequal word with a strict four-vertex window admits a regular anchor, provided the following hold for all positive adjacent-unequal words $\mu$ with $\mu_0=1$. \begin{description} \item[(R)] If $\mu\le1$ and $\mu_J=1$ for some $J\ne0$, then $\mu$ admits a regular anchor. \item[(F)] If $0$ is a highest secondary peak relative to $H$, $\mu_H>1$ and $\varphi^+\ge0$, then $\mu$ admits a regular anchor. \item[(N)] If $0$ is a highest secondary peak relative to $H$, $\mu_H>1$, $\varphi^+<0$ and $\varphi^-<0$, then $\mu$ admits a regular anchor. \end{description} \end{proposition} % Lean: Gluck.Discrete.nonempty_regularFourAnchor_of_adjacent_unequal_dfv, % Gluck.Discrete.nonempty_regularFourAnchor_of_repeated_global_maximum, % Gluck.Discrete.HighestSecondaryPeak.nonempty_regularFourAnchor, % Gluck.Discrete.HighestSecondaryPeak.nonempty_regularFourAnchor_of_forward_terminal, % Gluck.Discrete.HighestSecondaryPeak.nonempty_regularFourAnchor_of_backward_terminal, % Gluck.Discrete.nonempty_regularFourAnchor_of_normalizedAt % (UniversalRegularFourAnchor.lean); % Gluck.Discrete.DFV.exists_two_strictLocalMax (N6MonotoneResidue.lean); % Gluck.Discrete.exists_highestSecondaryPeak (CurvatureMountainSelection.lean); % Gluck.Discrete.normalizedAt, Gluck.Discrete.HighestSecondaryPeak.normalizedAt, % Gluck.Discrete.normalizedAt_pos, Gluck.Discrete.normalizedAt_adjacent_ne % (FirstPairMountainTransport.lean) \begin{proof} Let $\kappa$ be such a word and $H$ a global maximum. For $g\in\Zn$ the word $\mu^{(g)}_i=\kappa_{i+g}/\kappa_g$ is positive and adjacent-unequal with $\mu^{(g)}_0=1$, and by Proposition~\ref{prop:invariance} it suffices to find an anchor for one of them. If the maximum is also attained at $J\ne H$, apply (R) to $\mu^{(H)}$. Otherwise, by Lemma~\ref{lem:dfv-plateau} $\kappa$ has two distinct plateau maxima, which are strict local maxima, so there is a strict local maximum other than $H$; let $K$ be one of largest value. Then $0$ is a highest secondary peak of $\mu=\mu^{(K)}$ relative to $H-K$, and $\mu_{H-K}>1$. If $\varphi^+\ge0$, apply (F). If $\varphi^+<0\le\varphi^-$, apply (F) to the reflection of $\mu$ and use Proposition~\ref{prop:invariance}(c). If both flags are negative, apply (N). \end{proof} Statements (R), (F) and (N) are proved in Section~\ref{sec:constructions} (Propositions~\ref{prop:R}, \ref{prop:F} and~\ref{prop:N}). Together with Propositions~\ref{prop:reduction} and~\ref{prop:split} this proves Theorem~\ref{thm:dfv-realizes}. % Lean: Gluck.Discrete.realizesR2_of_dfv_fourActive, % Gluck.Discrete.tabachnikovProblem2_all (TabachnikovFourActive.lean)