X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=blobdiff_plain;f=notation.tex;h=b6b4a8cc814c01ffdb9076320796fbadfbc4bfbd;hp=19cf243733e1a9ba8edce18d7d7a70a8e0fb1097;hb=f5f93d74c204fcd773074e61aa4fac1a3e48aa3c;hpb=9ad96b436e0c1ddc5c4fb5074c588644e88c0bae diff --git a/notation.tex b/notation.tex index 19cf243..b6b4a8c 100644 --- a/notation.tex +++ b/notation.tex @@ -7,6 +7,9 @@ at the outermost level. \desclabelwidth{5em} \desclabelstyle{\nextlinelabel} } +\item[ $ C \hasparent D $ ] +Commit $C$ has commit $D$ as (one of) its parents. + \item[ $ C \hasparents \set X $ ] The parents of commit $C$ are exactly the set $\set X$. @@ -14,7 +17,7 @@ $\set X$. \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 $. +$ \hasparent $. \item[ $ C \has D $ ] Informally, the tree at commit $C$ contains the change @@ -86,32 +89,33 @@ the relevant Topbloke branches, we hope that if the user still cares about the Topbloke patch, git's merge algorithm will DTRT when trying to re-apply the changes. -\item[ $\displaystyle \stmtmergeof{L}{M}{R} $ ] +\item[ $\displaystyle \stmtmergeof{\stmt L}{\stmt M}{\stmt R} $ ] The proper results of a merge. Formally, -where $L$, $M$ and $R$ are statements: +where $\stmt L$, $\stmt M$ and $\stmt R$ are statements: $$ - \stmtmergeof{L}{M}{R} + \stmtmergeof{\stmt L}{\stmt M}{\stmt R} \equiv \begin{cases} - (L \land R) : & \true \\ - (\neg L \land \neg R) : & \false \\ - \text{otherwise} : & \neg M + (\stmt L \land \stmt R) : & \true \\ + (\neg \stmt L \land \neg \stmt R) : & \false \\ + \text{otherwise} : & \neg \stmt M \end{cases} $$ -May also be used where $L$, $M$ and $R$ are sets, in which case +May also be used with sets: $$ - \setmergeof{L}{M}{R} + \setmergeof{\set L}{\set M}{\set R} = \left\{ \; D \; \middle| \; - \setmergeof{ D \in L }{ D \in M }{ D \in R } + \setmergeof{ D \in \set L }{ D \in \set M }{ D \in \set R } \; \right\} $$ \item[ $\displaystyle \commitmergeof{C}{L}{M}{R} $ ] +With $C$, $L$, $M$ and $R$ being commits, a convenience notation. $C$ has exactly the contents of a git merge result: $\displaystyle D \isin C \equiv @@ -121,6 +125,6 @@ $\displaystyle D \isin C \equiv \end{cases} $ -We will refer to this as \commitmergename. +We will refer to this as \bf\commitmergename. \end{basedescript}