chiark / gitweb /
strategy: wip
[topbloke-formulae.git] / lemmas.tex
index 44dd26039c6e7a5400102c6d9d26dead824d2989..937398207615e337585cdf7773d0c33f66f6a9f6 100644 (file)
@@ -56,7 +56,7 @@ So by Base Acyclic $D \isin B \implies D \notin \py$.
 \subsection{Tip Own Contents}
 Given Base Acyclic for $C$,
 $$
-  \bigforall_{C \in \py} C \haspatch \p \land \neg[ C \nothaspatch \p ]
+  \bigforall_{C \in \py} C \haspatch \p
 $$
 Ie, tip commits contain their own patch.
 
@@ -64,8 +64,8 @@ Ie, tip commits contain their own patch.
 Apply Exclusive Tip Contents to some $D \in \py$:
 $ \bigforall_{C \in \py}\bigforall_{D \in \py}
   D \isin C \equiv D \le C $.
-Thus $C \haspatch \p$.  
-And, since $C \le C$, $C \isin C$.  Therefore $\neg[ C \nothaspatch \p ]$
+Thus $C \zhaspatch \p$.
+And we can set $F=C$ giving $F \in \py \land F \le C$, so $C \haspatch \p$.
 }
 
 \subsection{Exact Ancestors}
@@ -103,13 +103,13 @@ $$
   \bigforall_{C \hasparents \set A}
     \pendsof{C}{\set P} =
       \begin{cases}
-       C \in \p : & \{ C \}
+       C \in \set P : & \{ C \}
       \\
-       C \not\in \p : & \displaystyle
+       C \not\in \set P : & \displaystyle
        \left\{ E \Big|
            \Bigl[ \Largeexists_{A \in \set A}
                        E \in \pendsof{A}{\set P} \Bigr] \land
-           \Bigl[ \Largenexists_{B \in \set A, F \in \pendsof{B}{\p}}
+           \Bigl[ \Largenexists_{B \in \set A, F \in \pendsof{B}{\set P}}
                        E \neq F \land E \le F \Bigr]
        \right\}
       \end{cases}
@@ -117,14 +117,31 @@ $$
 \proof{
 Trivial for $C \in \set P$.  For $C \not\in \set P$,
 $\pancsof{C}{\set P} = \bigcup_{A \in \set A} \pancsof{A}{\set P}$.
-So $\pendsof{C}{\set P} \subset \bigcup_{E in \set E} \pendsof{E}{\set P}$.
+So $\pendsof{C}{\set P} \subset \bigcup_{E \in \set E} \pendsof{E}{\set P}$.
 Consider some $E \in \pendsof{A}{\set P}$.  If $\exists_{B,F}$ as
 specified, then either $F$ is going to be in our result and
 disqualifies $E$, or there is some other $F'$ (or, eventually,
-an $F''$) which disqualifies $F$.
+an $F''$) which disqualifies $F$ and $E$.
 Otherwise, $E$ meets all the conditions for $\pends$.
 }
 
+\subsection{Single Parent Unique Tips}
+
+Unique Tips is satisfied for single-parent commits.  Formally,
+given a conformant commit $A$,
+$$
+ \Big[
+   C \hasparents \{ A \}
+ \Big] \implies \left[
+   \bigforall_{P \patchisin C} \pendsof{C}{\py} = \{ T \}
+ \right]
+$$
+\proof{
+  Trivial for $C \in \py$.
+  For $C \not\in \py$, $\pancsof{C}{\py} = \pancsof{A}{\py}$,
+  so Unique Tips of $A$ suffices.
+}
+
 \subsection{Ingredients Prevent Replay}
 Given conformant commits $A \in \set A$,
 $$