chiark / gitweb /
strategy: wip reachable etc.
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 14 Jul 2012 01:07:44 +0000 (02:07 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 14 Jul 2012 01:07:44 +0000 (02:07 +0100)
article.tex
strategy.tex
trav-alg.tex

index 5df0d91f722c49c48cd097c47bb1a7f650ab52bd..2b54eecf517c70c0cd08522e2c7dad1c9334815f 100644 (file)
@@ -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 ) }
 \newcommand{\tipdn}{ \tipa \pdn }
 \newcommand{\tipdy}{ \tipa \pdy }
 
+\newcommand{\tippy}{ \tipa \py }
+
 %\newcommand{\bigforall}{\mathop{\hbox{\huge$\forall$}}}
 \newcommand{\bigforall}{%
   \mathop{\mathchoice%
index 97c41b9a9b0a1e55ea45e085746a3909f08b317b..253ffc31fb1340fbd8dff16516d6caa0f8b33262 100644 (file)
@@ -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
index df5e4cd8fb3b5e47532215b754ea66b6816fb0c1..82bca6d99239bfbc0c87e3da8f4c3cdb4ba7fcb8 100644 (file)
@@ -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
 }