chiark / gitweb /
strategy: Define H in notation
[topbloke-formulae.git] / strategy.tex
index 833f5bdfe06fe6c2846815c66dcde91002d674be..e2017c34c3fcd516d308438ab5c6f33f3b577583 100644 (file)
@@ -54,6 +54,13 @@ $\bigforall_{E \in \pendsof{\set X}{\p}} E \le T$
 $\bigcup_{\p \in \allpatches} \set H^{\pn} \cup \set H^{\py}$.
 All the input commits to the update algorithm.  (See below.)
 
+\item[ $\set H^{\pc^{_=/-}}$ ]
+
+The existing head commit(s) $\set H$ of the branch $\pc^{+/-}$.
+These are the heads which will be merged and used in this update.
+This will include the current local and remote git refs, as desired.
+Obtained from the function $h$ (see below).
+
 %\item[ $\set E_{\pc}$ ]
 %$ \bigcup_i \pendsof{S_{\pc,i}}{\pc} $.
 %All the ends of $\pc$ in the sources.
@@ -76,8 +83,6 @@ all of its dependencies will be updated.
 
 \item[ $h : \pc^{+/-} \mapsto \set H^{\pc^{+/-}}$ ]
 Function for getting the existing heads $\set H$ of the branch $\pc^{+/-}$.
-These are the heads which will be merged and used in this update.
-This will include the current local and remote git refs, as desired.
 
 \item[ $g : \pc, \Gamma \mapsto \Gamma'$ ]
 Function to allow explicit adjustment of the direct dependencies
@@ -107,53 +112,20 @@ 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).  And each commit we generate
-will be descended from zero or more of these.
+enumerate all of the input commits ($\allsrcs$), so the reachable
+commits are originally the input commits and their ancestors.
 
-Naturally this set varies over time as we generate more commits.  We
-write O_pyn for the set of reachable commits at the point where we
-have just generated T_pyn.
+$\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$.
 
-We preserve/ensure
-  Tip_Pyn >= pendsof( O_pyn, Pyn )
-(Tip_pyn is computed during traversal for the patch p)
-
-We ensure this property by:
-  - we do not generate any commits for pyn other than
-    during traversal for pyn
-  - so at the start of traversal pendsof ( O, pyn) = pendsof (U, pyn)
-  - the traversal steps will takes those pends
-
-  - during traversal for the patch set pyn
-    pendsof 
-
-  - arranging that during traversal for the patch set pyn
-     
-, we firstly
-    compute a tip_pyn which is >= pendsof(O) as follows:
-      there is a set of relevant ends
-              pendsof(U, 
-
-      we initially set T
-
-    by virtue of it being  >= pendsof(U) \cup
-    all lower tip_qyn
- - 
-
-We do this by:
- - firstly, Tip_pyn is only valid af
-  
-
-Set of all reachable commits in a particular patch set.
- This consists of
-  - input commits
-  - 
+\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}