X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=pseudomerge.tex;h=c1a88f8c6dc170be2e451902101dcc6ebebb5970;hb=5fea207e4a0e896c15e803ea8c51e7fc84eb8c25;hp=1e9422c447b6f143837553c40a9afefe2cfeeed4;hpb=05d6e35d69c91ddf88e8d5a5febea740bbfac22f;p=topbloke-formulae.git diff --git a/pseudomerge.tex b/pseudomerge.tex index 1e9422c..c1a88f8 100644 --- a/pseudomerge.tex +++ b/pseudomerge.tex @@ -15,7 +15,16 @@ but whose contents are exactly those of $L$. \subsection{Conditions} \[ \eqn{ Base Only }{ - \patchof{L} \neq \py + L \in \pn +}\] + +\[ \eqn{ Ingredients }{ + \bigforall_{R \in \set R} + R \in \pn + \lor + R \in \foreign + \lor + R \in \pqy }\] \[ \eqn{ Unique Tips }{ @@ -25,25 +34,22 @@ but whose contents are exactly those of $L$. }\] \[ \eqn{ Foreign Unaffected }{ - \bigforall_{ D \text{ s.t. } \patchof{D} = \bot } - \left[ \bigexists_{A \in \set A} D \le A \right] - \implies - D \le L + \pendsof{C}{\foreign} = \pendsof{L}{\foreign} }\] - TODO THAT IS IMPOSSIBLE TO CALCULATE \subsection{Lemma: Foreign Identical} -$\patchof{D} = \bot \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 -$D \not\le C \implies D \not\le L$. -Whereas if $D \le C$, either $D \le L$ or -$\exists{A \in \set A} D \le A$ (since $D \neq C$), -in which case by Foreign Unaffected $D \le L$. +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: @@ -82,8 +88,32 @@ 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. + +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 Contents} +\subsection{Foreign Ancestry} Not applicable. + +\subsection{Bases' Children} + +We need to consider this for $D=L$ and also for $D=R$ ($R \in \set +R$). + +For $D=L$: $L \in \pn$ so $\pd = \p$. And $C \in \pn = \pdn$. Bases' +Children applies and is satisfied. + +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.