chiark / gitweb /
fix title etc. in merge use of no replay
[topbloke-formulae.git] / article.tex
index 674e5936f60fc6ae27161506b57b458b7517ccab..89d23fe179d9bfc53524f3cfe65fb20d4425f51e 100644 (file)
 \newcommand{\merge}[4]{{\mathcal M}(#1,#2,#3,#4)}
 %\newcommand{\merge}[4]{{#2 {{\frac{ #1 }{ #3 } #4}}}}
 
-\newcommand{\patchof}[1]{{\mathcal P} ( #1 ) }
-\newcommand{\baseof}[1]{{\mathcal B} ( #1 ) }
+\newcommand{\patch}{{\mathcal P}}
+\newcommand{\base}{{\mathcal B}}
+
+\newcommand{\patchof}[1]{\patch ( #1 ) }
+\newcommand{\baseof}[1]{\base ( #1 ) }
 
 \newcommand{\eqn}[2]{ #2 \tag*{\mbox{\bf #1}} }
 \newcommand{\corrolary}[1]{ #1 \tag*{\mbox{\it Corrolary.}} }
@@ -256,8 +259,15 @@ XXX proof TBD.
 
 \subsection{No Replay for Merge Results}
 
-If we are constructing $C$ such that $\merge{C}{L}{M}{R}$, No Replay
-is preserved.  {\it Proof:}
+If we are constructing $C$, given
+\gathbegin
+  \merge{C}{L}{M}{R}
+\gathnext
+  L \le C
+\gathnext
+  R \le C
+\end{gather}
+No Replay is preserved.  {\it Proof:}
 
 \subsubsection{For $D=C$:} $D \isin C, D \le C$.  OK.
 
@@ -267,9 +277,6 @@ $D \isin C$.  And $D \isin L \implies D \le L \implies D \le C$.  OK.
 \subsubsection{For $D \neq C \land D \not\isin L \land D \not\isin R$:}
 $D \not\isin C$.  OK.
 
-\subsubsection{For $D \neq C \land D \not\isin L \land D \not\isin R$:}
-$D \not\isin C$.  OK.
-
 \subsubsection{For $D \neq C \land (D \isin L \equiv D \not\isin R)
  \land D \not\isin M$:}
 $D \isin C$.  Also $D \isin L \lor D \isin R$ so $D \le L \lor D \le
@@ -277,8 +284,7 @@ R$ so $D \le C$.  OK.
 
 \subsubsection{For $D \neq C \land (D \isin L \equiv D \not\isin R)
  \land D \isin M$:}
-$D \not\isin C$.  Also $D \isin L \lor D \isin R$ so $D \le L \lor D \le
-R$ so $D \le C$.  OK.
+$D \not\isin C$.  OK.
 
 $\qed$
 
@@ -383,7 +389,7 @@ $D \isin C \equiv D \isin A \equiv D \le A \equiv D \le C$.  $\qed$
 \section{Anticommit}
 
 Given $L, R^+, R^-$ where
-$\patchof{R^+} = \pry, \patchof{R^-} = \prn$.  
+$R^+ \in \pry, R^- = \baseof{R^+}$.  
 Construct $C$ which has $\pr$ removed.
 Used for removing a branch dependency.
 \gathbegin
@@ -399,16 +405,25 @@ Used for removing a branch dependency.
 \[ \eqn{ Unique Tip }{
  \pendsof{L}{\pry} = \{ R^+ \}
 }\]
-\[ \eqn{ Correct Base }{
- \baseof{R^+} = R^-
-}\]
 \[ \eqn{ Currently Included }{
  L \haspatch \pry
 }\]
 
+\subsection{Desired Contents}
 
+xxx need to prove $D \isin C \equiv D \not\in \pry \land D \isin L$.
 
-xxx want to prove $D \isin C \equiv D \not\in \pry \land D \isin L$.
+\subsection{No Replay}
+
+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$
+
+\subsection{Unique Base}
+
+Need to consider only $C \in \py$, ie $L \in \py$.
+
+xxx tbd
 
 \section{Merge}
 
@@ -434,9 +449,9 @@ Merge commits $L$ and $R$ using merge base $M$ ($M < L, M < R$):
    \end{cases}
 }\]
 
-\subsection{Merge Results}
+\subsection{No Replay}
 
-As above.
+See No Replay for Merge Results.
 
 \subsection{Unique Base}