\documentclass[12pt]{amsart}
\usepackage{amsmath,amsthm,amsfonts,latexsym,amssymb,amscd,color}
\usepackage{chemarr}
\pagestyle{headings}
%
\setlength{\textwidth}{36true pc}
\setlength{\headheight}{8true pt} % needed for 12pt documents
\setlength{\oddsidemargin}{0 truept}
\setlength{\evensidemargin}{0 truept}
\setlength{\textheight}{572true pt}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   ENVIRONMENTS
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \theoremstyle{plain} %% This is the default
\newtheorem{thm}{Theorem}[subsection]
\newtheorem{cor}[thm]{Corollary}
\newtheorem{lm}[thm]{Lemma}
\newtheorem{prp}[thm]{Proposition}
\newtheorem{clm}[thm]{Claim}
\newtheorem*{clm*}{Claim}
%
\theoremstyle{definition}
\newtheorem{df}[thm]{Definition}
\newtheorem{dfs}[thm]{Definitions}
\newtheorem{exmp}[thm]{Example}
\newtheorem{prb}[thm]{Problem}
\newtheorem{quest}[thm]{Question}
%
\theoremstyle{remark}
\newtheorem{rem}[thm]{Remark}
%
\numberwithin{equation}{section}
%
\newcommand{\thref}[1]{Theorem~\ref{#1}}
\newcommand{\secref}[1]{\S\ref{#1}}
\newcommand{\lmref}[1]{Lemma~\ref{#1}}
%
\newcommand{\sprf}{\noindent{\it Proof.}} %used in spf environment
\newcommand{\sqed}{\hfill\rule{1.3mm}{3mm}\medskip}
\newenvironment{spf}{\sprf }{\sqed}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Logical symbols
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\DeclareMathOperator{\satf}{\models}
\DeclareMathOperator{\miff}{\Longleftrightarrow} 
                                           % math `if and only if'
\DeclareMathOperator{\mimplies}{\Longrightarrow} 
                                           % math `implies'
\DeclareMathOperator{\mimplied}{\Longleftarrow}  
                                           % math `implied by'
\newcommand{\set}[2]{\{#1\mid\nobreak\text{#2}\}} % { x | ... }
\DeclareMathOperator{\id}{\textsl{id}}     % The identity map
\DeclareMathOperator{\miffdef}{\stackrel{def}{\miff}}
                                           % defining iff
\DeclareMathOperator{\eqdef}{\stackrel{def}{=}}
                                           % defining equation

\DeclareMathOperator{\neareq}{\stackrel{\ae}{=}}
\DeclareMathOperator{\aeqv}{\stackrel{ae}{\equiv}}
\DeclareMathOperator{\aeq}{\stackrel{ae}{=}}
\newcommand{\labelledarrow}[1]{%
\stackrel{#1}{\longrightarrow}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Classical math
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\DeclareMathOperator{\BN}{\mathbb{N}} % nonnegative integers
\DeclareMathOperator{\BZ}{\mathbb{Z}} % integers
\DeclareMathOperator{\BQ}{\mathbb{Q}} % rationals
\DeclareMathOperator{\BR}{\mathbb{R}} % reals
\DeclareMathOperator{\BC}{\mathbb{C}} % complex numbers
\DeclareMathOperator{\re}{Re}         % real part
\DeclareMathOperator{\im}{im}         % imaginary part
%\DeclareMathOperator{\im}{Im}         % imaginary part
\DeclareMathOperator{\Ker}{Ker}
%
\DeclareMathOperator{\meet}{\wedge}
\DeclareMathOperator{\join}{\vee}
\DeclareMathOperator{\persu}{\nearrow}
\DeclareMathOperator{\persd}{\searrow}
\DeclareMathOperator{\union}{\cup}
\DeclareMathOperator{\inter}{\cap}  % intersection
\DeclareMathOperator{\iso}{\cong}   % isomorphic
\DeclareMathOperator{\piso}{\simeq} % polynomially isomorphic
\newcommand{\Star}{^ *}
\DeclareMathOperator{\compose}{{\scriptstyle \circ}} % f o g
%
\newcommand{\wec}[1]{{\mathbf{#1}}}  % notation for vectors in algebras
%\newcommand{\wec}[1]{{\bar{#1}}} % which one do you prefer?
\newcommand{\wrel}[1]{\;#1\;}     % a\wrel{\alpha}b = a \alpha b
%              % this provides a flexible way to change the spacing
%
%\newcommand{\wrel}[1]{{\def\wrelarg{\qopname\relax{no}{#1}}\wrelarg}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Operators on algebras
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  \m is used to produce models (algebras) as follows:
%  typing `\m a'  produces in bold face, A.
%  \vr does the same for varieties
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\m}[1]{{\mathbf{\uppercase{#1}}}}
\newcommand{\vr}[1]{{\mathcal{\uppercase {#1}}}}
%
\DeclareMathOperator{\Var}{\mathsf{V}}
\DeclareMathOperator{\Ho}{\mathsf{H}}
\DeclareMathOperator{\Su}{\mathsf{S}}
\DeclareMathOperator{\Sub}{\mathsf{S}}
\DeclareMathOperator{\Pd}{\mathsf{P}}
\DeclareMathOperator{\Iso}{\mathsf{I}}
\DeclareMathOperator{\Ps}{\Pd_s}
\DeclareMathOperator{\Kluk}{\mathsf{K}}
\DeclareMathOperator{\twin}{Tw}
\newcommand{\fin}[1]{{\mathsf{#1}}_{\text{\upshape fin}}}
%
\DeclareMathOperator{\Pol}{Pol}
\DeclareMathOperator{\Clo}{Clo}
\DeclareMathOperator{\Con}{Con}
\DeclareMathOperator{\Conb}{\mathbf{Con}} % Con(A) as a lattice
\DeclareMathOperator{\cg}{Cg}
\DeclareMathOperator{\sg}{Sg}
\DeclareMathOperator{\cs}{\#} % Congruence size
\DeclareMathOperator{\chs}{c} % Chief factor size
\newcommand{\Cg}[1]{{\cg}^{\m{#1}}}
\newcommand{\Sg}[1]{{\sg}^{\m{#1}}}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  macros for tame congruence theory.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\newcommand{\M}[3]{\text{\upshape M}_{\m{#1}} (#2, #3)}
\newcommand{\minl}[1]{\text{\upshape Min}_{\m{#1}}}
%
\DeclareMathOperator{\typ}{typ}
\DeclareMathOperator{\ann}{ann}
\DeclareMathOperator{\Sep}{Sep}
\DeclareMathOperator{\ssb}{ssb}
\DeclareMathOperator{\sst}{sst}
%
\DeclareMathOperator{\utyp}{\mathbf{1}}% unary      
\DeclareMathOperator{\atyp}{\mathbf{2}}% affine     
\DeclareMathOperator{\btyp}{\mathbf{3}}% boolean    
\DeclareMathOperator{\ltyp}{\mathbf{4}}% lattice    
\DeclareMathOperator{\styp}{\mathbf{5}}% semilattice
\DeclareMathOperator{\ityp}{\mathbf{i}}
\DeclareMathOperator{\jtyp}{\mathbf{j}}
%
\DeclareMathOperator{\solv}{\stackrel{s}{\sim}}
\DeclareMathOperator{\ssolv}{\stackrel{ss}{\sim}}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Abbreviations
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\newcommand{\bd}{\begin{description}}
\newcommand{\ed}{\end{description}}
%
\newcommand{\lb}{\langle} % <...>
\newcommand{\rb}{\rangle}
\newcommand{\lv}{{[\![}}  % [[...]]
\newcommand{\rv}{{]\!]}}
%
\newcommand{\ul}{\underline}
\newcommand{\ol}{\overline}
%
\newcommand{\vep}{\varepsilon}
\newcommand{\di}{\diamond}
\newcommand{\mult}{\diamond}
\newcommand{\N}[1]{{\m n}_{#1}}


\newcommand{\dd}{{\bf d}}
\newcommand{\Aut}{\textrm{Aut}}
\newcommand{\transpose}{{\sf T}}
\newcommand{\F}{{F}}
%\newcommand{\F}{{\sf P}}
\newcommand{\C}{{\mathsf C}}
\newcommand{\U}{{\mathsf U}}

\newcommand{\crit}{{\rm crit}}
\newcommand{\supp}{{\rm supp}}

%\newcommand{\var}[1]{{\mathbf{\uppercase{#1}}}}
\newcommand{\var}[1]{{\mathsf{\uppercase{#1}}}}

\begin{document}

{\tt I decided to referee this myself. Great paper and very nicely written. I
have only a few minor corrections and some observations.

\bigskip

\underline{Minor corrections:}

\medskip

page 5, top line: you might replace "so" with "and"} 

\color{red} 
Done. Also, joined this sentence with the next.
\color{black}

\medskip

{\tt page 10, au line \# 30: change "then so if" to "then so is"}

\color{red} 
Done. 
\color{black}

\medskip

{\tt ref [14]: the ~ isn't showing. I use $\sim$ to get this.}

\color{red} 
Done. 
\color{black}

\medskip

{\tt the email addresses at the bottom are off (this may be an AU error).}

\color{red} 
The seemed to be aligned with the names.
\color{black}

\bigskip

{\bf Other changes.}

Globally changed ``$F$ is (weakly) independent of its $i$-th variable''
to ``$F$ is (weakly) independent of its $i$-th place''

\medskip

Globally wrote out first names the first time authors are mentioned
in the text 
(except couldn't bring myself to change JB to James B).
\medskip

Changed two ``if and only if''s to ``if'' in the second paragraph
of the introduction. (Otherwise it is incorrect.)
\medskip

Changed the last part of the introduction in order to 
mention the new last section.
\medskip

Deleted last 2 sentences from the first paragraph of Section 3.
\medskip

Corrected definition of $n$-permutable in Example 3.9. (Old version 
expressed $(n-1)$-permutability.)
\medskip

Capitalized ``Congruence Modularity Conjecture'' in Example 3.11.
\medskip

Changed numbering of identities in Example 3.11 from (1), (2), \ldots
to (a), (b), \ldots.
\medskip

Fixed a bad line break in Example 4.4.
\medskip

Added the SD join example.
\medskip

Added McNulty's paper and the Czedli-Freese paper to the bibliography.
Added a final section to discuss the connection with these papers. 
This final section contains two new theorems.

\end{document}
