\subsection{Foreign Inclusion}
-Consider some $D$ s.t. $\patchof{D} = \foreign$. $D \neq C$.
+Consider some $D$ s.t. $\isforeign{D}$. $D \neq C$.
So by Desired Contents $D \isin C \equiv D \isin L$.
By Foreign Inclusion of $D$ in $L$, $D \isin L \equiv D \le L$.
\newcommand{\depsreqof}[1]{\depsreq ( #1 ) }
\newcommand{\foreign}{\bot}
+\newcommand{\isforeign}[1]{\patchof{#1} = \foreign}
\newcommand{\allpatches}{\Upsilon}
\newcommand{\assign}{\leftarrow}
\bigforall_{C,\p} C \haspatch \p \implies \pendsof{C}{\py} = \{ T \}
}\]
\[\eqn{Foreign Inclusion}{
- \bigforall_{D \text{ s.t. } \patchof{D} = \foreign} D \isin C \equiv D \leq C
+ \bigforall_{D \text{ s.t. } \isforeign{D}} D \isin C \equiv D \leq C
}\]
\[\eqn{Foreign Contents}{
- \bigforall_{C \text{ s.t. } \patchof{C} = \foreign}
- D \le C \implies \patchof{D} = \foreign
+ \bigforall_{C \text{ s.t. } \isforeign{C}}
+ D \le C \implies \isforeign{D}
}\]
We also assign each new commit $C$ to zero or one of the sets $\p$, as
\right]
\implies
\left[
- \bigforall_{D \text{ s.t. } \patchof{D} = \foreign}
+ \bigforall_{D \text{ s.t. } \isforeign{D}}
D \isin C \equiv D \le C
\right]
$$
\proof{
-Consider some $D$ s.t. $\patchof{D} = \foreign$.
+Consider some $D$ s.t. $\isforeign{D}$.
If $D = C$, trivially true. For $D \neq C$,
by Foreign Inclusion of $D$ in $L$, $D \isin L \equiv D \le L$.
And by Exact Ancestors $D \le L \equiv D \le C$.
$$
\left[
C \hasparents \set A \land
- \patchof{C} = \foreign \land
- \bigforall_{A \in \set A} \patchof{A} = \foreign
+ \isforeign{C} \land
+ \bigforall_{A \in \set A} \isforeign{A}
\right]
\implies
\left[
\bigforall_{D}
D \le C
\implies
- \patchof{D} = \foreign
+ \isforeign{D}
\right]
$$
\proof{
-Consider some $D \le C$. If $D = C$, $\patchof{D} = \foreign$ trivially.
+Consider some $D \le C$. If $D = C$, $\isforeign{D}$ trivially.
If $D \neq C$ then $D \le A$ where $A \in \set A$. By Foreign
-Contents of $A$, $\patchof{D} = \foreign$.
+Contents of $A$, $\isforeign{D}$.
}
, \text{where} \{J,K\} = \{L,R\}
}\]
\[ \eqn{ Foreign Merges }{
- \patchof{L} = \foreign \implies \patchof{R} = \foreign
+ \isforeign{L} \implies \isforeign{R}
}\]
\subsection{Non-Topbloke merges}
-We require both $\patchof{L} = \foreign$ and $\patchof{R} = \foreign$
+We require both $\isforeign{L}$ and $\isforeign{R}$
(Foreign Merges, above).
I.e. not only is it forbidden to merge into a Topbloke-controlled
branch without Topbloke's assistance, it is also forbidden to
merge any Topbloke-controlled branch into any plain git branch.
Given those conditions, Tip Merge and Merge Acyclic do not apply.
-By Foreign Contents of $L$, $\patchof{M} = \foreign$ as well.
+By Foreign Contents of $L$, $\isforeign{M}$ as well.
So by Foreign Contents for any $A \in \{L,M,R\}$,
$\forall_{\p, D \in \py} D \not\le A$
so $\pendsof{A}{\py} = \{ \}$ and the RHS of both Merge Ends
\subsection{Foreign Inclusion}
-Consider some $D$ s.t. $\patchof{D} = \foreign$.
+Consider some $D$ s.t. $\isforeign{D}$.
By Foreign Inclusion of $L, M, R$:
$D \isin L \equiv D \le L$;
$D \isin M \equiv D \le M$;
\subsection{Foreign Contents}
-Only relevant if $\patchof{L} = \foreign$, in which case
-$\patchof{C} = \foreign$ and by Foreign Merges $\patchof{R} = \foreign$,
+Only relevant if $\isforeign{L}$, in which case
+$\isforeign{C}$ and by Foreign Merges $\isforeign{R}$,
so Totally Foreign Contents applies. $\qed$
}\]
\[ \eqn{ Foreign Unaffected }{
- \bigforall_{ D \text{ s.t. } \patchof{D} = \foreign }
+ \bigforall_{ D \text{ s.t. } \isforeign{D} }
\left[ \bigexists_{A \in \set A} D \le A \right]
\implies
D \le L
\subsection{Lemma: Foreign Identical}
-$\patchof{D} = \foreign \implies \big[ D \le C \equiv D \le L \big]$.
+$\isforeign{D} \implies \big[ D \le C \equiv D \le L \big]$.
\proof{
If $D \le L$, trivially $D \le C$; so conversely
\subsection{Foreign Contents:}
-Only relevant if $\patchof{C} = \foreign$, and in that case Totally
+Only relevant if $\isforeign{C}$, and in that case Totally
Foreign Contents applies. $\qed$