X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=article.tex;h=183744fb3acc1b2c6cc36efa9508ce67e3b8b346;hb=1760af5bc9551cd1c060b5050d21325d1c1e7a68;hp=fe0996574afbc0f9a569a795aa90f80d3ef10f8a;hpb=594cc49dc39c743b271dd4b66dfd326554574ac6;p=topbloke-formulae.git diff --git a/article.tex b/article.tex index fe09965..183744f 100644 --- a/article.tex +++ b/article.tex @@ -1,11 +1,11 @@ \documentclass[a4paper]{strayman} \let\numberwithin=\notdef -\usepackage{MnSymbol} +\usepackage{mathabx} \usepackage{stmaryrd} \usepackage{slashed} \usepackage{txfonts} \usepackage{amsfonts} -\usepackage{nath} +\usepackage{mdwlist} %\usepackage{accents} \renewcommand{\ge}{\geqslant} @@ -15,11 +15,11 @@ \newcommand{\isin}{\sqsubseteq} \newcommand{\nothaspatch}{{% - \declareslashed{}{\sslash}{-0.04}{0}{\Sqsupset}\slashed{\Sqsupset}}} + \declareslashed{}{\sslash}{-0.04}{0}{\sqSupset}\slashed{\sqSupset}}} \newcommand{\notpatchisin}{{% - \declareslashed{}{\sslash}{-0.04}{0}{\Sqsubset}\slashed{\Sqsubset}}} -\newcommand{\haspatch}{\Sqsupset} -\newcommand{\patchisin}{\Sqsubset} + \declareslashed{}{\sslash}{-0.04}{0}{\sqSubset}\slashed{\sqSubset}}} +\newcommand{\haspatch}{\sqSupset} +\newcommand{\patchisin}{\sqSubset} \newcommand{\set}[1]{\mathbb #1} \newcommand{\pa}[1]{\varmathbb #1} @@ -36,7 +36,7 @@ \newcommand{\hasparents}{>_{\mkern-7.0mu _1}} \newcommand{\areparents}{<_{\mkern-14.0mu _1\mkern+5.0mu}} -\renewcommand{\implies}{\Rightarrow} +\newcommand{\implies}{\Rightarrow} \newcommand{\pancs}[2]{{\mathcal A} ( #1 , #2 ) } \newcommand{\pends}[2]{{\mathcal E} ( #1 , #2 ) } @@ -45,14 +45,21 @@ \section{Notation} -$ C \hasparents \set X $ The parents of commit $C$ are exactly the set +\begin{basedescript}{ +\desclabelwidth{5em} +\desclabelstyle{\nextlinelabel} +} +\item[ $ C \hasparents \set X $ ] +The parents of commit $C$ are exactly the set $\set X$. -$ C \ge D $ $C$ is a descendant of $D$ in the git commit +\item[ $ C \ge D $ ] +$C$ is a descendant of $D$ in the git commit graph. This is a partial order, namely the transitive closure of $ D \in \set X $ where $ C \hasparents \set X $. -$ C \has D $ Informally, the tree at commit $C$ contains the change +\item[ $ C \has D $ ] +Informally, the tree at commit $C$ contains the change made in commit $D$. Does not take account of deliberate reversions by the user or in non-Topbloke-controlled branches; these are considered normal, forward, commits. For merges and Topbloke-generated @@ -60,11 +67,20 @@ anticommits, the ``change made'' is only to be thought of as any conflict resolution. This is not a partial order because it is not transitive. +\item[ $ \p, \py, \pn $ ] +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. + +\end{basedescript} + \section{Invariants} -No replay: $ C \has D \implies C \ge D $ +No replay: \[ C \has D \implies C \ge D \] -Unique base: $ \mathop{\forall}\limits_{C \in \py} \pends{C}{\pn} = \{ B \} $ +Unique base: \[ \mathop{\forall}_{C \in \py} \pends{C}{\pn} = \{ B \} \] \section{Test more symbols}