paper-BagRelationalPDBsAreHard/macros.tex

604 lines
19 KiB
TeX
Raw Normal View History

2019-06-05 13:14:32 -04:00
% -*- root: main.tex -*-
2019-05-14 13:46:35 -04:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% NOTATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Polynomial Reformulation
\newcommand{\wbit}{w}
%using \wVec for world bit vector notation
\newcommand{\poly}{Q}
\newcommand{\rpoly}{\widetilde{Q}}%r for reduced as in reduced 'Q'
\newcommand{\out}{output}%output aggregation over the output vector
%David's Scheme
\newcommand{\vecform}[1]{\textbf{#1}}%auxiliary cmd to use only with macros, so that we can change the format easily if need be
\newcommand{\sone}{\vecform{x}}
\newcommand{\stwo}{\vecform{y}}
\newcommand{\veclen}{n}%vector length
\newcommand{\hp}{HP}%hadamard product notation
2020-05-01 11:43:07 -04:00
%
%Sum of Products
%
\newcommand{\sop}{SOP}
\newcommand{\sopsize}{p}
\newcommand{\sopind}{h}
\newcommand{\sopest}[1]{\sop_{\est_{#1}}}
2019-05-14 13:46:35 -04:00
%
%SKETCH
%
\newcommand{\surj}{f}
\newcommand{\surjSet}{\textbf{F}}
\newcommand{\mtupSet}{\wSet^{\prec}_{\dist}}
\newcommand{\disttup}{\boldsymbol{\dw}}
2020-04-27 13:03:14 -04:00
\newcommand{\kdisttup}[1]{\disttup_{#1}}
\newcommand{\ftup}{\surj_{tup}}
\newcommand{\vect}{v}
\newcommand{\wElem}{w}
2020-04-17 12:06:13 -04:00
\newcommand{\dw}{\widetilde{\wElem}}
\newcommand{\wSet}{W}
\newcommand{\sine}{s}
\newcommand{\hfunc}{h}
2020-02-18 16:46:22 -05:00
\newcommand{\est}{est}
\newcommand{\conj}[1]{\overline{#1}}
\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-05-01 11:43:07 -04:00
\newcommand{\cvar}{\lambda}
\newcommand{\sk}{\mathcal{S}}
\newcommand{\sketch}{\mathcal{S}_t}
2019-06-05 11:57:05 -04:00
\newcommand{\sketchIj}{\sketch[i][j]}
\newcommand{\sketchJParam}[1]{\sketch\paramBox{i}\paramBox{#1}}
\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}}
\newcommand{\gIJ}{\gamma\paramBox{i}\paramBox{j}}
\newcommand{\kvec}{k}
\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}
\end{pmatrix*}}
2019-07-16 10:42:17 -04:00
\newcommand{\vecCol}[2]{\begin{pmatrix}
{#1}_0 \\
\vdots \\
2019-07-16 10:42:17 -04:00
{#1}_{#2}
\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-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}
\newcommand{\dupSize}{j}
2020-04-06 11:35:13 -04:00
\newcommand{\dMap}[1]{\widetilde{#1}}
\newcommand{\order}{O}
%
%number of joins/products
%
\newcommand{\prodsize}{k}
%
%terms
%
\newcommand{\term}{T}
%
2019-05-14 13:46:35 -04:00
%TIDB
%
%
%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}}
\newcommand{\genV}{v}
\newcommand{\gVP}[2]{\genV_{#1}\paramBox{#2}}
\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
%%%%%%%%%%%%%%%%
%
%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
%%%%%%%%%%%%%%%%
%
%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
%%%%%%%%%%%%%%%%%
%
%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
%%%%%%%%%%%%%%%%%
%
%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}}
\newcommand{\AH}[1]{\todo[inline, backgroundcolor=cyan]{\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}}
%
%many of these are outdated and need to be cleaned up
%
\newcommand{\startOld}[1]{\textcolor{purple}{-------------------------\newline\textbf{Old}\textit{ #1 \newline} }------------------------------\newline}
\newcommand{\finOld}{\newline\textcolor{purple}{------------------------------\newline\textbf{END}\text{ Old}\newline ------------------------------\newline}}
2019-05-14 13:46:35 -04:00
%\newcommand{\comment}[1]{}
%
%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{Property}{Property}
2019-05-14 13:46:35 -04:00
\newtheorem{Corollary}{Corollary}
\newtheorem{Example}{Example}
\newtheorem{Axiom}{Axiom}
\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}
\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