X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=blobdiff_plain;f=article.tex;h=9a60dcd5e4ef440502cace7e6ac687a704dec37d;hp=0688c7ad02524d0d5c0d399682f3ac46946d1e1f;hb=b55f1f74535013495312bfc5af95dc3e8c8e158d;hpb=26c18196858d61ec8bd051837aa9ccb08f68ccaf diff --git a/article.tex b/article.tex index 0688c7a..9a60dcd 100644 --- a/article.tex +++ b/article.tex @@ -95,6 +95,8 @@ \section{Notation} +xxx make all conditions be in conditions, not in (or also in) intro + \begin{basedescript}{ \desclabelwidth{5em} \desclabelstyle{\nextlinelabel} @@ -429,7 +431,7 @@ Used for removing a branch dependency. \subsection{Conditions} -\[ \eqn{ From Base }{ +\[ \eqn{ Into Base }{ L \in \pn }\] \[ \eqn{ Unique Tip }{ @@ -439,11 +441,17 @@ Used for removing a branch dependency. L \haspatch \pry }\] -\subsection{No Replay} +\subsection{Ordering of ${L, R^+, R^-}$:} By Unique Tip, $R^+ \le L$. By definition of $\base$, $R^- \le R^+$ -so $R^- \le L$. So $R^+ \le C$ and $R^- \le C$ and No Replay for -Merge Results applies. $\qed$ +so $R^- \le L$. So $R^+ \le C$ and $R^- \le C$. + +(Note that the merge base $R^+ \not\le R^-$, i.e. the merge base is +later than one of the branches to be merged.) + +\subsection{No Replay} + +No Replay for Merge Results applies. $\qed$ \subsection{Desired Contents} @@ -481,16 +489,53 @@ $\qed$ \subsection{Unique Base} -From Base means that $C \in \pn$, so Unique Base is not +Into Base means that $C \in \pn$, so Unique Base is not applicable. $\qed$ \subsection{Tip Contents} Again, not applicable. $\qed$ -xxx tbd +\subsection{Base Acyclic} + +By Base Acyclic for $L$, $D \isin L \implies D \not\in \py$. +And by Into Base $C \not\in \py$. +Now from Desired Contents, above, $D \isin C +\implies D \isin L \lor D = C$, which thus +$\implies D \not\in \py$. $\qed$. + +\subsection{Coherence and Patch Inclusion} + +Need to consider some $D \in \py$. By Into Base, $D \neq C$. + +\subsubsection{For $\p = \pr$:} +By Desired Contents, above, $D \not\isin C$. +So $C \nothaspatch \pr$. + +\subsubsection{For $\p \neq \pr$:} +By Desired Contents, $D \isin C \equiv D \isin L$ +(since $D \in \py$ so $D \not\in \pry$). + +If $L \nothaspatch \p$, $D \not\isin L$ so $D \not\isin C$. +So $L \nothaspatch \p \implies C \nothaspatch \p$. + +Whereas if $L \haspatch \p$, $D \isin L \equiv D \le L$. +so $L \haspatch \p \implies C \haspatch \p$. + +\section{Foreign Inclusion} + +Consider some $D$ s.t. $\patchof{D} = \bot$. $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$. +So $D \isin C \equiv D \le L$. + +xxx up to here + +By Tip Contents of $R^+$, $D \isin R^+ \equiv D \isin \baseof{R^+}$ +i.e. $\equiv D \isin R^-$. +So by $\merge$, $D \isin C \equiv D \isin L$. -xxx need to finish anticommit +Thus $D \isin C \equiv $ \section{Merge} @@ -549,7 +594,7 @@ Merge Ends condition applies. Good. \subsection{No Replay} -See No Replay for Merge Results. +No Replay for Merge Results applies. $\qed$ \subsection{Unique Base} @@ -623,7 +668,8 @@ So indeed $L \haspatch \p \land R \haspatch \p \implies C \haspatch \p$. \subsubsection{For (wlog) $X \not\haspatch \p, Y \haspatch \p$:} -$C \haspatch \p \equiv M \nothaspatch \p$. +$M \haspatch \p \implies C \nothaspatch \p$. +$M \nothaspatch \p \implies C \haspatch \p$. \proofstarts