X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=blobdiff_plain;f=lemmas.tex;h=efffe6bf425988e171a46bc54a4e02b707de32ed;hp=aeb656479c497363460d14de95af921d326ccd58;hb=dbc2fa88cece12d33ca5788ad5d359f77676a802;hpb=57f83cd8bc6bcf23e45739c00c83c9a8672ae701 diff --git a/lemmas.tex b/lemmas.tex index aeb6564..efffe6b 100644 --- a/lemmas.tex +++ b/lemmas.tex @@ -53,10 +53,10 @@ So by Base Acyclic $D \isin B \implies D \notin \py$. \end{cases} }\] -\subsection{Tip Self Inpatch} -Given Exclusive Tip Contents and Base Acyclic for $C$, +\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} @@ -126,6 +126,7 @@ Otherwise, $E$ meets all the conditions for $\pends$. } \subsection{Ingredients Prevent Replay} +Given conformant commits $A \in \set A$, $$ \left[ {C \hasparents \set A} \land @@ -142,12 +143,13 @@ $$ $$ \proof{ Trivial for $D = C$. Consider some $D \neq C$, $D \isin C$. - By the preconditions, there is some $A$ s.t. $D \in \set A$ + By the preconditions, there is some $A$ s.t. $A \in \set A$ and $D \isin A$. By No Replay for $A$, $D \le A$. And $A \le C$ so $D \le C$. } \subsection{Simple Foreign Inclusion} +Given a conformant commit $L$, $$ \left[ C \hasparents \{ L \} @@ -169,6 +171,7 @@ So $D \isin C \equiv D \le C$. } \subsection{Totally Foreign Contents} +Given conformant commits $A \in \set A$, $$ \left[ C \hasparents \set A \land