chiark / gitweb /
wip merge tip contents
[topbloke-formulae.git] / article.tex
index aef968a66d09117b2e396a4419f12ed55f948f95..775bcb30c48a95dea6d35f4803499791c3bedf0d 100644 (file)
@@ -121,7 +121,7 @@ A patch $\p$ consists of two sets of commits $\pn$ and $\py$, which
 are respectively the base and tip git branches.  $\p$ may be used
 where the context requires a set, in which case the statement
 is to be taken as applying to both $\py$ and $\pn$.
-All these sets are distinct.  Hence:
+None of these sets overlap.  Hence:
 
 \item[ $ \patchof{ C } $ ]
 Either $\p$ s.t. $ C \in \p $, or $\bot$.  
@@ -488,6 +488,11 @@ We will occasionally use $X,Y$ s.t. $\{X,Y\} = \{L,R\}$.
       \text{otherwise} : & \false
    \end{cases}
 }\]
+\[ \eqn{ Merge Acyclic }{
+    L \in \pn
+   \implies
+    R \nothaspatch \p
+}\]
 \[ \eqn{ Removal Merge Ends }{
     X \not\haspatch \p \land
     Y \haspatch \p \land
@@ -616,14 +621,40 @@ By $\merge$, $D \not\isin C$.  OK.
 
 $\qed$
 
+\subsection{Base Acyclic}
+
+This applies when $C \in \pn$.
+$C \in \pn$ when $L \in \pn$ so by Merge Acyclic, $R \nothaspatch \p$.
+
+Consider some $D \in \py$.
+
+By Base Acyclic of $L$, $D \not\isin L$.  By the above, $D \not\isin
+R$.  And $D \neq C$.  So $D \not\isin C$.  $\qed$
+
 \subsection{Tip Contents}
 
 We will consider some $D$ and prove the Exclusive Tip Contents form.
-We use the Coherence of $C$ as just proved.
+We need worry only about $C \in \py$.  And $\patchof{C} = \patchof{L}$
+so $L \in \py$ so $L \haspatch \p$.  We will use the coherence and
+patch inclusion of $C$ as just proved.
+
+Firstly we prove $C \haspatch \p$: If $R \in \py$, this is true by
+coherence/inclusion $C \haspatch \p$.  So by definition of
+$\haspatch$, $D \isin C \equiv D \le C$.  OK.
+
+\subsubsection{For $L \in \py, D \in \py, $:}
+$R \haspatch \p$ so 
+
+\subsubsection{For $L \in \py, D \not\in \py, R \in \py$:}
+
+
+%D \in \py$:}
+
+
 
 xxx the coherence is not that useful ?
 
-\subsubsection{For $L \in \py, D \in \py$:}
+$L \haspatch \p$ by 
 
 xxx need to recheck this