\usepackage{txfonts}
\usepackage{amsfonts}
\usepackage{mdwlist}
+%\usepackage{lastpage}
%\usepackage{accents}
\usepackage{fancyhdr}
\newcommand{\pcy}{\pay{C}}
\newcommand{\pcn}{\pan{C}}
+\newcommand{\pd}{\pa{D}}
+\newcommand{\pdy}{\pay{D}}
+\newcommand{\pdn}{\pan{D}}
+
\newcommand{\pl}{\pa{L}}
\newcommand{\ply}{\pay{L}}
\newcommand{\pln}{\pan{L}}
\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 \approx \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}} }
\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{\tippy}{ \tipa \py }
%\newcommand{\bigforall}{\mathop{\hbox{\huge$\forall$}}}
\newcommand{\bigforall}{%
\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*{}}
\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}