chiark / gitweb /
merge reference to no replay fix ref to be more regular
[topbloke-formulae.git] / article.tex
index 33a0846c50a91ae3a967e78e19c7fa4e08a4d9b2..b7df641e68703266c1729e1c3abf32680e35f805 100644 (file)
@@ -429,7 +429,7 @@ Used for removing a branch dependency.
 
 \subsection{Conditions}
 
-\[ \eqn{ From Base }{
+\[ \eqn{ Into Base }{
  L \in \pn
 }\]
 \[ \eqn{ Unique Tip }{
@@ -439,11 +439,17 @@ Used for removing a branch dependency.
  L \haspatch \pry
 }\]
 
-\subsection{No Replay}
+\subsection{Ordering of ${L, R^+, R^-}$:}
 
 By Unique Tip, $R^+ \le L$.  By definition of $\base$, $R^- \le R^+$
-so $R^- \le L$.  So $R^+ \le C$ and $R^- \le C$ and No Replay for
-Merge Results applies. $\qed$
+so $R^- \le L$.  So $R^+ \le C$ and $R^- \le C$.
+
+(Note that the merge base $R^+ \not\le R^-$, i.e. the merge base is
+later than one of the branches to be merged.)
+
+\subsection{No Replay}
+
+No Replay for Merge Results applies.  $\qed$
 
 \subsection{Desired Contents}
 
@@ -481,7 +487,7 @@ $\qed$
 
 \subsection{Unique Base}
 
-From Base means that $C \in \pn$, so Unique Base is not
+Into Base means that $C \in \pn$, so Unique Base is not
 applicable. $\qed$
 
 \subsection{Tip Contents}
@@ -491,11 +497,29 @@ Again, not applicable. $\qed$
 \subsection{Base Acyclic}
 
 By Base Acyclic for $L$, $D \isin L \implies D \not\in \py$.
-And by From Base $C \not\in \py$.
+And by Into Base $C \not\in \py$.
 Now from Desired Contents, above, $D \isin C
 \implies D \isin L \lor D = C$, which thus
 $\implies D \not\in \py$.  $\qed$.
 
+\subsection{Coherence and Patch Inclusion}
+
+Need to consider some $D \in \py$.  By Into Base, $D \neq C$.
+
+\subsubsection{For $\p = \pr$:}
+By Desired Contents, above, $D \not\isin C$.
+So $C \nothaspatch \pr$.
+
+\subsubsection{For $\p \neq \pr$:}
+By Desired Contents, $D \isin C \equiv D \isin L$
+(since $D \in \py$ so $D \not\in \pry$).
+
+If $L \nothaspatch \p$, $D \not\isin L$ so $D \not\isin C$.
+So $L \nothaspatch \p \implies C \nothaspatch \p$.
+
+Whereas if $L \haspatch \p$, $D \isin L \equiv D \le L$.
+so $L \haspatch \p \implies C \haspatch \p$.
+
 \section{Merge}
 
 Merge commits $L$ and $R$ using merge base $M$ ($M < L, M < R$):
@@ -553,7 +577,7 @@ Merge Ends condition applies.  Good.
 
 \subsection{No Replay}
 
-See No Replay for Merge Results.
+No Replay for Merge Results applies.  $\qed$
 
 \subsection{Unique Base}
 
@@ -627,7 +651,8 @@ 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 M \nothaspatch \p$.
+$M \haspatch \p \implies C \nothaspatch \p$.
+$M \nothaspatch \p \implies C \haspatch \p$.
 
 \proofstarts