chiark / gitweb /
strategy: wip
[topbloke-formulae.git] / strategy.tex
index 0ac03fa119ebb0a65c201352c9c8123136bc4a8e..a3acc81ec7560dec9a0cd0e9e7b2311ac10a4194 100644 (file)
@@ -96,16 +96,19 @@ $\pqn$ involved in the cycle.
 For each such $\p$, after updating $\hasdep$, we recursively make a plan
 for $\pc' = \p$.
 
+
+
 \section{Execution phase}
 
 We process commit sets from the bottom up according to the relation
 $\hasdep$.  For each commit set $\pc$ we construct $\tipfc$ from
 $\tipzc$, as planned.  By construction, $\hasdep$ has $\patchof{L}$
 as its maximum, so this operation will finish by updating
-$\tipfa{\patchof{L}}$.
+$\tipca{\patchof{L}}$ with $\tipfa{\patchof{L}}$.
 
-After we are done, the result has the following properties:
-\[ \eqn{Tip Inputs}{
+After we are done with each commit set $\pc$, the
+new tip $\tipfc$ has the following properties:
+\[ \eqn{Tip Sources}{
   \bigforall_{E_i \in \set E_{\pc}} \tipfc \ge E_i
 }\]
 \[ \eqn{Tip Dependencies}{
@@ -115,7 +118,7 @@ After we are done, the result has the following properties:
   \tipfc \haspatch \p \equiv \pc \hasdep \py
 }\]
 
-For brevity we will write $\tipu$ for $\tipuc$, etc.  We will start
+For brevity we will sometimes write $\tipu$ for $\tipuc$, etc.  We will start
 out with $\tipc = \tipz$, and at each step of the way construct some
 $\tipu$ from $\tipc$.  The final $\tipu$ becomes $\tipf$.
 
@@ -126,6 +129,18 @@ it is, are we fast forward to $E_i$
 --- formally, $\tipu = \text{max}(\tipc, E_i)$ ---
 and drop $E_i$ from the planned ordering.
 
+Then we will merge the direct contributors and the sources' ends.
+
+This generates more commits $\tipuc \in \pc$, but none in any other
+commit set.  We maintain XXX FIXME IS THIS THE BEST THING?
+$$
+ \bigforall_{\p \isdep \pc}
+ \pancsof{\tipcc}{\p} \subset \left[
+   \tipfa \p \cup
+   \bigcup_{E \in \set E_{\pc}} \pancsof{E}{\p}
+  \right]
+$$
+
 \subsection{Merge Contributors for $\pcy$}
 
 Merge $\pcn$ into $\tipc$.  That is, merge with
@@ -147,7 +162,11 @@ WIP UP TO HERE
 
 Addition Merge Ends: If $\py \isdep \pcn$, we have already
 done the execution phase for $\pcn$ and $\py$.  By
-Perfect Contents for $\pcn$, $\tipfa \pcn \haspatch \p$.
+Perfect Contents for $\pcn$, $\tipfa \pcn \haspatch \p$ i.e.
+$R \haspatch \p$.  So we only need to worry about $Y = R = \tipfa \pcn$.
+By Tip Dependencies $\tipfa \pcn \ge \tipfa \py$.
+And by Tip Sources $\tipfa \py \ge $
+
 
 computed $\tipfa \py$, and by Perfect Contents for $\py$