chiark / gitweb /
merge base acyclic (and condition)
[topbloke-formulae.git] / article.tex
index cbd56840b63d5579073f30786bcac5ed76fa1773..d5451ea30c0e6b127615466679d03dd789417931 100644 (file)
@@ -65,8 +65,8 @@
 \newcommand{\patchof}[1]{\patch ( #1 ) }
 \newcommand{\baseof}[1]{\base ( #1 ) }
 
+\newcommand{\eqntag}[2]{ #2 \tag*{\mbox{#1}} }
 \newcommand{\eqn}[2]{ #2 \tag*{\mbox{\bf #1}} }
-\newcommand{\corrolary}[1]{ #1 \tag*{\mbox{\it Corrolary.}} }
 
 %\newcommand{\bigforall}{\mathop{\hbox{\huge$\forall$}}}
 \newcommand{\bigforall}{%
@@ -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$.  
@@ -206,7 +206,7 @@ Ie, the two limbs of the RHS of Tip Contents are mutually exclusive.
 Let $B = \baseof{C}$ in $D \isin \baseof{C}$.  Now $B \in \pn$.
 So by Base Acyclic $D \isin B \implies D \notin \py$.
 }
-\[ \corrolary{
+\[ \eqntag{{\it Corollary - equivalent to Tip Contents}}{
   \bigforall_{C \in \py} D \isin C \equiv
   \begin{cases}
     D \in \py : & D \le C \\
@@ -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,4 +621,35 @@ 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.
+
+xxx the coherence is not that useful ?
+
+\subsubsection{For $L \in \py, D \in \py$:}
+
+xxx need to recheck this
+
+$C \in \py$ $C \haspatch P$ so $D \isin C \equiv D \le C$.  OK.
+
+\subsubsection{For $L \in \py, D \not\in \py, R \in \py$:}
+
+Tip Contents for $L$: $D \isin L \equiv D \isin \baseof{L}$.
+
+Tip Contents for $R$: $D \isin R \equiv D \isin \baseof{R}$.
+
+But by Tip Merge, $\baseof{R} \ge \baseof{L}$
+
 \end{document}