[@persistent_tries]. (We improve the overhead factor from $O(k)$ to $O(\log{k})$.) The main ingredients are: (1) Making sure that each item with a finger on it in $T$ has depth at most $O(\log k)$ in $T'$. (In [@CombineBST], each finger may have depth up to $O(k)$ in $T'$.) (2) Implementing a deque data structure within $T'$ so that each finger in $T$ can move to any of its neighbors, or perform a rotation, with cost $O(\log k)$ amortized. (In [@CombineBST], this cost is $O(1)$ amortized.)

Given these ingredients, to move a finger $f$ to its neighbor $x$ in $T$, we can simply access $f$ from the root of $T'$ in $O(\log k)$ steps, and then move $f$ to $x$ in $T'$ in $O(\log{k})$ amortized steps, with a similar approach for a rotation at $f$. Hence, the overhead factor is $O(\log k)$. We sketch the main technical ideas, postponing the details to Appendix \[sec:simulation lazy fingers\].

Consider the tree $S$ induced by the current fingers and the paths connecting them in $T$. The tree $S$ consists of finger-nodes and non-finger nodes of degree 3 (both types of nodes are called *pseudo-fingers*), and paths of non-finger nodes of degree 2 connecting pseudo-fingers with 