X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=blobdiff_plain;f=article.tex;h=45510aa70d507d9daddd33c5b01306e983f40848;hp=7a43732309281d9402dde333c37f398c8cb75a29;hb=HEAD;hpb=519fc3cd6423a7972327911a61fc060ab2aa1fc1 diff --git a/article.tex b/article.tex index 7a43732..45510aa 100644 --- a/article.tex +++ b/article.tex @@ -5,11 +5,14 @@ \usepackage{mathabx} \usepackage{txfonts} \usepackage{amsfonts} +\usepackage{eufrak} \usepackage{mdwlist} +\usepackage{hyperref} +%\usepackage{lastpage} %\usepackage{accents} \usepackage{fancyhdr} -\pagestyle{fancy} +\pagestyle{fancyplain} \rhead[\rightmark]{} \lhead[]{\rightmark} \rfoot[\thepage]{\input{revid.inc}} @@ -38,6 +41,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}^-} @@ -69,6 +74,9 @@ %\newcommand{\hasparents}{\underaccent{1}{>}} %\newcommand{\hasparents}{{% % \declareslashed{}{_{_1}}{0}{-0.8}{>}\slashed{>}}} +\newcommand{\hasparent}{>_{\mkern-7.0mu _{1}}} +\newcommand{\isparent}{<_{\mkern-18.0mu _{1}\mkern+9.0mu}} + \newcommand{\hasparents}{>_{\mkern-7.0mu _{1:}}} \newcommand{\areparents}{<_{\mkern-14.0mu _{1:}\mkern+5.0mu}} @@ -84,24 +92,41 @@ \newcommand{\pancsof}[2]{\pancs ( #1 , #2 ) } \newcommand{\pendsof}[2]{\pends ( #1 , #2 ) } -\newcommand{\merge}{{\mathcal M}} -\newcommand{\mergeof}[4]{\merge(#1,#2,#3,#4)} +%\newcommand{\commitmerge}{\text{\commitmergename}} +\newcommand{\commitmergeof}[4]{#1 \has \stmtmergeof{#2}{#3}{#4}} %\newcommand{\merge}[4]{{#2 {{\frac{ #1 }{ #3 } #4}}}} +\newcommand{\commitmergename}{Git Merge} \newcommand{\patch}{{\mathcal P}} \newcommand{\base}{{\mathcal B}} -\newcommand{\depsreq}{{\mathcal D}} +\newcommand{\depsreq}{{\mathcal G}} + +\newcommand{\allsrcs}{\set U} +\newcommand{\allreach}{\set O} +\newcommand{\allreachof}[1]{\set O^{#1}} \newcommand{\patchof}[1]{\patch ( #1 ) } \newcommand{\baseof}[1]{\base ( #1 ) } \newcommand{\depsreqof}[1]{\depsreq ( #1 ) } +\newcommand{\foreign}{\pa F} +\newcommand{\isforeign}[1]{#1 \in \foreign} + \newcommand{\allpatches}{\Upsilon} \newcommand{\assign}{\leftarrow} \newcommand{\iassign}{\leftarrow} %\newcommand{\assign}{' =} +\newcommand{\mergeof}[3]{\left\langle #1 \;\middle\langle #2 \middle\rangle\; #3 \right\rangle} + \newcommand{\alg}[1]{\text{\bf #1}} +\newcommand{\setmerge}{\mergeof{}{}{}} +\newcommand{\setmergeof}[3]{\mergeof{#1}{#2}{#3}} +\newcommand{\stmtmergeof}[3]{\mergeof{#1}{#2}{#3}} + +%\newcommand{\setmergeof}[3]{\setmerge\left\lgroup #1 \;\middle\lmoustache\; #2 \;\middle\rmoustache\; #3 \right\rgroup} +%\newcommand{\setmergeof}[3]{\setmerge\left\rmoustache #1 \middle\rmoustache #2 \middle\lmoustache #3 \right\lmoustache} +%\newcommand{\setmergeof}[3]{\setmerge\left\lfloor #1 \middle\lfloor #2 \middle\rfloor #3 \right\rfloor} \newcommand{\eqntag}[2]{ #2 \tag*{\mbox{#1}} } \newcommand{\eqn}[2]{ #2 \tag*{\mbox{\bf #1}} } @@ -109,21 +134,17 @@ \newcommand{\hasdirdep}{\succ_{\mkern-7.0mu _1}} \newcommand{\hasdep}{\succ} \newcommand{\isdep}{\prec} +\newcommand{\isdirdep}{\prec_{\mkern-18.0mu _1}{\mkern+10mu}} -\newcommand{\tipz}{ T^0 } -\newcommand{\tipc}{ T } -\newcommand{\tipu}{ T' } -\newcommand{\tipf}{ T^* } - -\newcommand{\tipza}[1]{ \tipz_{#1} } -\newcommand{\tipca}[1]{ \tipc_{#1} } -\newcommand{\tipua}[1]{ \tipu_{#1} } -\newcommand{\tipfa}[1]{ \tipf_{#1} } +\newcommand{\tip}{ T } +\newcommand{\tipa}[1]{ \tip^{#1} } +\newcommand{\tipcn}{ \tipa \pcn } +\newcommand{\tipcy}{ \tipa \pcy } +\newcommand{\tipdn}{ \tipa \pdn } +\newcommand{\tipdy}{ \tipa \pdy } -\newcommand{\tipzc}{ \tipza \pc } -\newcommand{\tipcc}{ \tipca \pc } -\newcommand{\tipuc}{ \tipua \pc } -\newcommand{\tipfc}{ \tipfa \pc } +\newcommand{\tippn}{ \tipa \pn } +\newcommand{\tippy}{ \tipa \py } %\newcommand{\bigforall}{\mathop{\hbox{\huge$\forall$}}} \newcommand{\bigforall}{% @@ -148,6 +169,16 @@ \newcommand{\proofstarts}{{\it Proof:}} \newcommand{\proof}[1]{\proofstarts #1 $\qed$} +\newcommand{\commitproof}[1]{{\bf Proof of commit generation conditions:} + #1 $\qed$} +\newcommand{\condproof}[2]{ + +{\it #1:} #2 + +} + +\newcommand{\statement}[2]{\[\eqn{ #1 }{ #2 }\]} + \newcommand{\gathbegin}{\begin{gather} \tag*{}} \newcommand{\gathnext}{\\ \tag*{}} @@ -168,9 +199,16 @@ \input{create-tip.tex} \input{anticommit.tex} \input{merge.tex} +\input{pseudomerge.tex} \chapter{Update strategy} \input{strategy.tex} +\input{ranking.tex} +\input{traversal.tex} + +%\AtEndDocument{\par\bigskip\centerline{\Large\bfseries Document ends here}} + +\par$\bigboxdot$ \end{document}