chiark / gitweb /
merge: rename Foreign Merge (was Foreign Merges)
[topbloke-formulae.git] / pseudomerge.tex
index 8c7bc564803525ee481440266bc1e3b1f1334b2c..c1a88f8c6dc170be2e451902101dcc6ebebb5970 100644 (file)
@@ -18,6 +18,15 @@ but whose contents are exactly those of $L$.
  L \in \pn
 }\]
 
+\[ \eqn{ Ingredients }{
+ \bigforall_{R \in \set R}
+    R \in \pn
+     \lor
+    R \in \foreign
+     \lor
+    R \in \pqy
+}\]
+
 \[ \eqn{ Unique Tips }{
  C \haspatch \p \implies
   \bigexists_T
@@ -36,6 +45,11 @@ $\isforeign{D} \implies \big[ D \le C \equiv D \le L \big]$.
 Trivial by Foreign Unaffected and the definition of $\pends$
 }
 
+It might seem that bare git commits might also be psuedo-merges ---
+e.g., merges made directly with {\tt git merge -s ours}.  However, by
+our definition of $\has$, these are considered simply as normal merges
+(\autoref{commit-merge}).
+
 \subsection{No Replay}
 
 Ingredients Prevent Replay applies:
@@ -74,9 +88,17 @@ Explicitly dealt with by our Unique Tips condition.
 
 \subsection{Foreign Inclusion}
 
-True by Foreign Identical, and Foreign Inclusion of $L$.
+We need to consider $D \in \foreign$.
+
+For $D = C$: $D \has C$, $D \le C$; OK.
 
-\subsection{Foreign Contents}
+For $D \neq C$: $D \has C \equiv D \has L$ by construction.
+$D \has L \equiv D \le L$ by Foreign Inclusion of $L$.
+$D \neq C$ so this $D \le L \equiv D \le C$.
+
+$\qed$
+
+\subsection{Foreign Ancestry}
 
 Not applicable.
 
@@ -85,28 +107,13 @@ Not applicable.
 We need to consider this for $D=L$ and also for $D=R$ ($R \in \set
 R$).
 
-For $D=L$, if $L \in \pn$ then $C \in \pn$, OK; whereas if
-$L \not \in \pn$ Bases' Children is inapplicable.
-
-For $D=R$, 
-xxx up to here?
-
-If $L \in \py, R \in \py$: not applicable for either $D=L$ or $D=R$.
-
-If $L \in \py, R \in \pn$: not applicable for $L$, OK for $R$.
-
-Other possibilities for $L \in \py$ are excluded by Tip Merge.
-
-If $L \in \pn, R \in \pn$: satisfied for both $L$ and $R$.
-
-If $L \in \pn, R \in \foreign$: satisfied for $L$, not applicable for
-$R$.
-
-If $L \in \pn, R \in \pqy$: satisfied for $L$, not applicable for
-$R$.
-
-Other possibilities for $L \in \pn$ are excluded by Base Merge.
+For $D=L$: $L \in \pn$ so $\pd = \p$.  And $C \in \pn = \pdn$.  Bases'
+Children applies and is satisfied.
 
-If $L \in \foreign$: not applicable for $L$; nor for $R$, by Foreign Merges.
+For $D = R \in \set R, R \in \pn$: $D \in \pn, \pd = \p, C \in \pn$ as
+for $D = L$.
 
+For $D = R \in \set R, R \in \foreign$, or $R \in \pqy$: $D \not\in
+\pdn$ so Bases' Children does not apply.
 
+Other possibilities for $D \in \set R$ are excluded by Ingredients.