From fd4fcf610bbe38767f7aba836c233bdc46e513e3 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 28 May 2012 00:01:01 +0100 Subject: [PATCH] foreign notation: change \bot to \foreign everywhere --- anticommit.tex | 2 +- article.tex | 2 ++ invariants.tex | 6 +++--- lemmas.tex | 14 +++++++------- merge.tex | 12 ++++++------ notation.tex | 2 +- pseudomerge.tex | 4 ++-- simple.tex | 2 +- 8 files changed, 23 insertions(+), 21 deletions(-) diff --git a/anticommit.tex b/anticommit.tex index 2306a73..72469b8 100644 --- a/anticommit.tex +++ b/anticommit.tex @@ -131,7 +131,7 @@ Single Parent Unique Tips applies. $\qed$ \subsection{Foreign Inclusion} -Consider some $D$ s.t. $\patchof{D} = \bot$. $D \neq C$. +Consider some $D$ s.t. $\patchof{D} = \foreign$. $D \neq C$. So by Desired Contents $D \isin C \equiv D \isin L$. By Foreign Inclusion of $D$ in $L$, $D \isin L \equiv D \le L$. diff --git a/article.tex b/article.tex index fb7eab4..ffd940f 100644 --- a/article.tex +++ b/article.tex @@ -96,6 +96,8 @@ \newcommand{\baseof}[1]{\base ( #1 ) } \newcommand{\depsreqof}[1]{\depsreq ( #1 ) } +\newcommand{\foreign}{\bot} + \newcommand{\allpatches}{\Upsilon} \newcommand{\assign}{\leftarrow} \newcommand{\iassign}{\leftarrow} diff --git a/invariants.tex b/invariants.tex index 0cac868..736fb8e 100644 --- a/invariants.tex +++ b/invariants.tex @@ -22,11 +22,11 @@ We maintain these each time we construct a new commit. \\ \bigforall_{C,\p} C \haspatch \p \implies \pendsof{C}{\py} = \{ T \} }\] $\eqn{Foreign Inclusion}{ - \bigforall_{D \text{ s.t. } \patchof{D} = \bot} D \isin C \equiv D \leq C + \bigforall_{D \text{ s.t. } \patchof{D} = \foreign} D \isin C \equiv D \leq C }$ $\eqn{Foreign Contents}{ - \bigforall_{C \text{ s.t. } \patchof{C} = \bot} - D \le C \implies \patchof{D} = \bot + \bigforall_{C \text{ s.t. } \patchof{C} = \foreign} + D \le C \implies \patchof{D} = \foreign }$ We also assign each new commit $C$ to zero or one of the sets $\p$, as diff --git a/lemmas.tex b/lemmas.tex index 9373982..72e00d6 100644 --- a/lemmas.tex +++ b/lemmas.tex @@ -175,12 +175,12 @@ $$\right] \implies \left[ - \bigforall_{D \text{ s.t. } \patchof{D} = \bot} + \bigforall_{D \text{ s.t. } \patchof{D} = \foreign} D \isin C \equiv D \le C \right]$$ \proof{ -Consider some $D$ s.t. $\patchof{D} = \bot$. +Consider some $D$ s.t. $\patchof{D} = \foreign$. If $D = C$, trivially true. For $D \neq C$, by Foreign Inclusion of $D$ in $L$, $D \isin L \equiv D \le L$. And by Exact Ancestors $D \le L \equiv D \le C$. @@ -192,20 +192,20 @@ Given conformant commits $A \in \set A$, $$\left[ C \hasparents \set A \land - \patchof{C} = \bot \land - \bigforall_{A \in \set A} \patchof{A} = \bot + \patchof{C} = \foreign \land + \bigforall_{A \in \set A} \patchof{A} = \foreign \right] \implies \left[ \bigforall_{D} D \le C \implies - \patchof{D} = \bot + \patchof{D} = \foreign \right]$$ \proof{ -Consider some $D \le C$. If $D = C$, $\patchof{D} = \bot$ trivially. +Consider some $D \le C$. If $D = C$, $\patchof{D} = \foreign$ trivially. If $D \neq C$ then $D \le A$ where $A \in \set A$. By Foreign -Contents of $A$, $\patchof{D} = \bot$. +Contents of $A$, $\patchof{D} = \foreign$. } diff --git a/merge.tex b/merge.tex index 6ff5d81..6ba1387 100644 --- a/merge.tex +++ b/merge.tex @@ -56,19 +56,19 @@ satisfied; in particular, provided that $L \ge \baseof{R}$. , \text{where} \{J,K\} = \{L,R\} }\] $\eqn{ Foreign Merges }{ - \patchof{L} = \bot \implies \patchof{R} = \bot + \patchof{L} = \foreign \implies \patchof{R} = \foreign }$ \subsection{Non-Topbloke merges} -We require both $\patchof{L} = \bot$ and $\patchof{R} = \bot$ +We require both $\patchof{L} = \foreign$ and $\patchof{R} = \foreign$ (Foreign Merges, above). I.e. not only is it forbidden to merge into a Topbloke-controlled branch without Topbloke's assistance, it is also forbidden to merge any Topbloke-controlled branch into any plain git branch. Given those conditions, Tip Merge and Merge Acyclic do not apply. -By Foreign Contents of $L$, $\patchof{M} = \bot$ as well. +By Foreign Contents of $L$, $\patchof{M} = \foreign$ as well. So by Foreign Contents for any $A \in \{L,M,R\}$, $\forall_{\p, D \in \py} D \not\le A$ so $\pendsof{A}{\py} = \{ \}$ and the RHS of both Merge Ends @@ -280,7 +280,7 @@ $\qed$ \subsection{Foreign Inclusion} -Consider some $D$ s.t. $\patchof{D} = \bot$. +Consider some $D$ s.t. $\patchof{D} = \foreign$. By Foreign Inclusion of $L, M, R$: $D \isin L \equiv D \le L$; $D \isin M \equiv D \le M$; @@ -311,6 +311,6 @@ $\qed$ \subsection{Foreign Contents} -Only relevant if $\patchof{L} = \bot$, in which case -$\patchof{C} = \bot$ and by Foreign Merges $\patchof{R} = \bot$, +Only relevant if $\patchof{L} = \foreign$, in which case +$\patchof{C} = \foreign$ and by Foreign Merges $\patchof{R} = \foreign$, so Totally Foreign Contents applies. $\qed$ diff --git a/notation.tex b/notation.tex index bee8eff..bae94bb 100644 --- a/notation.tex +++ b/notation.tex @@ -38,7 +38,7 @@ Arbitrary sets of commits. Maybe $\set P = \p$ i.e.\ some $\py$ or $\pn$, but maybe not. \item[ $\patchof{ C }$ ] -Either $\p$ s.t. $C \in \p$, or $\bot$. +Either $\p$ s.t. $C \in \p$, or $\foreign$. A function from commits to patches' sets $\p$. \item[ $\pancsof{C}{\set P}$ ] diff --git a/pseudomerge.tex b/pseudomerge.tex index 1e9422c..d884be8 100644 --- a/pseudomerge.tex +++ b/pseudomerge.tex @@ -25,7 +25,7 @@ but whose contents are exactly those of $L$. }\] \[ \eqn{ Foreign Unaffected }{ - \bigforall_{ D \text{ s.t. } \patchof{D} = \bot } + \bigforall_{ D \text{ s.t. } \patchof{D} = \foreign } \left[ \bigexists_{A \in \set A} D \le A \right] \implies D \le L @@ -34,7 +34,7 @@ but whose contents are exactly those of $L$. \subsection{Lemma: Foreign Identical} -$\patchof{D} = \bot \implies \big[ D \le C \equiv D \le L \big]$. +$\patchof{D} = \foreign \implies \big[ D \le C \equiv D \le L \big]$. \proof{ If $D \le L$, trivially $D \le C$; so conversely diff --git a/simple.tex b/simple.tex index b22fdbe..f714edb 100644 --- a/simple.tex +++ b/simple.tex @@ -100,6 +100,6 @@ Simple Foreign Inclusion applies. $\qed$ \subsection{Foreign Contents:} -Only relevant if $\patchof{C} = \bot$, and in that case Totally +Only relevant if $\patchof{C} = \foreign$, and in that case Totally Foreign Contents applies. $\qed$ -- 2.1.4