For $D = C$: $D \in \pn$ so $D \not\in \py$. OK.
For $D \neq C$: $D \isin C \equiv D \isin A$, so by Base Acyclic for
-$A$, $D \isin C \implies D \not\in \py$. $\qed$
+$A$, $D \isin C \implies D \not\in \py$.
+
+$\qed$
\subsection{Coherence and patch inclusion}
If $D = C$, trivial. For $D \neq C$:
$D \isin C \equiv D \isin A \equiv D \le A \equiv D \le C$. $\qed$
+\section{Create Base}
+
+xxx tbd
+
+\section{Create Tip}
+
+xxx tbd\
+
\section{Anticommit}
-Given $L, R^+, R^-$ where
-$R^+ \in \pry, R^- = \baseof{R^+}$.
+Given $L$ and $\pr$ as represented by $R^+, R^-$.
Construct $C$ which has $\pr$ removed.
Used for removing a branch dependency.
\gathbegin
\subsection{Conditions}
+\[ \eqn{ Ingredients }{
+R^+ \in \pry \land R^- = \baseof{R^+}
+}\]
\[ \eqn{ Into Base }{
L \in \pn
}\]
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$.
+$\qed$
(Note that the merge base $R^+ \not\le R^-$, i.e. the merge base is
later than one of the branches to be merged.)
Whereas if $L \haspatch \p$, $D \isin L \equiv D \le L$.
so $L \haspatch \p \implies C \haspatch \p$.
+$\qed$
+
\section{Foreign Inclusion}
Consider some $D$ s.t. $\patchof{D} = \bot$. $D \neq C$.
By Foreign Inclusion of $D$ in $L$, $D \isin L \equiv D \le L$.
And $D \le C \equiv D \le L$.
-Thus $D \isin C \equiv D \le C$. $\qed$
+Thus $D \isin C \equiv D \le C$.
+
+$\qed$
\section{Merge}
Consider some $D \in \py$.
By Base Acyclic of $L$, $D \not\isin L$. By the above, $D \not\isin
-R$. And $D \neq C$. So $D \not\isin C$. $\qed$
+R$. And $D \neq C$. So $D \not\isin C$.
+
+$\qed$
\subsection{Tip Contents}