Initial Commit

master
Aaron Huber 2019-05-14 13:46:35 -04:00
commit 6c7ea8706e
5 changed files with 3455 additions and 0 deletions

2670
acmart.cls Normal file

File diff suppressed because it is too large Load Diff

1
gitlab Submodule

@ -0,0 +1 @@
Subproject commit f09cbfc1f7e89e818b81ec8422411abd8cd1ec49

370
macros.tex Normal file
View File

@ -0,0 +1,370 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% NOTATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%SKETCH
%
\newcommand{\sketch}{\mathcal{S}}
\newcommand{\sketchCols}{B}
\newcommand{\sketchRows}{M}
\newcommand{\sketchHash}[1]{h_{#1}}
\newcommand{\sketchPolar}{s_i}
\newcommand{\polarFunc}{\sketchPolar(\vec{w})}
%
%TIDB
%
\newcommand{\pw}{W}
\newcommand{\numWorlds}{2^N}
\newcommand{\numTup}{N}
\newcommand{\wIndicator}{v_t}
\newcommand{\wVec}{\vec{w}}
\newcommand{\relation}{R}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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]{\textbf{Aaron says:$\,$} #1}}
%\newcommand{\comment}[1]{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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}
\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}}
\newcommand{\prob}{P}
\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}
\newcommand{\addormultsymbol}{\bigcirc}
\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:

151
main.tex Normal file
View File

@ -0,0 +1,151 @@
\documentclass[sigconf]{acmart}
\usepackage{comment}
\usepackage{amsmath}
\usepackage{amssymb}
\let\proof\relax
\let\endproof\relax
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{etoolbox}
\usepackage{stmaryrd}
\usepackage[normalem]{ulem}
\usepackage{subcaption}
\usepackage{booktabs}
\usepackage{todonotes}
\usepackage{graphicx}
\usepackage{listings}
\usepackage{fancyvrb}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{braket}
\usepackage[inline]{enumitem}
\usepackage{xspace}
\usepackage{hyperref}
\usepackage{url}
\usepackage{cleveref}
% \usepackage{bbold}
\graphicspath{ {figures/} }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{macros}
% Copyright
\setcopyright{none}
%\setcopyright{acmcopyright}
%\setcopyright{acmlicensed}
% \setcopyright{rightsretained}
%\setcopyright{usgov}
%\setcopyright{usgovmixed}
%\setcopyright{cagov}
%\setcopyright{cagovmixed}
% DOI
\acmDOI{10.475/123_4}
% ISBN
\acmISBN{123-4567-24-567/08/06}
%Conference
\acmConference[WOODSTOCK'97]{ACM Woodstock conference}{July 1997}{El
Paso, Texas USA}
\acmYear{1997}
\copyrightyear{2016}
\acmArticle{4}
\acmPrice{15.00}
%%%%%%%%%%%%%%%%%%%%
% \textbullet Modelling Uncertainty as Attribute-level Taints and its Relationship to Provenance}
\title{Sketching Worlds for Incomplete Databases}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%
\author{Aaron Huber}
% \orcid{1234-5678-9012}
\affiliation{%
\institution{University at Buffalo}
}
\email{ahuber@buffalo.edu}
\author{Su Feng}
% \orcid{1234-5678-9012}
\affiliation{%
\institution{Illinois Institute of Technology}
}
\email{sfeng14@hawk.iit.edu}
\author{Atri Rudra}
% \orcid{1234-5678-9012}
\affiliation{%
\institution{University at Buffalo}
}
\email{atri@buffalo.edu}
\author{Boris Glavic}
% \orcid{1234-5678-9012}
\affiliation{%
\institution{Illinois Institute of Technology}
}
\email{bglavic@iit.edu}
\author{Oliver Kennedy}
% \orcid{1234-5678-9012}
\affiliation{%
\institution{University at Buffalo}
}
\email{okennedy@buffalo.edu}
\begin{document}
\lstset{language=sql}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% TECH REPORT TITLE PAGE
%\input{tr/techreport_page.tex}
\maketitle
%%%%%%%%%%%%%%%%%%%%
%\input{abstract}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{notation}
%\input{}
%\input{}
%\input{}
%\input{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\bibliographystyle{plain}
%\bibliography{attrprov.bib,oliver.bib}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% APPENDIX
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \clearpage
% \appendix
% \normalsize
% \input{glossary.tex}
% \input{addproofappendix.tex}
\end{document}

263
notation.tex Normal file
View File

@ -0,0 +1,263 @@
% -*- root: main.tex -*-
\section{Notation}
\label{sec:notation}
The following notation is used to reason about the sketching of world membership for a given tuple. A given sketch $\sketch$ can be viewed as a matrix with $\sketchRows$ rows and $\sketchCols$ columns. Each row of $\sketch$ is an estimation of the of $\kDom$ frequency for the given tuple represented by $\sketch$ across all possible worlds. The $\kDom$ values for a given world $\wVec$ are binned by a pairwise independent hash function $\sketchHash{i}$, where for each $i, j \in \sketchRows ~s.t.~ i \neq j, \sketchHash{i}$ is independent of $\sketchHash{j}$. Thus each row can be viewed as an independent estimation. When a $\kDom$ value is binned, it is first multiplied by the ouput of the $i^{th}$ row's polarity function $\sketchPolar$. The resulting computation is then added to the current value contained in the bin mapping.
When referring to Tuple Independent Databases (TIDB), a database $\relation$ contains $\numTup$ tuples, with $\numWorlds$ possible worlds $\pw$. $\pw$ is denoted as $\{0, 1\}^\numTup$, where a specific world $\wVec$ is defined as $\wVec \in \{0, 1\}^\numTup$. An indicator function $\wIndicator$ defined as $\wIndicator : \{0, 1\}^\numTup \rightarrow \kDom$ is used to determine the tuple's $\kDom$ annotation for a given world.
%For correct labelings, it is a necessary condition that two $\pwkDom$ vectors being combined share a possible world where both vectors contain a subset of the combination of the greatest lower bounds from each vector.
%\AH{I question if we need to classify semirings as TONI, TOI,...,etc. since we are now requiring all semirings to obey the cancellative law for multiplication and addition.}
%We prove this by classifying non-negative
%\begin{comment}
%A counter example for co-occurring minima being a necessary condition for correct labelings in sets that range below zero:
%In the set Z (integers) the two vectors
%[-1, 2]
%[3, 1]
%produce CERT(k_1 * k_2) = CERT([-3, 2]) = -3 while CERT([-1, 2]) * CERT([-3, 1]) = -1 * 1 = -1.
%\end{comment}
% $\kDom$~semirings into one of four categories,: Totally Ordered and Non-Idempotent (TONI), Totally Ordered and Idempotent (TOI), Partially Ordered and Non-Idempotent (PONI), and, lastly, Partially Ordered and Idempotent (POI). We also assume that neither semiring operator is the min operator.
%\begin{comment}
%Again, if either one of the semiring operators is min, then we will still guarantee correctness results without co-occurring minima because, in both
%calculations, the lowest value will be filtered out, whether by labeling or by scanning all possible worlds.
%\end{comment}
%
%\begin{Definition}[co-occurring minima]
%$k_1$ and $k_2$ have co-occurring minima, denoted $\pwHaveCoMinima{k_1}{k_2}$, if and only if
%$$\exists i \in W : k_1[i] = \glbKof{k_1} ~~~~~\textbf{and}~~~~~ k_2[i] = \glbKof{k_2}$$
%\end{Definition}
%
%We start with the first category, TONI $\kDom$~semirings, showing that co-occuring minima is a necessary condition for correct labelings.
%
%\begin{Theorem}\label{theo:nec-co-min}
%Given a TONI \kDom~semiring and two elements $k_1, k_2 \in \pwkDom$ such that $\pwNotHaveCoMinima{k_1}{k_2}$. Then it holds that:
%\begin{align*}
%\pwCertain (k_1 \pwAdd k_2) \neq \pwCertain (k_1)
%\addK \pwCertain (k_2) \\
%\end{align*}
%\end{Theorem}
%
%\proof{
%\setcounter{equation}{0}
%$\pwAdd$
%
%By construction, Theorem ~\ref{theo:nec-co-min} has the following condition: $\forall i \in \pwDom, \forall m, n \in [1,2]: k_m[i] = \glbKof{k_m} \implies k_n > \glbKof{k_n}$. We prove by cases.
%
%\begin{align*}
%&\textit{Case 1}: k_1[i] = \glbKof{k_1}\nonumber \\
%&k_2[i] \nleq \glbKof{k_2}&\textit{by construction} \\
%&\nexists c:\glbKof{k_2} = k_2[i] \addK c&\textit{by natural order} \\
%&\nexists c: \glbKof{k_1} \addK \glbKof{k_2} = k_1[i] \addK k_2[i] \addK c&\textit{by substition of values} \\
%&\glbKof{k_1} \addK \glbKof{k_2}\ngeq k_1[i] \addK k_2[i]&\textit{by natural order} \\
%&k_1[i] \addK k_2[i] > \glbKof{k_1} \addK \glbKof{k_2}&\textit{by equivalence}
%\end{align*}
%
%Case 2: $k_2[i] = \glbKof{k_2}$
%\newline The proof is analogous to the proof for Case 1.
%\newline\newline Case 3: $k_1[i] > \glbKof{k_1} \bigwedge k_2[i] > \glbKof{k_2}$
%
%
%\begin{align*}
%&k_1[i] \nleq \glbKof{k_1} \wedge k_2[i] \nleq \glbKof{k_2}&\textit{by construction} \\
%&\nexists c_1, c_2:\glbKof{k_1} = k_1[i] \addK c_1 \nonumber \\
%&~~\wedge \glbKof{k_2} = k_2[i] \addK c_2&\textit{by natural order} \\
%&\nexists c_1, c_2:\glbKof{k_1} \addK \glbKof{k_2} = k_1[i]\addK c_1 \nonumber \\
%&~~\addK k_2[i] \addK c_2&\textit{by substition of values} \\
%&\glbKof{k_1} \addK \glbKof{k_2} \ngeq k_1[i] \addK k_2[i]&\textit{by natural order} \\
%&k_1[i] \addK k_2[i] > \glbKof{k_1} \addK \glbKof{k_2}&\textit{by equivalence}
%\end{align*}
%
%$\pwMult$
%\setcounter{equation}{0}
%
%
%For the $\multK$ operator we further require $\glbKof{k_1}, \glbKof{k_2} \neq \zeroK$. This is due to the property that $\zeroK$ nullifies its corresponding $\multK$ operand, leading to a correct labeling even without co-occurring minima. In such a case, $\pwCertain$ and $\multK$ commute.
%\begin{Theorem}
%Given a TONI \kDom~semiring and two elements $k_1, k_2 \in \pwkDom$ such that $\pwNotHaveCoMinima{k_1}{k_2}~ \bigwedge~ \glbKof{k_1}, \glbKof{k_2} \neq \zeroK$. Then it holds that:
%\begin{align*}
%\pwCertain (k_1 \pwMult k_2) \neq \pwCertain (k_1)
%\multK \pwCertain (k_2)
%\end{align*}
%\end{Theorem}
%$Case 1: k_1[i] = \glbKof{k_1}$
%\begin{align*}
%&k_2[i] \nleq \glbKof{k_2}&\textit{by construction} \\
%&\nexists c: k_2[i] \addK c = \glbKof{k_2}&\textit{by natural order} \\
%&\nexists c: \glbKof{k_1} \multK \glbKof{k_2} = k_1[i]\multK \nonumber \\
%&~~ ( k_2[i]\addK c)&\textit{by substitution} \\
%&\glbKof{k_1} \multK \glbKof{k_2} \ngeq k_1[i] \multK k_2[i]&\textit{by natural order} \\
%&k_1[i] \multK k_2[i] > \glbKof{k_1} \multK \glbKof{k_2}&\textit{by equivalence}
%\end{align*}
%
%Case 2: $k_2[i] = \glbKof{k_2}$
%\newline The proof is analogous to the proof for Case 1.
%\newline\newline Case 3: $k_1[i] > \glbKof{k_1} \bigwedge k_2[i] > \glbKof{k_2}$
%
%\begin{align*}
%&k_1[i] \nleq \glbKof{k_1} \wedge k_2[i] \nleq \glbKof{k_2}&\textit{by construction}\\
%&\nexists c_1, c_2: k_1[i] \addK c_1 = \glbKof{k_1} \nonumber \\
%&~~\wedge k_2[i] \addK c_2 = \glbKof{k_2}&\textit{by natural order} \\
%&\nexists c_1, c_2:\glbKof{k_1} \multK \glbKof{k_2} = ( k_1[i] \addK c_1) \nonumber \\
%&~~\multK ( k_2[i] \addK c_2)&\textit{by substition of values} \\
%& \glbKof{k_1} \multK \glbKof{k_2} \ngeq k_1[i] \multK k_2[i]&\textit{by natural order} \\
%&k_1[i] \multK k_2[i] > \glbKof{k_1} \multK \glbKof{k_2}&\textit{by equivalence}
%\end{align*}
%}
%
%
%Building onto the above proofs we now prove the necessary condition of globally co-occurring minima to obtain a correct labeling for an arbitrary number of $\pwkDom$ vectors.
%\begin{Definition}[Globally Co-occurring Minima]
%For a given set of $n~\pwkDom$ vectors, we say that it has globally co-occurring minima
%, denoted $\pwHaveGlobalMinima{k_n}$, if and only if
%$$\forall j \in n,~ \exists i \in W : k_j[i] = \glbKof{k_j}$$
%\end{Definition}
%\begin{Theorem}
%Given a TONI \kDom~semiring and $n$ elements $k_1, \ldots, k_n \in \pwkDom$ such that $\pwNotHaveGlobalMinima{k_n}$. Then it holds that:
%\begin{align*}
%\pwCertain (k_1 \pwAdd \ldots \pwAdd k_n) \neq \pwCertain (k_1)
%\addK \ldots \addK \pwCertain (k_n) \\
%\end{align*}
%\end{Theorem}
%\proof{
%We prove that if $\forall i \in \pwDom, \exists g, h \in n: ~ g \neq h \bigwedge \pwNotHaveCoMinima{k_g}{k_h}$, we will not have a correct labeling.\newline\newline
%
%$\pwAdd$
%\setcounter{equation}{0}
%For each $i \in \pwDom$:
%
%Case 1: $k_g[i] = \glbKof{k_g}$
%
%\AH{In step 3, note that positive sets are defined later on in this paper.}
%\begin{align*}
%&k_h[i] \nleq \glbKof{k_h}&\textit{by construction}\\
%&\nexists c : \glbKof{k_h} = k_h[i]\addK c &\textit{by natural order}\\
%&\nexists c :\glbKof{k_g} \addK \glbKof{k_h} = k_g[i] \addK k_h[i] \addK c&\textit{by natural order of pos. sets}\\
%&\glbKof{k_g} \addK \glbKof{k_h} \ngeq k_g[i] \addK k_h[i]&\textit{by natural order}\\
%&\glbKof{k_g} \addK \glbKof{k_h} \addK \sum_{f: f \in n \wedge f \neq g, h}\glbKof{k_f} \ngeq \nonumber \\
%&~~~~~k_g[i] \addK k_h[i] \addK \sum_{f: f \in n\wedge f \neq g, h}k_f[i] \\
%&~~~~~~~\textit{by def of glb, nat order of pos. sets}\nonumber \\
%&\sum_{f: f \in n}\glbKof{k_f} \ngeq \sum_{f: f\in n}k_f[i]&\textit{by equivalence}\\
%&\sum_{f: f\in n}k_f[i] > \sum_{f: f \in n}\glbKof{k_f}&\textit{by equivalence}
%\end{align*}
%
%Case 2: $k_g[i] > \glbKof{k_g}$
%
%\begin{align*}
%&\glbKof{k_g} \ngeq k_g[i]&\textit{by construction}\\
%&\nexists c: \glbKof{k_g} = k_g[i] \addK ~c&\textit{by natural order}\\
%&\nexists c: \glbKof{k_g} \addK \glbKof{k_h} = k_g[i] \addK ~c \addK k_h[i]&\textit{by nat order of pos sets}\\
%&\glbKof{k_g} \addK \glbKof{k_h} \ngeq k_g[i] \addK k_h[i]&\textit{by natural order}\\
%&\glbKof{k_g} \addK \glbKof{k_h} \addK \sum_{f: f \in n \wedge f \neq g, h}\glbKof{k_n} \ngeq \nonumber \\
%&~~~~~k_g[i] \addK k_h[i] \addK \sum_{f: f \in n \wedge f \neq g, h}k_n[i] &\textit{by nat order of pos sets}\\
%&\sum_{f: f \in n}\glbKof{k_f} \ngeq \sum_{f:f \in n}k_n[i]&\textit{by equivalence}\\
%&\sum_{f: f \in n}k_n[i] > \sum_{f: f \in n}\glbKof{k_n}&\textit{by equivalence}
%\end{align*}
%\AH{Why do we include this case? I argue that by definition of GLB such a case (case 3) can never exists.}
%Case 3: $k_g[i] < \glbKof{k_g}$
%\begin{align*}
%&\forall i \in \pwDom \glbKof{k_g} \leq k_g[i]&\textit{by def of glb}\\
%&\forall i \in \pwDom k_g[i] \geq \glbKof{k_g}&\textit{by step 1}\\
%&k_g[i] \geq \glbKof{k_g}&\textit{by step 1, 2}
%\end{align*}
%
%%%%%%%%%%%%%%%%%%%%%%%%
%% \otimes
%%%%%%%%%%%%%%%%%%%%%%%%
%$\pwMult$
%\setcounter{equation}{0}
%\newline\newline For each $i \in \pwDom$:
%\newline\newline Case 1: $k_g[i] = \glbKof{k_g}$
%
%\begin{align*}
%&\glbKof{k_h} \ngeq k_h[i] \\
%&\textit{by construction} \nonumber \\
%&\nexists c: \glbKof{k_h} = k_h[i] \addK c \\
%&\textit{by natural order} \nonumber\\
%&\nexists c: \glbKof{k_g} \multK \glbKof{k_h} = k_g[i] \multK (k_h[i] \addK c) \\
%&\textit{by natural order of positive sets} \nonumber \\
%&\glbKof{k_g} \multK \glbKof{k_h} \ngeq k_g[i] \multK k_h[i] \\
%&\textit{by natural order} \nonumber \\
%&\glbKof{k_g} \multK \glbKof{k_h} \multK \prod_{f: f \in n \wedge f \neq g}\glbKof{k_f} \ngeq \nonumber \\
%&~~~~~k_g[i] \multK k_h[i] \multK \prod_{f: f \in n \wedge f \neq g}k_f[i] \\
%&\textit{by equation equivalence} \nonumber \\
%&\prod_{f: f \in n}\glbKof{k_f} \ngeq \prod_{f: f \in n} k_f[i] \\
%&\textit{by equivalence} \nonumber \\
%&\prod_{f: f \in n}k_f[i] > \prod_{f: f \in n}\glbKof{k_f} \\
%&\textit{by equivalence} \nonumber
%\end{align*}
%Case 2: $k_g[i] > \glbKof{k_g}$
%
%\begin{align*}
%&\glbKof{k_g} \ngeq k_g[i] \\
%&\textit{by consturction} \nonumber \\
%&\nexists c: \glbKof{k_g} = k_g[i] \addK c \\
%&\textit{by natural order} \nonumber \\
%&\nexists c: \glbKof{k_g} \multK \glbKof{k_h} = (k_g[i] \addK c) \multK k_h[i] \\
%&\textit{by equational equivalence} \nonumber \\
%&\glbKof{k_g} \multK \glbKof{k_h} \ngeq k_g[i] \multK k_h[i] \\
%&\textit{by equivalence} \nonumber \\
%&\glbKof{k_g} \multK \glbKof{k_h} \multK \prod_{f: f \in n \wedge f \neq g}\glbKof{k_f} \ngeq \nonumber \\
%&~~~~~k_g[i] \multK k_h[i] \multK \prod_{f: f \in n \wedge f \neq g}k_f[i] \\
%&\textit{by equation equivalence} \nonumber \\
%&\prod_{f: f \in n}\glbKof{k_f} \ngeq \prod_{f: f \in n} k_f[i] \\
%&\textit{by equivalence} \nonumber \\
%&\prod_{f: f \in n}k_f[i] > \prod_{f: f \in n}\glbKof{k_f} \\
%&\textit{by equivalence} \nonumber
%\end{align*}
%Case 3: $k_g[i] < \glbKof{k_g}$
%\newline The proof is the same as for $\addK$
%
%}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Sufficiency Proof for \multK
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%\proof{
%\begin{Lemma}\label{lem:mult-less-than}
%For any $\kDom$ elements, $k_1, k_2, k_3, k_4$ fulfilling the conditions $k_1 \leq k_2, k_3 \leq k_4$ we have:
%$$k_1 \multK k_3 \leq k_2 \multK k_4$$
%\proof{
%\setcounter{equation}{0}
%\begin{align*}
%&\exists c_1: k_2 = k_1 \addK c_1 \\
%&\textit{by natural order} \nonumber\\
%&\exists c_2: k_4 = k_3 \addK c_2 \\
%&\textit{by natural order} \nonumber \\
%&k_1 \multK k_3 \leq k_2 \multK k_4 = (k_1 \addK c_1) \multK (k_3 \addK c_2) \nonumber \\
%&~~~~ = (k_1 \multK k_3) \addK (k_1 \multK c_2) \addK (k_2 \multK c_1) \addK (c_1 \multK c_2) \\
%&\textit{by additional terms on the right hand side} \nonumber
%\end{align*}
%}
%\end{Lemma}
%\begin{Theorem}
%Given a TONI \kDom~semiring and $n$ elements $k_1, \ldots, k_n \in \pwkDom$ such that $\pwHaveGlobalMinima{k_n}$ OR $\exists j \in n: \glbKof{k_j} = 0$, it then holds that:
%\begin{align*}
%\pwCertain (k_1 \pwMult \ldots \pwMult k_n) = \pwCertain (k_1)
%\multK \ldots \multK \pwCertain (k_n) \\
%\end{align*}
%\end{Theorem}
%Case 1: $\exists i \in \pwDom: \forall j \in n: k_j[i] = \glbKof{k_j}$
%\setcounter{equation}{0}
%\begin{align*}
%&\forall g \in \pwDom, j \in n: k_j[i] \leq k_j[g] \\
%&\textit{by definition of glb} \nonumber \\
%&\forall g \in \pwDom: \prod_{j \in n}k_j[i] \leq \prod_{j \in n}k_j[g] \\
%&\textit{by Lemma ~\ref{lem:mult-less-than}} \nonumber
%\end{align*}
%
%Case 2: $\exists j \in n: \glbKof{k_j} = \zeroK$
%\begin{align*}
%&\forall i \in \kDom: 0 \multK i = \zeroK \\
%&\textit{by multiplication by zero} \nonumber \\
%&\exists i \in \pwDom: k_j[i] = \glbKof{k_j} = \zeroK \\
%&\textit{by definition of $\pwkDom$} \nonumber \\
%&\prod_{j \in n} k_j[i] = \prod_{j \in n} \glbKof{k_j} = \zeroK \\
%&\textit{by $\multK$ of $\zeroK$} \nonumber
%\end{align*}
%}