%% LaTeX package providing macros for typesetting the PPL manuals. %% Copyright (C) 2001-2010 Roberto Bagnara %% Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) %% %% This file is part of the Parma Polyhedra Library (PPL). %% %% The PPL is free software; you can redistribute it and/or modify it %% under the terms of the GNU General Public License as published by the %% Free Software Foundation; either version 3 of the License, or (at your %% option) any later version. %% %% The PPL is distributed in the hope that it will be useful, but WITHOUT %% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or %% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License %% for more details. %% %% You should have received a copy of the GNU General Public License %% along with this program; if not, write to the Free Software Foundation, %% Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA. %% %% For the most up-to-date information see the Parma Polyhedra Library %% site: http://www.cs.unipr.it/ppl/ . \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{ppl} \RequirePackage{amsmath} \RequirePackage{amssymb} \RequirePackage{stmaryrd} %% Calligraphic alphabet \newcommand*{\cA}{\ensuremath{\mathcal{A}}} \newcommand*{\cB}{\ensuremath{\mathcal{B}}} \newcommand*{\cC}{\ensuremath{\mathcal{C}}} \newcommand*{\cD}{\ensuremath{\mathcal{D}}} \newcommand*{\cE}{\ensuremath{\mathcal{E}}} \newcommand*{\cF}{\ensuremath{\mathcal{F}}} \newcommand*{\cG}{\ensuremath{\mathcal{G}}} \newcommand*{\cH}{\ensuremath{\mathcal{H}}} \newcommand*{\cI}{\ensuremath{\mathcal{I}}} \newcommand*{\cJ}{\ensuremath{\mathcal{J}}} \newcommand*{\cK}{\ensuremath{\mathcal{K}}} \newcommand*{\cL}{\ensuremath{\mathcal{L}}} \newcommand*{\cM}{\ensuremath{\mathcal{M}}} \newcommand*{\cN}{\ensuremath{\mathcal{N}}} \newcommand*{\cO}{\ensuremath{\mathcal{O}}} \newcommand*{\cP}{\ensuremath{\mathcal{P}}} \newcommand*{\cQ}{\ensuremath{\mathcal{Q}}} \newcommand*{\cR}{\ensuremath{\mathcal{R}}} \newcommand*{\cS}{\ensuremath{\mathcal{S}}} \newcommand*{\cT}{\ensuremath{\mathcal{T}}} \newcommand*{\cU}{\ensuremath{\mathcal{U}}} \newcommand*{\cV}{\ensuremath{\mathcal{V}}} \newcommand*{\cW}{\ensuremath{\mathcal{W}}} \newcommand*{\cX}{\ensuremath{\mathcal{X}}} \newcommand*{\cY}{\ensuremath{\mathcal{Y}}} \newcommand*{\cZ}{\ensuremath{\mathcal{Z}}} %% Special letters denoting sets and algebras. \providecommand*{\Nset}{\mathbb{N}} % Naturals \newcommand*{\extNset}{\mathbb{N}_\infty} % Extended naturals \providecommand*{\Oset}{\mathbb{O}} % Ordinals \providecommand*{\Qset}{\mathbb{Q}} % Rationals \providecommand*{\Rset}{\mathbb{R}} % Reals \providecommand*{\nonnegRset}{\mathbb{R}_{\scriptscriptstyle{+}}} % Non-negative reals \newcommand*{\extRset}{\Rset_\infty} % Extended reals \providecommand*{\Zset}{\mathbb{Z}} % Integers \providecommand*{\CPset}{\mathbb{CP}} % Closed polyhedra \providecommand*{\Pset}{\mathbb{P}} % (NNC) polyhedra \providecommand*{\Sset}{\mathbb{S}} % Reals or rationals %% Grid notation \providecommand*{\Gset}{\mathbb{G}} % Grid \providecommand*{\cg}{\mathord{\mathrm{cg}}} % Congruence \newcommand*{\gcon}{\mathop{\mathrm{gcon}}\nolimits} % Grid from congruence system \newcommand*{\ggen}{\mathop{\mathrm{ggen}}\nolimits} % Grid from generator system %% Function notation \newcommand*{\fund}[3]{\mathord{#1}\colon#2\rightarrow#3} \newcommand*{\pard}[3]{\mathord{#1}\colon#2\rightarrowtail#3} %% Relation notation \newcommand*{\reld}[3]{\mathord{#1}\subseteq#2\times#3} %% Set theory. \renewcommand*{\emptyset}{\mathord{\varnothing}} \newcommand*{\sseq}{\subseteq} \newcommand*{\sseqf}{\mathrel{\subseteq_\mathrm{f}}} \newcommand*{\sslt}{\subset} \newcommand*{\Sseq}{\supseteq} \newcommand*{\Ssgt}{\supset} \newcommand*{\inters}{\cap} \newcommand*{\setdiff}{\setminus} \newcommand*{\union}{\cup} \newcommand*{\card}{\mathop{\#}\nolimits} \newcommand*{\sset}[2]{{\renewcommand*{\arraystretch}{1.2} \left\{\,#1 \,\left|\, \begin{array}{@{}l@{}}#2\end{array} \right. \,\right\}}} \newcommand*{\meet}{\mathbin{\otimes}} \newcommand*{\join}{\mathbin{\oplus}} %% Logic notation. \newcommand*{\entails}{\mathrel{\vdash}} \newcommand*{\sentails}{\mathrel{\Vdash}} \newcommand*{\Nentails}{\mathrel{\nvdash}} \newcommand*{\Nsentails}{\mathrel{\nVdash}} \newcommand*{\entailss}[1]{\mathrel{\vdash_{#1}}} \newcommand*{\Entailss}[1]{\mathrel{\dashv_{#1}}} \newcommand*{\sentailss}[1]{\mathrel{\Vdash_{#1}}} \newcommand*{\Nentailss}[1]{\mathrel{\nvdash_{#1}}} \newcommand*{\bigland}{\mathop{\bigwedge}\limits} \newcommand*{\biglor}{\mathop{\bigvee}\limits} \newcommand*{\piff}{\mathrel{\leftrightarrow}} \newcommand*{\pimplies}{\mathrel{\rightarrow}} \newcommand*{\pimplied}{\mathrel{\leftarrow}} \newcommand*{\st}{\mathrel{.}} \newcommand*{\itc}{\mathrel{:}} %% Integer division and reminder binary operators. \newcommand*{\bdiv}{\mathbin{\mathrm{div}}} \newcommand*{\brem}{\mathbin{\mathrm{rem}}} %% True and false \newcommand*{\false}{\mathord{\textbf{\textup{0}}}} \newcommand*{\true}{\mathord{\textbf{\textup{1}}}} %% Things that hold by definition. \newcommand*{\defrel}[1]{\mathrel{\buildrel \mathrm{def} \over {#1}}} \newcommand*{\defeq}{\defrel{=}} \newcommand*{\defiff}{\defrel{\Longleftrightarrow}} % Arbitrary relation symbol. \newcommand*{\relsym}{\mathrel{\bowtie}} \newcommand*{\relsyms}[1]{\mathrel{\bowtie_{#1}}} % Absolute value. \newcommand*{\abs}[1]{\lvert #1 \rvert} % Vectors. \renewcommand*{\vec}[1]{\mathchoice{\mbox{\boldmath$\displaystyle#1$}} {\mbox{\boldmath$\textstyle#1$}} {\mbox{\boldmath$\scriptstyle#1$}} {\mbox{\boldmath$\scriptscriptstyle#1$}}} \newcommand*{\vect}[1]{\vec{#1}} % Matrix functions. \newcommand*{\transpose}{\mathrm{T}} % Hulls. \newcommand*{\linearhull}{\mathop{\mathrm{linear.hull}}} \newcommand*{\conichull}{\mathop{\mathrm{conic.hull}}} \newcommand*{\affinehull}{\mathop{\mathrm{affine.hull}}} \newcommand*{\convexhull}{\mathop{\mathrm{convex.hull}}} \newcommand*{\NNChull}{\mathop{\mathrm{nnc.hull}}} \newcommand*{\inthull}{\mathop{\mathrm{int.hull}}} \newcommand*{\intaffinehull}{\mathop{\mathrm{int.affine.hull}}} % Polyhedron functions. \newcommand*{\prank}{\mathop{\mathrm{rank}}} \newcommand*{\pdim}{\mathop{\mathrm{dim}}} \newcommand*{\linspace}{\mathop{\mathrm{lin.space}}} \newcommand*{\cone}{\mathop{\mathrm{cone}}} % Widening \newcommand*{\widen}{\mathrel{\nabla}} % Powerset notation \newcommand*{\pnonredmap}{\mathop{\Omega^{\scriptscriptstyle\sseq}_{\scriptscriptstyle {\CPset_n}}}\nolimits} \newcommand*{\pnonredmapi}[1]{\mathop{\Omega^{\scriptscriptstyle\sseq}_{\scriptscriptstyle {\CPset_{#1}}}}\nolimits} \newcommand*{\nonredmap}{\mathop{\Omega^{\scriptscriptstyle\entails}_{\scriptscriptstyle D}}\nolimits} \newcommand*{\wpf}{\mathop{\wp_\mathrm{f}}\nolimits} \newcommand*{\wpfn}[2]{\mathord{\wp_\mathrm{fn}^{\scriptscriptstyle #2}}(#1)} \newcommand*{\smallP}{{\scriptscriptstyle\mathrm{P}}} \newcommand*{\entailsP}{\entailss{\smallP}} \newcommand*{\NentailsP}{\Nentailss{\smallP}} \newcommand*{\sentailsP}{\sentailss{\smallP}} % Interval floating point arithmetics \newcommand*{\asifp}{\oplus^{\#}} \newcommand*{\adifp}{\ominus^{\#}} \newcommand*{\adivifp}{\oslash^{\#}} \newcommand*{\amifp}{\otimes^{\#}} % Linear form arithmetics \newcommand*{\aslf}{\boxplus^{\#}} \newcommand*{\adlf}{\boxminus^{\#}} \newcommand*{\adivlf}{\boxslash^{\#}} \newcommand*{\amlf}{\boxtimes^{\#}} \newcommand*{\linexpr}[1]{\llparenthesis #1 \rrparenthesis} \newcommand*{\linexprenv}[3]{\llparenthesis #1 \rrparenthesis \left \llbracket #2, #3 \right \rrbracket}