2019-06-05 13:14:32 -04:00
% -*- root: main.tex -*-
2019-05-14 13:46:35 -04:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% NOTATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%SKETCH
%
2020-04-02 18:22:34 -04:00
\newcommand { \vect } { v}
2020-03-16 13:50:22 -04:00
\newcommand { \wElem } { w}
2020-04-15 18:49:49 -04:00
\newcommand { \dw } { \tilde { \wElem } }
2020-03-16 13:50:22 -04:00
\newcommand { \wSet } { W}
\newcommand { \sine } { s}
2020-04-02 18:22:34 -04:00
\newcommand { \hfunc } { h}
2020-02-18 16:46:22 -05:00
\newcommand { \est } { est}
\newcommand { \conj } [1]{ \overline { #1} }
2020-04-02 18:22:34 -04:00
\newcommand { \ind } [1]{ \underset { #1} { \mathbbold { 1} } }
\newcommand { \had } { \circ }
\newcommand { \pos } { POS}
\newcommand { \sketchCols } { B}
\newcommand { \sketchRows } { M}
\newcommand { \buck } { j}
%
%many of these are outdated and need to be cleaned up
%
2020-02-18 16:46:22 -05:00
\newcommand { \cvar } [1]{ \lambda \left ({ #1} \right )}
2020-04-02 18:22:34 -04:00
2020-03-16 13:50:22 -04:00
\newcommand { \sk } { \mathcal { S} }
2019-07-19 10:41:14 -04:00
\newcommand { \sketch } { \mathcal { S} _ t}
2019-06-05 11:57:05 -04:00
\newcommand { \sketchIj } { \sketch [i] [j] }
2019-07-06 15:07:20 -04:00
\newcommand { \sketchJParam } [1]{ \sketch \paramBox { i} \paramBox { #1} }
2019-08-23 11:50:19 -04:00
\newcommand { \sCom } [2]{ \mathcal { S} _ { #1} \paramBox { i} \paramBox { #2} }
2019-08-26 10:26:51 -04:00
\newcommand { \hash } [1][i]{ h_ { #1} }
\newcommand { \hashP } [1]{ \hash \paramBox { #1} }
\newcommand { \pol } [1][i]{ s_ { #1} }
\newcommand { \polP } [1]{ \pol \paramBox { #1} }
2019-09-04 08:44:01 -04:00
\newcommand { \polI } [2]{ s_ { #1} \paramBox { #2} }
2019-07-15 11:59:08 -04:00
\newcommand { \gIJ } { \gamma \paramBox { i} \paramBox { j} }
2020-04-02 18:22:34 -04:00
2020-03-16 13:50:22 -04:00
\newcommand { \kvec } { k}
2019-07-15 11:59:08 -04:00
\newcommand { \jVec } { \textbf { j} }
\newcommand { \lenB } { b}
\newcommand { \hVec } { \textbf { h} _ { i,k} }
\newcommand { \matrixH } { H}
\newcommand { \hVecMatrix } { \begin { pmatrix*} [l]
h_ { i, 0, 0} & \cdots & h_ { 0, \numTup } \\
\vdots \\
2019-08-02 23:35:58 -04:00
h_ { i, \lenB -1, 0} & \cdots & h_ { \lenB -1, \numTup }
2019-07-15 11:59:08 -04:00
\end { pmatrix*} }
2019-07-16 10:42:17 -04:00
\newcommand { \vecCol } [2]{ \begin { pmatrix}
2019-07-15 11:59:08 -04:00
{ #1} _ 0 \\
\vdots \\
2019-07-16 10:42:17 -04:00
{ #1} _ { #2}
2019-07-15 11:59:08 -04:00
\end { pmatrix} }
2019-07-16 10:42:17 -04:00
\newcommand { \jpbit } [1]{ \buck ^ { (#1)} }
2019-08-26 10:26:51 -04:00
\newcommand { \polSum } { Bias(j, \hash , \pol )}
2020-04-02 18:22:34 -04:00
2020-04-03 10:47:13 -04:00
%
%proof symbols
%
\newcommand { \rou } { \omega }
2019-05-14 13:46:35 -04:00
%
2020-04-01 10:57:37 -04:00
%functions
%
\newcommand { \match } [2]{ #1 \simeq #2}
\newcommand { \dist } { m}
2020-04-02 18:22:34 -04:00
\newcommand { \dupSize } { j}
2020-04-06 11:35:13 -04:00
\newcommand { \dMap } [1]{ \widetilde { #1} }
2020-04-16 17:26:58 -04:00
2020-04-09 10:43:06 -04:00
\newcommand { \order } { O}
2020-04-02 18:22:34 -04:00
%
%number of joins/products
%
\newcommand { \prodsize } { k}
%
%terms
%
\newcommand { \term } { T}
%
2019-05-14 13:46:35 -04:00
%TIDB
%
2020-04-02 18:22:34 -04:00
%
%many of these are outdated and need to be cleaned up
%
2020-02-18 16:46:22 -05:00
\newcommand { \paramBox } [1]{ \left ({ #1} \right )}
2019-06-07 15:38:01 -04:00
\newcommand { \bigParamBox } [1]{ \big [{#1}\big] }
\newcommand { \st } { ~|~}
2019-05-14 13:46:35 -04:00
\newcommand { \pw } { W}
\newcommand { \numWorlds } { 2^ N}
2019-06-10 13:36:43 -04:00
\newcommand { \prob } { p}
\newcommand { \numWorldsP } { \numWorlds \prob }
2019-06-07 15:38:01 -04:00
\newcommand { \numWorldsSum } { \sum _ { \wVec \in \pw } \kMap { t} [\wVec ]}
2019-05-14 13:46:35 -04:00
\newcommand { \numTup } { N}
2019-06-07 15:38:01 -04:00
%\newcommand{\kMap}{v_t}
\newcommand { \kMap } [1]{ v_ { #1} }
\newcommand { \kMapParam } [1]{ \kMap { t} \paramBox { #1} }
2019-08-14 14:59:30 -04:00
\newcommand { \genV } { v}
2019-08-23 11:50:19 -04:00
\newcommand { \gVP } [2]{ \genV _ { #1} \paramBox { #2} }
2019-08-14 14:59:30 -04:00
\newcommand { \genVParam } [1]{ \genV \paramBox { #1} }
2019-08-07 09:51:55 -04:00
\newcommand { \genKMap } [1]{ v\paramBox { #1} }
2019-07-25 09:52:02 -04:00
\newcommand { \gVt } [1]{ \textcolor { blue} { #1} }
2019-06-05 11:57:05 -04:00
\newcommand { \wVec } [1][w]{ \textbf { #1} }
\newcommand { \wVecPrime } { \wVec [w'] }
2019-06-07 15:38:01 -04:00
%%%%%%%%%%%%%%%%
%maybe easier this way:
%WVector Notation
%%%%%%%%%%%%%%%%
2020-04-02 18:22:34 -04:00
%
%many of these are outdated and need to be cleaned up
%
2019-06-07 15:38:01 -04:00
\newcommand { \w } { \wVec }
2019-07-09 12:52:54 -04:00
\newcommand { \wa } { \wVec _ a}
\newcommand { \wb } { \wVec _ b}
\newcommand { \wc } { \wVec _ c}
\newcommand { \wVecD } { \wVec _ d}
2019-06-07 15:38:01 -04:00
\newcommand { \wOneP } { \wVecPrime _ 1}
\newcommand { \wOne } { \wVec _ 1}
\newcommand { \wTwoP } { \wVecPrime _ 2}
\newcommand { \wTwo } { \wVec _ 2}
2019-09-03 10:14:40 -04:00
\newcommand { \wThree } { \wVec _ 3}
\newcommand { \wFour } { \wVec _ 4}
2019-06-07 15:38:01 -04:00
%%%%%%%%%%%%%%%%
%4-way cases
%%%%%%%%%%%%%%%%
2020-04-02 18:22:34 -04:00
%
%many of these are outdated and need to be cleaned up
%
2019-08-26 10:26:51 -04:00
\newcommand { \polarProdNEq } { \polP { \wOne } \cdot \polP { \wOneP } \cdot \polP { \wTwo } \cdot \polP { \wTwoP } } %
\newcommand { \polarProdEq } { \polP { \wa } \cdot \polP { \wb } \cdot \polP { \wc } \cdot \polP { \wVecD } } %
2019-07-09 12:52:54 -04:00
\newcommand { \elems } { \wa , \wb , \wc , \wVecD }
2019-08-14 21:30:38 -04:00
\newcommand { \nElems } { \wOne , \wOneP , \wTwo , \wTwoP }
2019-08-15 08:55:08 -04:00
\newcommand { \forAllW } [1]{ \forall (\elems ) \in { #1} }
\newcommand { \forAllNW } [1]{ \forall (\nElems ) \in { #1} }
2019-06-19 14:08:03 -04:00
\newcommand { \lab } [1]{ #1}
\newcommand { \distPattern } [1]{ \lab { S_ { #1} } }
2019-06-07 15:38:01 -04:00
\newcommand { \vCase } [1]{ \lab { Variant } { #1} }
2019-08-15 08:55:08 -04:00
\newcommand { \forElems } [1]{ \{ ~(\elems ~)\st { #1} , \elems \in \pw \} }
\newcommand { \forNElems } [1]{ \{ ~(\nElems ~)\st { #1} , \nElems \in \pw \} }
2019-08-14 21:30:38 -04:00
\newcommand { \cOne } { \wOne = \wOneP = \wTwo = \wTwoP }
2019-07-09 12:52:54 -04:00
\newcommand { \cTwo } { \wa = \wb \neq \wc = \wVecD }
\newcommand { \cThree } { \wa = \wb = \wc \neq \wVecD }
\newcommand { \cFour } { \wa = \wb \neq \wc \neq \wVecD }
2019-08-14 21:30:38 -04:00
\newcommand { \cFive } { \wOne \neq \wOneP \neq \wTwo \neq \wTwoP }
2019-06-07 15:38:01 -04:00
\newcommand { \cTwoV } [4]{ { #1} = { #2} \neq { #3} = { #4} }
2019-05-14 13:46:35 -04:00
\newcommand { \relation } { R}
2019-06-07 15:38:01 -04:00
\newcommand { \expect } [1]{ \mathop { \mathbb { E} } \bigParamBox { #1} }
2020-02-18 16:46:22 -05:00
\newcommand { \ex } [1]{ \mathop { \mathbb { E} } \left [{#1}\right] }
2019-06-07 15:38:01 -04:00
\newcommand { \multLineExpect } { \mathop { \mathbb { E} } }
2020-02-18 16:46:22 -05:00
\newcommand { \sigsq } { \sigma ^ 2}
2019-06-07 15:38:01 -04:00
\newcommand { \var } { Var}
\newcommand { \varParam } [1]{ Var\bigParamBox { #1} }
2019-06-12 08:39:03 -04:00
\newcommand { \varSym } { \sd ^ 2}
\newcommand { \sd } { \sigma }
2019-06-14 10:50:38 -04:00
\newcommand { \sdEq } { \numWorlds \big (\sqrt { \frac { 2\prob } { \sketchCols } } \big )}
\newcommand { \sdRelVar } { \sqrt { \frac { 2} { \sketchCols \prob } } }
2019-06-12 08:39:03 -04:00
\newcommand { \sdRel } { \sd _ { rel} }
2019-06-14 10:50:38 -04:00
\newcommand { \errB } { \epsilon }
2019-06-12 08:39:03 -04:00
%%%%%%%%%%%%%%%%%
%Chebyshev
%%%%%%%%%%%%%%%%%
2020-04-02 18:22:34 -04:00
%
%many of these are outdated and need to be cleaned up
%
2019-06-12 08:39:03 -04:00
\newcommand { \pr } [2]{ Pr\big [|X - \mu| > {#1}\big] < { #2} }
2019-07-09 12:52:54 -04:00
\newcommand { \cheby } { \pr { \Delta } { \frac { 1} { 3} } }
2019-06-14 10:50:38 -04:00
\newcommand { \chebyK } { \pr { k\sd } { \frac { 2} { \prob \errB ^ 2\sketchCols } } }
2019-06-12 08:39:03 -04:00
2019-06-10 13:36:43 -04:00
%%%%%%%%%%%%%%%%%
% Equations
%%%%%%%%%%%%%%%%%
2020-04-02 18:22:34 -04:00
%
%many of these are outdated and need to be cleaned up
%
2019-06-05 11:57:05 -04:00
\newcommand { \polarFuncSum } [1][]{ \sum _ { \substack { \wVecPrime ~|~ \\
2019-08-26 10:26:51 -04:00
\hash \left [\wVecPrime\right] = j\\
{ #1} } } \polP { \wVecPrime } }
2019-06-05 13:14:32 -04:00
\newcommand { \estimate } { \sum _ { j \in \sketchCols } \sketchIj \cdot \polarFuncSum }
2019-06-05 11:57:05 -04:00
\newcommand { \estExpOne } { \sum _ { \substack { j \in \sketchCols , \\
2019-08-26 10:26:51 -04:00
\wVec \in \pw ~|~\hash \left [\wVec\right] = j} } \kMap { t} \cdot \polP { \wVec } \cdot \polarFuncSum }
2019-06-05 11:57:05 -04:00
\newcommand { \estTwo } { \sum _ { \substack { j \in [B],\\
2019-08-26 10:26:51 -04:00
\wVec \in \pw ~|~ \hash { [\wVec ]} = j,\\
\wVec [w'] \in \pw ~|~ \hash { [\wVec [w'] ]} = j} } v_ t[\wVec ] \cdot s_ i[\wVec ] \cdot s_ i[\wVec [w'] ]}
2019-06-10 13:36:43 -04:00
\newcommand { \estExp } { \sum _ { \substack { j \in [B],\\
2019-08-26 10:26:51 -04:00
\wVec ~|~\hashP { \wVec } = j,\\ } } \kMapParam { \wVec } }
2019-08-17 10:01:54 -04:00
\newcommand { \distPatOne } { \sum _ { \wVec \in \pw } \expect { \kMapParam { \wVec } ^ 2} }
2019-06-10 13:36:43 -04:00
\newcommand { \variantOne } { \sum _ { \wOne \neq \wTwo } \kMapParam { \wOne } \cdot \kMapParam { \wTwo } }
\newcommand { \variantTwo } { \sum _ { \substack { \wVec \neq \wVecPrime ,\\
2019-08-26 10:26:51 -04:00
\hashP { \wVec } = \hashP { \wVecPrime } } } \big | \hashP { \wVec } = \hashP { \wVecPrime } \big |\cdot \kMapParam { \wVec } ^ 2}
2019-06-10 13:36:43 -04:00
\newcommand { \variantThree } { \sum _ { \substack { \wOne \neq \wTwo ,\\
2019-08-26 10:26:51 -04:00
\hashP { \wOne } = \hashP { \wTwo } } } \kMapParam { \wOne } \cdot \kMapParam { \wTwo } }
2019-05-14 13:46:35 -04:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% COMMENTS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand { \BG } [1]{ \todo [inline] { \textbf { Boris says:$ \, $ } #1} }
\newcommand { \SF } [1]{ \todo [inline] { \textbf { Su says:$ \, $ } #1} }
\newcommand { \OK } [1]{ \todo [inline] { \textbf { Oliver says:$ \, $ } #1} }
2019-07-05 21:59:56 -04:00
\newcommand { \AH } [1]{ \todo [inline, backgroundcolor=blue] { \textbf { Aaron says:$ \, $ } #1} }
2019-08-20 12:01:56 -04:00
\newcommand { \SR } [1]{ \todo [inline, backgroundcolor=white] { \textbf { Note to self:$ \, $ } #1} }
2019-06-27 23:55:45 -04:00
\newcommand { \AR } [1]{ \todo [inline, color=green] { \textbf { Atri says:$ \, $ } #1} }
2020-04-02 18:22:34 -04:00
%
%many of these are outdated and need to be cleaned up
%
2019-09-05 11:49:27 -04:00
\newcommand { \startOld } [1]{ \textcolor { purple} { \newline -------------------------\newline \textbf { Old Content:\newline -------------------------\newline } #1} \newline }
2019-08-20 12:01:56 -04:00
\newcommand { \finOld } { \newline \textcolor { purple} { ------------------------------\newline \textbf { END} Old Content\newline ------------------------------\newline } }
2019-05-14 13:46:35 -04:00
%\newcommand{\comment}[1]{}
2020-04-02 18:22:34 -04:00
%
%borrowed from Su and Boris
%needs to be cleaned up
%
2019-05-14 13:46:35 -04:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% DETAILED PROOFS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newbool { ShowDetailedProofs}
\newcommand { \detailedproof } [2]{ \ifbool { ShowDetailedProofs} {
\begin { proof}
#2
\end { proof}
} { \noindent \textit { Proof Sketch:} #1\qed } \smallskip }
\newcommand { \ifnotdetailedproof } [1]{ \ifbool { ShowDetailedProofs} { } { #1} }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% STRUCTURE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand { \mypar } [1]{ \smallskip \noindent \textbf { { #1} .} }
\newcommand { \bfcaption } [1]{ \caption { \textbf { #1} } }
\newcommand { \trimfigurespacing } { \vspace * { -5mm} }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% THEOREM LIKE ENVIRONMENTS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\DeclareMathAlphabet { \mathbbold } { U} { bbold} { m} { n}
\newtheorem { Theorem} { Theorem} [section]
\newtheorem { Definition} { Definition}
\newtheorem { Lemma} { Lemma}
\newtheorem { Proposition} { Proposition}
\newtheorem { Corollary} { Corollary}
\newtheorem { Example} { Example}
\newtheorem { Axiom} { Axiom}
2019-08-03 10:25:25 -04:00
\definecolor { db} { RGB} { 23,20,119}
\definecolor { dg} { RGB} { 2,101,15}
\newtheoremstyle { assumption} { } { } { \color { blue} \itshape } { } { \color { blue} \bfseries } { :} { \newline } { }
\theoremstyle { assumption}
2019-08-02 10:33:56 -04:00
\newtheorem { Assumption} { Assumption}
2019-08-03 10:25:25 -04:00
\newtheoremstyle { justification} { } { } { \color { green} \itshape } { } { \color { green} \bfseries } { :} { \newline } { }
\theoremstyle { justification}
\newtheorem { Justification} { Justification}
\newcommand { \eq } [1]{ Equation { #1} }
\newcommand { \norm } [1]{ \| { #1} \| }
2019-05-14 13:46:35 -04:00
\newcommand { \proofpara } [1]{ \medskip \noindent \underline { { #1} :} }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% MATH UTILS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand { \mathtext } [1]{ \ensuremath { \, \text { #1} \, } }
\newcommand { \card } [1]{ \vert { #1} \vert }
% allow for more bb math symbols:
\DeclareMathAlphabet { \mathbbold } { U} { bbold} { m} { n}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Rel model
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand { \schema } { \mathbf { D} }
\newcommand { \relschema } { \mathbf { R} }
\newcommand { \schemaOf } { \textsc { Sch} }
\newcommand { \arity } [1]{ arity({ #1} )}
\newcommand { \db } { D}
\newcommand { \rel } { R}
\newcommand { \query } { Q}
\newcommand { \qClass } { \mathcal { C} }
% \newcommand{\uDom}{\mathcal{U}}
\newcommand { \tup } { t}
\newcommand { \multip } { n}
\newcommand { \aDom } { \mathbb { D} }
\newcommand { \aVal } { d}
\newcommand { \tupDom } { \textsc { TupDom} }
\newcommand { \tuple } [1]{ \left <\; \textsf { \upshape #1} \; \right >}
\newcommand { \comprehension } [2]{ \left \{ \; #1\; |\; #2\; \right \} }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Algebra
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand { \selection } { \sigma }
\newcommand { \projection } { \pi }
\newcommand { \join } { \Join }
\newcommand { \union } { \cup }
\newcommand { \intersection } { \cap }
\newcommand { \rename } { \rho }
\newcommand { \aggregation } [2]{ { } _ { #1} \gamma _ { #2} }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Query Languages and Classes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand { \raPlus } { \mathcal { RA} ^ { +} }
\newcommand { \raFull } { \mathcal { RA} }
\newcommand { \raAgg } { \mathcal { RA} ^ { agg} }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ABBREVIATIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand { \abbrPDB } { PDB\xspace }
\newcommand { \abbrPDBs } { PDBs\xspace }
\newcommand { \abbrIDB } { IDB\xspace }
\newcommand { \abbrPQP } { PQP\xspace }
\newcommand { \abbrPQPs } { PQPs\xspace }
\newcommand { \abbrUQP } { UQP\xspace }
\newcommand { \abbrBGQP } { BGQP\xspace }
\newcommand { \abbrBGQPs } { BGQPs\xspace }
\newcommand { \abbrCAQP } { CAQP\xspace }
\newcommand { \abbrCAQPs } { CAQPs\xspace }
\newcommand { \abbrUADB } { UA-DB\xspace }
\newcommand { \abbrUADBs } { UA-DBs\xspace }
\newcommand { \abbrTI } { TI-DB\xspace }
\newcommand { \abbrTIs } { TI-DBs\xspace }
\newcommand { \abbrCoddTable } { Codd-table\xspace }
\newcommand { \abbrCoddTables } { Codd-tables\xspace }
\newcommand { \abbrVtable } { V-table\xspace }
\newcommand { \abbrVtables } { V-tables\xspace }
\newcommand { \abbrCtable } { C-table\xspace }
\newcommand { \abbrCtables } { C-tables\xspace }
\newcommand { \abbrPCtable } { PC-table\xspace }
\newcommand { \abbrPCtables } { PC-tables\xspace }
\newcommand { \abbrVCtable } { Virtual C-table\xspace }
\newcommand { \abbrVCtables } { Virtual C-tables\xspace }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% COMPLEXITY
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand { \ptime } { \texttt { PTIME} \xspace }
\newcommand { \npcomplete } { NP-complete\xspace }
\newcommand { \conpcomplete } { coNP-complete\xspace }
\newcommand { \conphard } { coNP-hard\xspace }
\newcommand { \sharpP } { \texttt { \# P} \xspace }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% UNCERTAINTY
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand { \cSet } { certain}
\newcommand { \pSet } { possible}
\newcommand { \cMult } { certainMult}
\newcommand { \pMult } { possibleMult}
\newcommand { \cMatches } { certainMatchMult}
\newcommand { \pMatches } { possibleMatchMult}
\newcommand { \pdb } { \mathcal { D} }
\newcommand { \bestG } [1]{ BestGuess(#1)}
\newcommand { \uadb } { \db _ { UA} }
\newcommand { \bgdb } { D_ { bg} }
2019-06-10 13:36:43 -04:00
%\newcommand{\prob}{P}
2019-05-14 13:46:35 -04:00
\newcommand { \probOf } [1]{ \prob (#1)}
\newcommand { \pTupMult } [2]{ \prob ({ #1} , \geq { #2} )}
\newcommand { \rowsmr } { \mathcal { K} _ { uncert} }
\newcommand { \tmatches } { \simeq }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% UNCERTAINTY LABELINGS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand { \redL } [1]{ \textcolor { red} { { #1} } }
\newcommand { \tcMarker } { T}
\newcommand { \tuMarker } { \textcolor { red} { F} }
\newcommand { \uMarker } [1]{ \ensuremath { { #1} { } ^ { \tuMarker } } }
\newcommand { \cMarker } [1]{ \ensuremath { { #1} { } ^ { \tcMarker } } }
\newcommand { \notHere } { \ensuremath { \bot } }
\newcommand { \uLabels } { \mathcal { U} }
\newcommand { \labelOf } { \textsc { label} }
\newcommand { \uDom } { { \aDom _ { \uLabels } } }
\newcommand { \typeTI } { TI}
\newcommand { \typePC } { pc}
\newcommand { \TUL } { \mathcal { L} }
\newcommand { \TULDom } { \mathbb { L} }
\newcommand { \doTUL } { \textsf { label} }
\newcommand { \TULscheme } { \textsc { Lab} }
\newcommand { \TULschemeTI } { \TULscheme _ { \abbrTI } }
\newcommand { \TULschemeCtable } { \TULscheme _ { \abbrCtable } }
\newcommand { \TULtype } [1]{ \mathcal { L} _ { #1} }
\newcommand { \TULTI } { \TULtype { \typeTI } }
\newcommand { \TULC } { \TULtype { \typePC } }
\newcommand { \AUL } { \mathcal { L} _ { A} }
\newcommand { \AULtype } [1]{ \mathcal { L} _ { #1} }
\newcommand { \aLabel } { l}
\newcommand { \lVal } { { d^ { \aLabel } } }
\newcommand { \ldb } { \db _ { \aLabel } }
\newcommand { \ltupDom } { \textsc { TupDom} _ { \uLabels } }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SEMIRINGS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand { \semN } { \mathbb { N} }
\newcommand { \semB } { \mathbb { B} }
\newcommand { \semNX } { \mathbb { N} [X]}
\newcommand { \semK } { \mathcal { K} }
\newcommand { \onesymbol } { \mathbbold { 1} }
\newcommand { \zerosymbol } { \mathbbold { 0} }
\newcommand { \multsymb } { \otimes }
\newcommand { \addsymbol } { \oplus }
2019-06-05 13:14:32 -04:00
\newcommand { \addormultsymbol } { \bigcdot }
2019-05-14 13:46:35 -04:00
\newcommand { \monsymbol } { \ominus }
\newcommand { \kDom } { K}
\newcommand { \addK } { \addsymbol _ { \semK } }
\newcommand { \multK } { \multsymb _ { \semK } }
\newcommand { \genopK } { \odot _ { \semK } }
\newcommand { \monK } { \monsymbol _ { \semK } }
\newcommand { \oneK } { \onesymbol _ { \semK } }
\newcommand { \zeroK } { \zerosymbol _ { \semK } }
\newcommand { \addOf } [1]{ \addsymbol _ { #1} }
\newcommand { \multOf } [1]{ \multsymb _ { #1} }
\newcommand { \monOf } [1]{ \monsymbol _ { #1} }
\newcommand { \oneOf } [1]{ \onesymbol _ { #1} }
\newcommand { \zeroOf } [1]{ \zerosymbol _ { #1} }
\newcommand { \dbDomK } [1]{ \mathcal { DB} _ { #1} }
%%%%% natural order
\newcommand { \ordersymbol } { \preceq }
\newcommand { \geqsymbol } { \succeq }
\newcommand { \ordK } { \ordersymbol _ { \semK } }
\newcommand { \gordK } { \geqsymbol _ { \semK } }
\newcommand { \geqK } { \geqsymbol _ { \semK } }
\newcommand { \ordOf } [1]{ \ordersymbol _ { #1} }
\newcommand { \aHom } { h}
%%%%% natural order lattice
\newcommand { \lub } { \sqcup }
\newcommand { \glb } { \sqcap }
\newcommand { \glbKof } [1]{ \sqcap { #1} }
%\newcommand{\glbKof}[1]{\left(\bigsqcap_{k\in #1}k\right)}
\newcommand { \glbK } { \glbKof { \semK } }
\newcommand { \lubKof } [1]{ \sqcup _ { #1} }
%\newcommand{\lubKof}[1]{\left(\bigsqcup_{k\in #1}k\right)}
\newcommand { \lubK } { \lubKof { \semK } }
\newcommand { \LubK } { \sqcup _ { \semK } }
\newcommand { \GlbK } { \sqcap _ { \semK } }
\newcommand { \minK } { min_ { \semK } }
\newcommand { \maxK } { max_ { \semK } }
\newcommand { \minOf } [1]{ min_ { #1} }
\newcommand { \maxOf } [1]{ max_ { #1} }
\newcommand { \setK } { \vec k}
%%%%%Minima Worlds Semiring
\newcommand { \mwBool } [1]{ \mathbb { B} _ { #1} }
\newcommand { \mwIfElse } [1]{ \mwBool { #1} ?\mu _ { #1} }
\newcommand { \muMult } { \otimes _ { \mu } }
\newcommand { \boolMult } { \otimes _ { \mathbb { B} } }
\newcommand { \zeroMW } { \zerosymbol _ { mw} }
\newcommand { \oneMW } { \onesymbol _ { mw} }
\newcommand { \mwAdd } { \addsymbol _ { mw} }
\newcommand { \mwMult } { \multsymb _ { mw} }
\newcommand { \hgood } { h_ { good} }
%%%%% Sum of Products Proof
\newcommand { \productClauseMin } [1]{ \sqcap _ { \otimes } { #1} }
\newcommand { \productClauseWorlds } [1]{ \productClauseMin { #1} _ { worlds} }
%%%%% N-way direct product
\newcommand { \dpK } [2]{ { #1} ^ { #2} }
\newcommand { \dpDom } [2]{ { #1} ^ { #2} }
\newcommand { \doubleK } [1]{ \dpK { #1} { 2} }
\newcommand { \doubleDom } [1]{ \dpDom { #1} { 2} }
%%%%% UA-semiring
\newcommand { \uaName } { UA}
\newcommand { \uaK } [1]{ { #1} _ { \uaName } }
\newcommand { \uaDom } [1]{ \kDom { #1_ { \uaName } } }
\newcommand { \uaAdd } [1]{ \addOf { \uaK { #1} } }
\newcommand { \uaMult } [1]{ \multOf { \uaK { #1} } }
\newcommand { \uaZero } [1]{ \zeroOf { \uaK { #1} } }
\newcommand { \uaOne } [1]{ \oneOf { \uaK { #1} } }
\newcommand { \uae } [2]{ [#1,#2]}
\newcommand { \uaN } { \uaK { \semN } }
\newcommand { \uanAdd } { \uaAdd { \semN } }
\newcommand { \uanMult } { \uaMult { \semN } }
%%%%% POSSIBLE WORLD SEMIRINGS
\newcommand { \pwIndicator } { W}
\newcommand { \pwDom } { W}
\newcommand { \pwkDom } { \kDom ^ { \pwDom } }
\newcommand { \pwK } { \semK _ { \pwIndicator } }
\newcommand { \pwKof } [1]{ { #1} _ { \pwIndicator } }
\newcommand { \pwAdd } { { \addOf { \pwK } } }
\newcommand { \pwMult } { { \multOf { \pwK } } }
\newcommand { \pwZero } { { \zeroOf { \pwK } } }
\newcommand { \pwOne } { { \oneOf { \pwK } } }
\newcommand { \pwWorld } [1]{ \textsc { pw} _ { { #1} } }
\newcommand { \pwe } [1]{ \vec { { #1} } }
\newcommand { \pwHaveCoMinima } [2]{ #1 \stackrel { \sqcap } { \sim } #2}
\newcommand { \pwNotHaveCoMinima } [2]{ #1 \not \stackrel { \sqcap } { \sim } #2}
\newcommand { \pwHaveGlobalMinima } [1]{ \stackrel { \sqcap } { \sim } #1}
\newcommand { \pwNotHaveGlobalMinima } [1]{ \not \stackrel { \sqcap } { \sim } #1}
\newcommand { \pwN } { \pwKof { \semN } }
\newcommand { \pwB } { \pwKof { \semB } }
\newcommand { \certainName } { \textsc { cert} }
\newcommand { \possibleName } { \textsc { poss} }
\newcommand { \uncertainName } { \textsc { uncert} }
\newcommand { \pwCertain } { { \certainName } _ { \semK } }
\newcommand { \pwUncertain } { { \uncertainName } _ { \semK } }
\newcommand { \pwPossible } { { \possibleName } _ { \semK } }
\newcommand { \pwCertOf } [1]{ { \certainName } _ { #1} }
\newcommand { \pwUncertOf } [1]{ { \uncertainName } _ { #1} }
\newcommand { \pwPossOf } [1]{ { \possibleName } _ { #1} }
\newcommand { \pwCertainN } { { \certainName } _ { \semN } }
\newcommand { \pwUncertainN } { { \uncertainName } _ { \semN } }
\newcommand { \pwPossibleN } { { \possibleName } _ { \semN } }
\newcommand { \pwCertainB } { { \certainName } _ { \semB } }
\newcommand { \pwUncertainB } { { \uncertainName } _ { \semB } }
\newcommand { \pwPossibleB } { { \possibleName } _ { \semB } }
%%%% K-possible labeling
%\newcommand{\kpossLab}{{\semK}{-}{\Poss}}
%%%% UA-DBS
\newcommand { \uIndicator } { U}
\newcommand { \uK } { \ensuremath { \semK _ { \uIndicator } } }
\newcommand { \uKDom } { \ensuremath { \kDom _ { \uIndicator } } }
\newcommand { \lCert } { certain}
\newcommand { \Poss } { possible}
\newcommand { \uOfName } { uncert}
\newcommand { \uOf } [1]{ h_ { \uOfName } ({ #1} )}
\newcommand { \cOfName } { cert}
\newcommand { \cOf } [1]{ h_ { \cOfName } ({ #1} )}
\newcommand { \dOfName } { det}
\newcommand { \dOf } [1]{ h_ { \dOfName } ({ #1} )}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ENCODING
\newcommand { \bagEnc } { \textsc { Enc} }
\newcommand { \rewrN } { \textsf { uRewr} }
\newcommand { \uAttr } { U}
\DeclareMathSymbol { \mlq } { \mathord } { operators} { ``}
\DeclareMathSymbol { \mrq } { \mathord } { operators} { `'}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "attrprov"
%%% End:
2019-06-27 23:55:45 -04:00
%%%Adding stuff below so that long chain of display equatoons can be split across pages
\allowdisplaybreaks