From: Ian Jackson Date: Mon, 12 Mar 2012 13:57:35 +0000 (+0000) Subject: replace various no replay with Ingredients Prohibit Replay X-Git-Tag: f0.2~66 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=commitdiff_plain;h=50b998e462f27bb63703b7224ab96faa560c3290 replace various no replay with Ingredients Prohibit Replay --- diff --git a/article.tex b/article.tex index 7345312..25b529f 100644 --- a/article.tex +++ b/article.tex @@ -293,6 +293,26 @@ by the LHS. And $A \le A''$. }\] xxx proof tbd +\[ \eqn{Ingredients Prohibit Replay:}{ + \left[ + {C \hasparents \set A} \land + \\ + \left( + D \isin C \implies + D = C \lor + \Largeexists_{A \in \set A} D \isin A + \right) + \right] \implies \left[ + D \isin C \implies D \le C + \right] +}\] +\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$ + and $D \isin A$. By No Replay for $A$, $D \le A$. And + $A \le C$ so $D \le C$. +} + \[ \eqn{Totally Foreign Contents:}{ \bigforall_{C \hasparents \set A} \left[ @@ -312,37 +332,6 @@ If $D \neq C$ then $D \le A$ where $A \in \set A$. By Foreign Contents of $A$, $\patchof{D} = \bot$. } -\subsection{No Replay for Merge Results} - -If we are constructing $C$, with, -\gathbegin - \mergeof{C}{L}{M}{R} -\gathnext - L \le C -\gathnext - R \le C -\end{gather} -No Replay is preserved. \proofstarts - -\subsubsection{For $D=C$:} $D \isin C, D \le C$. OK. - -\subsubsection{For $D \isin L \land D \isin R$:} -$D \isin C$. And $D \isin L \implies D \le L \implies D \le C$. OK. - -\subsubsection{For $D \neq C \land D \not\isin L \land D \not\isin R$:} -$D \not\isin C$. OK. - -\subsubsection{For $D \neq C \land (D \isin L \equiv D \not\isin R) - \land D \not\isin M$:} -$D \isin C$. Also $D \isin L \lor D \isin R$ so $D \le L \lor D \le -R$ so $D \le C$. OK. - -\subsubsection{For $D \neq C \land (D \isin L \equiv D \not\isin R) - \land D \isin M$:} -$D \not\isin C$. OK. - -$\qed$ - \section{Commit annotation} We annotate each Topbloke commit $C$ with: @@ -389,7 +378,8 @@ This also covers Topbloke-generated commits on plain git branches: Topbloke strips the metadata when exporting. \subsection{No Replay} -Trivial. + +Ingredients Prohibit Replay applies. $\qed$ \subsection{Unique Base} If $A, C \in \py$ then by Calculation of Ends for @@ -490,11 +480,7 @@ Given $L$, create a Topbloke base branch initial commit $B$. \subsection{No Replay} -If $\patchof{L} = \pa{L}$, trivial by Base Acyclic for $L$. - -If $\patchof{L} = \bot$, consider some $D \isin B$. $D \neq B$. -Thus $D \isin L$. So by No Replay of $D$ in $L$, $D \le L$. -Thus $D \le B$. +Ingredients Prohibit Replay applies. $\qed$ \subsection{Unique Base} @@ -578,7 +564,10 @@ is a descendant, not an ancestor, of the 2nd parent.) \subsection{No Replay} -No Replay for Merge Results applies. $\qed$ +By definition of $\merge$, +$D \isin C \implies D \isin L \lor D \isin R^- \lor D = C$. +So, by Ordering of Ingredients, +Ingredients Prohibit Replay applies. $\qed$ \subsection{Desired Contents} @@ -732,7 +721,10 @@ is therefore consistent with our scheme. \subsection{No Replay} -No Replay for Merge Results applies. $\qed$ +By definition of $\merge$, +$D \isin C \implies D \isin L \lor D \isin R \lor D = C$. +So, by Ingredients, +Ingredients Prohibit Replay applies. $\qed$ \subsection{Unique Base}