\right]
}\]
\[ \eqn{ Foreign Merges }{
- \patchof{L} = \bot \equiv \patchof{R} = \bot
+ \patchof{L} = \bot \implies \patchof{R} = \bot
}\]
\subsection{Non-Topbloke merges}
merge any Topbloke-controlled branch into any plain git branch.
Given those conditions, Tip Merge and Merge Acyclic do not apply.
-And $Y \not\in \py$ so $\neg [ Y \haspatch \p ]$ so neither
+And by Foreign Contents for (wlog) Y, $\forall_{\p, D \in \py} D \not\le Y$
+so then by No Replay $D \not\isin Y$
+so $\neg [ Y \haspatch \p ]$ so neither
Merge Ends condition applies.
So a plain git merge of non-Topbloke branches meets the conditions and
putative ancestor $A \in \pn$ and see whether $A \le C$.
By Exact Ancestors for 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$.
+But $C \in \py$ and $A \in \pn$ so $A \neq C$.
Thus $A \le C \equiv A \le L \lor A \le R$.
By Unique Base of L and Transitive Ancestors,
\subsubsection{For $R \in \pn$:}
-By Tip Merge condition on $R$ and since $M \le R$,
+By Tip Merge condition and since $M \le R$,
$A \le \baseof{L} \implies A \le R$, so
$A \le R \lor A \le \baseof{L} \equiv A \le R$.
Thus $A \le C \equiv A \le R$.