chiark / gitweb /
wip merge complex
[topbloke-formulae.git] / article.tex
index 3db83bfeec3b23a2adf57dfe5548411873f4051b..2f512f4c96e2215b002ae886742a107753823bb2 100644 (file)
@@ -474,6 +474,7 @@ Merge commits $L$ and $R$ using merge base $M$ ($M < L, M < R$):
 \gathnext
  \mergeof{C}{L}{M}{R}
 \end{gather}
+We will occasionally use $X,Y$ s.t. $\{X,Y\} = \{L,R\}$.
 
 \subsection{Conditions}
 
@@ -487,6 +488,13 @@ Merge commits $L$ and $R$ using merge base $M$ ($M < L, M < R$):
       \text{otherwise} : & \false
    \end{cases}
 }\]
+\[ \eqn{ Merge Ends }{
+    X \not\haspatch \p \land
+    Y \haspatch \p \land
+    E \in \pendsof{X}{\py}
+  \implies
+    E \le Y
+}\]
 
 \subsection{No Replay}
 
@@ -531,8 +539,6 @@ $\qed$
 Need to determine $C \haspatch P$ based on $L,M,R \haspatch P$.
 This involves considering $D \in \py$.  
 
-We will use $X,Y$ s.t. $\{X,Y\} = \{L,R\}$.
-
 \subsubsection{For $L \nothaspatch P, R \nothaspatch P$:}
 $D \not\isin L \land D \not\isin R$.  $C \not\in \py$ (otherwise $L
 \in \py$ ie $L \haspatch P$ by Tip Self Inpatch).  So $D \neq C$.
@@ -564,4 +570,10 @@ OK for $C \haspatch P$.
 
 So indeed $L \haspatch P \land R \haspatch P \implies C \haspatch P$.
 
+\subsubsection{For (wlog) $X \not\haspatch P, Y \haspatch P$:}
+
+$C \haspatch P \equiv C \nothaspatch M$.
+
+\proofstarts
+
 \end{document}