chiark / gitweb /
 author Ian Jackson Mon, 28 May 2012 00:12:19 +0000 (01:12 +0100) committer Ian Jackson Mon, 28 May 2012 00:12:19 +0000 (01:12 +0100)
 trav-alg.tex patch | blob | history trav-proofs.tex patch | blob | history

index 37d9194..4b6796a 100644 (file)
@@ -23,13 +23,18 @@ lowest first:

\end{enumerate}

-After processing each $\pc$ we will have created:
-
-\begin{itemize}
-
-\item $\tipcn$ and $\tipcy$ such that $\baseof{\tipcy} = \tipcn$.
-
-\end{itemize}
+After processing each $\pc$ we will have created $\tipcn$ and $\tipcy$
+such that:
+
+\statement{Correct Base}{
+  \baseof{\tipcy} = \tipcn
+}
+\statement{Base Ends Supreme}{
+  \tipcn \ge \pendsof{\allsrcs}{\pcn}
+}
+\statement{Tip Ends Supreme}{
+  \tipcy \ge \pendsof{\allsrcs}{\pcy}
+}

\subsection{$\alg{Merge-Base}(\pc)$}

index 14f6cd8..67e1b11 100644 (file)
@@ -5,3 +5,23 @@ that the commit generation preconditions are met.

\subsection{Tip Base Merge}

+$L = W$, $R = \tipcn$.
+
+TODO TBD
+
+Afterwards, $\baseof{W} = \tipcn$.
+
+\subsection{Tip Source Merge}
+
+In fact, we do this backwards: $L = S$, $R = W$.  Since $S \in \pcy$,
+the resulting $C \in \pcy$ and the remaining properties of the Merge
+commit construction are symmetrical in $L$ and $R$ so this is fine.
+
+By the results of Tip Base Merge, $\baseof{W} = \tipcn$.
+
+By Base Ends Supreme, $\tipcn \ge \baseof{S}$ i.e.
+$\baseof{R} \ge \baseof{L}$.
+
+Either $\baseof{L} = \baseof{M}$, or we must choose a different $M$ in
+which case $M = \baseof{S}$ will suffice.
+