From: Ian Jackson Date: Sat, 14 Jul 2012 01:07:44 +0000 (+0100) Subject: strategy: wip reachable etc. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=commitdiff_plain;h=8f439786bda0cd262aee087f20fc6322ed7a144f strategy: wip reachable etc. --- diff --git a/article.tex b/article.tex index 5df0d91..2b54eec 100644 --- a/article.tex +++ b/article.tex @@ -94,6 +94,8 @@ \newcommand{\depsreq}{{\mathcal G}} \newcommand{\allsrcs}{\set U} +\newcommand{\allreach}{\set O} +\newcommand{\allreachof}[1]{\set O^{#1}} \newcommand{\patchof}[1]{\patch ( #1 ) } \newcommand{\baseof}[1]{\base ( #1 ) } @@ -133,6 +135,8 @@ \newcommand{\tipdn}{ \tipa \pdn } \newcommand{\tipdy}{ \tipa \pdy } +\newcommand{\tippy}{ \tipa \py } + %\newcommand{\bigforall}{\mathop{\hbox{\huge$\forall$}}} \newcommand{\bigforall}{% \mathop{\mathchoice% diff --git a/strategy.tex b/strategy.tex index 97c41b9..253ffc3 100644 --- a/strategy.tex +++ b/strategy.tex @@ -107,26 +107,29 @@ The new tips of the git branches $\pcn$ and $\pcy$, containing all the appropriate commits (and the appropriate other patches), as generated by the Traversal phase of the update algorithm. -\end{basedescript} - -\stdsection{ WIP tip satisfaction, reachable commits } - -Set of all reachable commits, O. +\item[ $\allreach$ ] +The set of all reachable commits. A reachable commit is one we might refer to explicitly in any of these algorithms, and any ancestor of such a commit. We explicitly -enumerate all of the input commits (U), so the reachable commits are -originally the input commits and their ancestors. Each commit we -generate will have reachable commits as ancestors so when we generate -a new commit we only add that new commit to O. +enumerate all of the input commits ($\allsrcs$), so the reachable +commits are originally the input commits and their ancestors. + +$\allreach$ varies over time as we generate more commits. Each +commit we generate will have only reachable commits as ancestors, so +generating a new commit (only) adds that new commit to $\allreach$. -So O varies over time as we generate more commits. We write O_py for -the set of reachable commits at the point where we have just generated -T_py, ie jusjt after Merge-Tip(P). +\item[ $\allreachof{\py}$ ] +The set of reachable commits at the point where we have just generated +$\tippy$, i.e. just after $\alg{Merge-Tip}(\p)$. + +\end{basedescript} + +\stdsection{ WIP tip satisfaction, reachable commits } We preserve/ensure - Tip_Py >= pendsof( O_py, Py ) -(Tip_py is computed during traversal for the patch P) +$$ \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 diff --git a/trav-alg.tex b/trav-alg.tex index df5e4cd..82bca6d 100644 --- a/trav-alg.tex +++ b/trav-alg.tex @@ -34,13 +34,13 @@ such that: \equiv \pa E \isdep \pc } -\statement{Tip Exceeds Inputs}{ +\statement{Tip Covers Inputs}{ \tipcy \ge \pendsof{\allsrcs}{\pcy} } -\statement{Base Exceeds Inputs' Bases}{ +\statement{Base Covers Inputs' Bases}{ \bigforall_{E \in \pendsof{\allsrcs}{\pcy}} \tipcn \ge \baseof{E} } -\statement{Base Exceeds Base Inputs}{ +\statement{Base Covers Base Inputs}{ \bigforall_{H \in \set H^{\pn}} \tipcn \ge H }