$\displaystyle \bigforall_{D \in \py} D \not\isin C $.
~ Informally, $C$ has none of the contents of $\p$.
-Non-Topbloke commits are $\nothaspatch \p$ for all $\p$; if a Topbloke
+Non-Topbloke commits are $\nothaspatch \p$ for all $\p$. This
+includes commits on plain git branches made by applying a Topbloke
+patch. If a Topbloke
patch is applied to a non-Topbloke branch and then bubbles back to
-the Topbloke patch itself, we hope that git's merge algorithm will
-DTRT or that the user will no longer care about the Topbloke patch.
+the relevant Topbloke branches, we hope that
+if the user still cares about the Topbloke patch,
+git's merge algorithm will DTRT when trying to re-apply the changes.
\item[ $\displaystyle \mergeof{C}{L}{M}{R} $ ]
The contents of a git merge result:
$\qed$
-xxx junk after here
-
-%D \in \py$:}
-
-
-
-xxx the coherence is not that useful ?
-
-$L \haspatch \p$ by
-
-xxx need to recheck this
-
-$C \in \py$ $C \haspatch P$ so $D \isin C \equiv D \le C$. OK.
-
-\subsubsection{For $L \in \py, D \not\in \py, R \in \py$:}
-
-Tip Contents for $L$: $D \isin L \equiv D \isin \baseof{L}$.
-
-Tip Contents for $R$: $D \isin R \equiv D \isin \baseof{R}$.
-
-But by Tip Merge, $\baseof{R} \ge \baseof{L}$
+xxx up to here, need to prove other things about merges
\end{document}