1 \section{Traversal phase --- proofs}
3 For each operation called for by the traversal algorithms, we prove
4 that the commit generation preconditions are met.
6 WIP WHAT ABOUT PROVING ALL THE TRAVERSAL RESULTS
8 \subsection{Traversal Lemmas}
11 \statement{Tip Correct Contents}{
14 \pd = \pc \lor \pd \isdep \pc
17 For $\pc = \pd$, Tip Own Contents suffices.
18 For $\pc \neq \pd$, Exclusive Tip Contents
19 gives $D \isin \tipcy \equiv D \isin \baseof{\tipcy}$
20 which by Correct Base $\equiv D \isin \tipcn$.
23 \subsection{Base Dependency Merge, Base Sibling Merge}
25 We do not prove that the preconditions are met. Instead, we check
26 them at runtime. If they turn out not to be met, we abandon
27 \alg{Merge-Base} and resort to \alg{Recreate-Base}.
29 TODO COMPLETE MERGE-BASE STUFF
31 WIP WHAT ABOUT PROVING ALL THE TRAVERSAL RESULTS
33 \subsection{Recreate Base Beginning}
35 \subsubsection{Create Acyclic}
39 \subsection{Tip Base Merge}
41 $L = W$, $R = \tipcn$.
45 Afterwards, $\baseof{W} = \tipcn$.
47 \subsection{Tip Source Merge}
49 In fact, we do this backwards: $L = S$, $R = W$. Since $S \in \pcy$,
50 the resulting $C \in \pcy$ and the remaining properties of the Merge
51 commit construction are symmetrical in $L$ and $R$ so this is fine.
53 By the results of Tip Base Merge, $\baseof{W} = \tipcn$.
55 By Base Ends Supreme, $\tipcn \ge \baseof{S}$ i.e.
56 $\baseof{R} \ge \baseof{L}$.
58 Either $\baseof{L} = \baseof{M}$, or we must choose a different $M$ in
59 which case $M = \baseof{S}$ will suffice.