From: Ian Jackson Date: Sun, 4 Aug 2013 17:02:02 +0000 (+0100) Subject: notation: clarify git merge notations X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=commitdiff_plain;h=f3f813bac72c13ef2284335346d02443d2f09f87 notation: clarify git merge notations --- diff --git a/article.tex b/article.tex index 82e7428..59ae0eb 100644 --- a/article.tex +++ b/article.tex @@ -5,6 +5,7 @@ \usepackage{mathabx} \usepackage{txfonts} \usepackage{amsfonts} +\usepackage{eufrak} \usepackage{mdwlist} %\usepackage{lastpage} %\usepackage{accents} @@ -39,6 +40,8 @@ \hidehacktrue\ifhidehack#1\else#2\fi\hidehackfalse} \newcommand{\pa}[1]{\hidefromedef{\varmathbb{#1}}{#1}} +\newcommand{\stmt}[1]{\mathfrak{#1}} + \newcommand{\set}[1]{\mathbb{#1}} \newcommand{\pay}[1]{\pa{#1}^+} \newcommand{\pan}[1]{\pa{#1}^-} @@ -86,7 +89,7 @@ \newcommand{\pendsof}[2]{\pends ( #1 , #2 ) } %\newcommand{\commitmerge}{\text{\commitmergename}} -\newcommand{\commitmergeof}[4]{#1 \approx \stmtmergeof{#2}{#3}{#4}} +\newcommand{\commitmergeof}[4]{#1 \has \stmtmergeof{#2}{#3}{#4}} %\newcommand{\merge}[4]{{#2 {{\frac{ #1 }{ #3 } #4}}}} \newcommand{\commitmergename}{Git Merge} diff --git a/notation.tex b/notation.tex index 19cf243..929fece 100644 --- a/notation.tex +++ b/notation.tex @@ -86,32 +86,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 +122,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}