X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=blobdiff_plain;f=traversal.tex;h=ab1e6d4ade011651642cbc61bf8ac5ab3e3a4aae;hp=93a3eb82e87cb8bcbeb810dc479ad6756b49393b;hb=02d646dff7177c19756094eb179a5c324e268f3b;hpb=517384538f93dd1d19e65f86836298c377fa04ec diff --git a/traversal.tex b/traversal.tex index 93a3eb8..ab1e6d4 100644 --- a/traversal.tex +++ b/traversal.tex @@ -1,13 +1,15 @@ -\section{Traversal phase --- algorithm} +\section{Traversal phase} -(In general, unless stated otherwise below, when we generate a new +In general, unless stated otherwise below, when we generate a new commit $C$ using one of the commit kind recipies, we update $W \assign C$. In any such case where we say we're going to Merge with $L = W$, if $R \ge W$ we do not Merge but instead simply set $W \assign R$. For each commit generation operation called for by the traversal -algorithms, we prove that the commit generation preconditions are met.) +algorithms, we prove that the commit generation preconditions are met. + +\subsection{Algorithm} For each patch $\pc \in \allpatches$ in topological order by $\hasdep$, lowest first: @@ -25,9 +27,10 @@ lowest first: \end{enumerate} +\subsection{Results} + After processing each $\pc$ we will have created $\tipcn$ and $\tipcy$ such that: - \statement{Correct Base}{ \baseof{\tipcy} = \tipcn } @@ -212,10 +215,23 @@ $L = W, \; R = \tipdy, \; M = \baseof{R} = \tipdn$. \item TODO CHOOSE/REFINE W AND S as was done during Ranking for bases \item $\alg{Merge}$ from $\tipcn$. That is, $L = W, \; -R = \tipcn$ and choose any suitable $M$. +R = \tipcn$ and $M = \baseof{W}$. \commitproof{ - $L = W$, $R = \tipcn$. + \condproof{Ingredients}{ + $M \le L$ is trivial. For $M \le R$ we want + $\tipcn \ge \baseof{W}$. + Well $W \in \set S^{\pcy}$ so $W \in \allreachof{\pcn}$ + and $W \in \pcy$. So $W \in \pendsof{\allreachof{\pcn}}{\pcy}$ + so Base Covers Reachable indeed + $\tipcn \ge \baseof{W}$. + } + \condproof{Tip Merge}{ Trivial. } + \condproof{Merge Acyclic}{ + By Base Acyclic, $\tipcn \nothaspatch \p$. + } + \condproof{Foreign Merges}{ Not applicable. } + TODO TBD Afterwards, $\baseof{W} = \tipcn$.