$\tippy$, i.e. just after $\alg{Merge-Tip}(\p)$.
\end{basedescript}
-
-\stdsection{ WIP tip satisfaction, reachable commits }
-
-We preserve/ensure
-$$ \tippy >= \pendsof{\allreach_{\py}}{\py} $$
-($\tippy$ is computed during traversal for the patch $\p$)
-
-We ensure this property by:
- - we do not generate any commits for py other than
- during Merge-Tip
- - so at the start of Merge-Tip pendsof (O, py) = pendsof (U, py)
- - Merge-Tip itself wip wip wip
-
-
\equiv
\pa E \isdep \pc
}
-\statement{Tip Covers Inputs}{
- \tipcy \ge \pendsof{\allsrcs}{\pcy}
+\statement{Tip Covers Reachable}{
+ \tipcy \ge \pendsof{\allreachof{\pcy}}{\pcy}
}
\statement{Base Covers Inputs' Bases}{
\bigforall_{E \in \pendsof{\allsrcs}{\pcy}} \tipcn \ge \baseof{E}
(Tip Source Merge.)
\end{enumerate}
-
-
For each operation called for by the traversal algorithms, we prove
that the commit generation preconditions are met.
-WIP WHAT ABOUT PROVING ALL THE TRAVERSAL RESULTS
+\subsection{Reachability and coverage}
+
+We ensure Tip Covers Reachable as follows:
+
+\begin{itemize}
+\item We do not generate any commits $\in \py$ other than
+ during $\alg{Merge-Tip}(\py)$;
+\item So at the start of $\alg{Merge-Tip}(\py)$,
+ $ \pendsof{\allreach}{\py} = \pendsof{\allsrcs}{\py} $
+\item $\alg{Merge-tip}$ arranges that when it is done
+ $\tippy \ge \pendsof{\allreach}{\py}$ --- see below.
+\end{itemize}
+
+A corrolary is as follows:
+\statement{Tip Covers Superior Reachable} {
+ \bigforall_{\pd \isdep \pc}
+ \tipdy \ge \pendsof{\allreachof{\pcy}}{\pdy}
+}
+\proof{
+ No commits $\in \pdy$ are created other than during
+ $\alg{Merge-Tip}(\pd)$, which runs (and has thus completed)
+ before $\alg{Merge-Tip}(\pcy)$
+ So $\pendsof{\allreachof{\pcy}}{\pdy} =
+ \pendsof{\allreachof{\pdy}}{\pdy}$.
+}
\subsection{Traversal Lemmas}
-Firstly, some lemmas.
\statement{Tip Correct Contents}{
\tipcy \haspatch \pa E
\equiv