\usepackage{amssymb}

\newcommand\CURI[1]{\texttt{<#1>}}
\newcommand\EM[1]{\noindent\hbox{\frenchspacing\em #1}}
\newcommand\TT[1]{\noindent\hbox{\frenchspacing\tt #1}}
\newcommand\RM[1]{\noindent\hbox{\frenchspacing\rm #1}}
\newcommand\secref[1]{Section~\ref{#1}}
\newcommand\subsecref[1]{Subsection~\ref{#1}}
\newcommand\figref[1]{Figure~\ref{#1}}
\newcommand\ie{{\frenchspacing i.e.}}
\newcommand\oft{\mathrel :}
\newcommand\lex{\exists}
\newcommand\lall{\forall}
\newcommand\sub{\subseteq}
\newcommand\meet{\between}
\newcommand\sand{\cap}
\newcommand\sdor{\sqcup}
\newcommand\sor{\cup}
\newcommand\bigsor{\bigcup}
\newcommand\app{\mathbin @}
\newcommand\fa{\phi}
\newcommand\fb{\psi}
\newcommand\st{\mathrel |}
\newcommand\p{{^\prime}}
\newcommand\jolly{\mathbin\square}
\newcommand\gdlap[2]{\vbox to 0pt {\vskip#2\hbox{#1}\vss}}
\newcommand\setnames@[2]{&\gdlap{\kern2pt$#1$}{#2}} 
\newcommand\imain[1]{{\offinterlineskip\lineskip=2pt\noindent
  $\vcenter{\halign{\hss$##$\hss&##\hss\cr#1\crcr}}$}}
\newcommand\iname[1]{\cr\hrulefill\setnames@{#1}{-1.0ex}\cr}
\newcommand\irule[3]{\imain{#1 \iname{#2} #3}}
\newcommand\spc{\hspace{1em}}
\newcommand\icr{\cr}
\newcommand\Nop{\noindent\hbox to 0pt{\vbox to 1ex{\vfil}\hfil}}

\newcommand\BNF{\textsc{bnf}}
\newcommand\CAML{\textsc{caml}}
\newcommand\Galax{\textsc{galax}}
\newcommand\HELM{\textsc{helm}}
\newcommand\MathQL{\textsc{mathql-1}}
\newcommand\MySQL{\textsc{mysql}}
\newcommand\POSIX{\textsc{posix}}
\newcommand\PostgreSQL{\textsc{postgresql}}
\newcommand\RDF{\textsc{rdf}}
\newcommand\RDFM{\textsc{rdf model}}
\newcommand\RDFS{\textsc{rdf schema}}
\newcommand\SQL{\textsc{sql}}
\newcommand\URI{\textsc{uri}}
\newcommand\XML{\textsc{xml}}
\newcommand\XQuery{\textsc{xquery}}

\newcommand\av{{\frenchspacing a.v.}}

\newcommand\D{\Delta}
\newcommand\G{\Gamma}
\newcommand\ES{\emptyset}
\newcommand\bigsum{\bigoplus}
\newcommand\daq{\mathrel{\Downarrow_q}}
\newcommand\dar{\mathrel{\Downarrow_r}}
\newcommand\distr{\mathbin\odot}
\newcommand\dprod{\mathbin\boxtimes} 
\newcommand\dsum{\mathbin\boxplus} 
\newcommand\g{(\G_s, \G_e, \G_g)}
\newcommand\get[2]{#1(#2)}
\newcommand\sdiff{\mathbin\ominus} 
\newcommand\set[3]{#1[#2 \gets #3]}
\newcommand\sprod{\mathbin\otimes} 
\newcommand\ssum{\mathbin\oplus}

\newcommand\Boole{\TT{Boole}}
\newcommand\Listof{\TT{ListOf}}
\newcommand\Setof{\TT{SetOf}}
\newcommand\Str{\TT{Str}}
\newcommand\Num{\TT{Num}}

\newcommand\All{\TT{All}}
\newcommand\Exp{\TT{Exp}}
\newcommand\F{\TT{F}}
\newcommand\For{\TT{For}}
\newcommand\Fst{\TT{Fst}}
\newcommand\Fsts{\TT{Fsts}}
\newcommand\Fun{\TT{Fun}}
\newcommand\Gen{\TT{Gen}}
\newcommand\Head{\TT{Head}}
\newcommand\Istrue{\TT{IsT}}
\newcommand\Keep{\TT{Keep}}
\newcommand\Match{\TT{Match}}
\newcommand\Name{\TT{Name}}
\newcommand\Pattern{\TT{Pattern}}
\newcommand\Proj{\TT{Proj}}
\newcommand\Property{\TT{Property}}
\newcommand\Snd{\TT{Snd}}
\newcommand\Src{\TT{Src}}
\newcommand\Unquote{\TT{Unq}}
\newcommand\T{\TT{T}}

\newcommand\GP[1]{\TT{<#1>}}
