+\subsection{No Replay}
+Trivial.
+
+\subsection{Unique Base}
+If $A, C \in \py$ then $\baseof{C} = \baseof{A}$. $\qed$
+
+\subsection{Tip Contents}
+We need to consider only $A, C \in \py$. From Tip Contents for $A$:
+\[ D \isin A \equiv D \isin \baseof{A} \lor ( D \in \py \land D \le A ) \]
+Substitute into the contents of $C$:
+\[ D \isin C \equiv D \isin \baseof{A} \lor ( D \in \py \land D \le A )
+ \lor D = C \]
+Since $D = C \implies D \in \py$,
+and substituting in $\baseof{C}$, this gives:
+\[ D \isin C \equiv D \isin \baseof{C} \lor
+ (D \in \py \land D \le A) \lor
+ (D = C \land D \in \py) \]
+\[ \equiv D \isin \baseof{C} \lor
+ [ D \in \py \land ( D \le A \lor D = C ) ] \]
+So by Exact Ancestors:
+\[ D \isin C \equiv D \isin \baseof{C} \lor ( D \in \py \land D \le C
+) \]
+$\qed$
+
+\subsection{Base Acyclic}
+
+Need to consider only $A, C \in \pn$.
+
+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$
+
+\subsection{Coherence and patch inclusion}
+
+Need to consider $D \in \py$
+
+\subsubsection{For $A \haspatch P, D = C$:}
+
+Ancestors of $C$:
+$ D \le C $.
+
+Contents of $C$:
+$ D \isin C \equiv \ldots \lor \true \text{ so } D \haspatch C $.
+
+\subsubsection{For $A \haspatch P, D \neq C$:}
+Ancestors: $ D \le C \equiv D \le A $.
+
+Contents: $ D \isin C \equiv D \isin A \lor f $
+so $ D \isin C \equiv D \isin A $.
+
+So:
+\[ A \haspatch P \implies C \haspatch P \]
+
+\subsubsection{For $A \nothaspatch P$:}
+
+Firstly, $C \not\in \py$ since if it were, $A \in \py$.
+Thus $D \neq C$.
+
+Now by contents of $A$, $D \notin A$, so $D \notin C$.
+
+So:
+\[ A \nothaspatch P \implies C \nothaspatch P \]
+$\qed$
+
+\subsection{Foreign 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{Merge}
+
+Merge commits $L$ and $R$ using merge base $M$ ($M < L, M < R$):
+\gathbegin
+ C \hasparents \{ L, R \}
+\gathnext
+ \patchof{C} = \patchof{L}
+\gathnext
+ D \isin C \equiv
+ \begin{cases}
+ (D \isin L \land D \isin R) \lor D = C : & \true \\
+ (D \not\isin L \land D \not\isin R) \land D \neq C : & \false \\
+ \text{otherwise} : & D \not\isin M
+ \end{cases}
+\end{gather}
+
+\subsection{Conditions}
+
+\[ \eqn{ Tip Merge }{
+ L \in \py \implies
+ \begin{cases}
+ R \in \py : & \baseof{R} \ge \baseof{L}
+ \land [\baseof{L} = M \lor \baseof{L} = \baseof{M}] \\
+ R \in \pn : & R \ge \baseof{L}
+ \land M = \baseof{L} \\
+ \text{otherwise} : & \false
+ \end{cases}
+}\]
+
+\subsection{No Replay}
+
+\subsubsection{For $D=C$:} $D \isin C, D \le C$. OK.
+
+\subsubsection{For $D \isin L \land D \isin R$:}
+$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
+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.
+
+$\qed$
+
+\subsection{Unique Base}
+
+Need to consider only $C \in \py$, ie $L \in \py$,
+and calculate $\pendsof{C}{\pn}$. So we will consider some
+putative ancestor $A \in \pn$ and see whether $A \le C$.
+
+$A \le C \equiv A \le L \lor A \le R \lor A = C$.
+But $C \in py$ and $A \in \pn$ so $A \neq C$.
+Thus $A \le L \lor A \le R$.
+
+By Unique Base of L and Transitive Ancestors,
+$A \le L \equiv A \le \baseof{L}$.
+
+\subsubsection{For $R \in \py$:}
+
+By Unique Base of $R$ and Transitive Ancestors,
+$A \le R \equiv A \le \baseof{R}$.
+
+But by Tip Merge condition on $\baseof{R}$,
+$A \le \baseof{L} \implies A \le \baseof{R}$, so
+$A \le \baseof{R} \lor A \le \baseof{R} \equiv A \le \baseof{R}$.
+Thus $A \le C \equiv A \le \baseof{R}$. Ie, $\baseof{C} =
+\baseof{R}$.
+
+UP TO HERE
+
+By Tip Merge, $A \le $
+
+Let $S =
+ \begin{cases}
+ R \in \py : & \baseof{R} \\
+ R \in \pn : & R
+ \end{cases}$.
+Then by Tip Merge $S \ge \baseof{L}$, and $R \ge S$ so $C \ge S$.
+
+Consider some $A \in \pn$. If $A \le S$ then $A \le C$.
+If $A \not\le S$ then