From 328470afeed3ec8fd8b1c398ece5a08fcc6a7ecd Mon Sep 17 00:00:00 2001
From: Filip Stedronsky <p@regnarg.cz>
Date: Wed, 1 Sep 2021 23:56:32 +0200
Subject: [PATCH] Succinct: progress

---
 fs-succinct/mixer.asy    |  2 +-
 fs-succinct/succinct.tex | 42 +++++++++++++++++++++++++++++++---------
 2 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/fs-succinct/mixer.asy b/fs-succinct/mixer.asy
index 2b1ac4a..d801fba 100644
--- a/fs-succinct/mixer.asy
+++ b/fs-succinct/mixer.asy
@@ -12,4 +12,4 @@ label((0, dist), "\vbox{\hbox{$x\in[X]$}\hbox{\eightrm (input)}}", N);
 label((-dist, 0), "\vbox{\hbox{$y\in[Y]$}\hbox{\eightrm (carry in)}}", W);
 label((dist, 0), "\vbox{\hbox{$s\in[S]$}\hbox{\eightrm (carry out)}}", E);
 label((0, -dist), "\vbox{\hbox{$m\in[2^M]$}\hbox{\eightrm (output)}}", S);
-label((0, 0), "$t\in [T]$");
+label((0, 0), "$c\in [C]$");
diff --git a/fs-succinct/succinct.tex b/fs-succinct/succinct.tex
index 28fcda5..91c016e 100644
--- a/fs-succinct/succinct.tex
+++ b/fs-succinct/succinct.tex
@@ -153,7 +153,7 @@ into a pair from alphabets $[C]$ and $[D]$ as long as $C\cdot D
 \ge A \cdot B$ (we need an output universe large enough to hold all
 possible input combinations).
 
-We will use this kind of alphabet re-encoding by pair heavily in the SOLE
+We will use this kind of alphabet re-encoding by pairs heavily in the SOLE
 encoding. The best way to explain the exact scheme is with a diagram (fig. \figref{sole}).
 
 \figure[sole]{sole.pdf}{}{SOLE alphabet re-encoding scheme}
@@ -236,30 +236,54 @@ into the output. The final carry is then used to output some extra blocks at the
 \figure[mixer]{mixer.pdf}{}{General structure of a mixer}
 
 At a high level, a mixer can be thought of as a mapping $f: [X]\times[Y] \rightarrow [2^M]\times[S]$
-with the property that when $(m,s) = f(x,y)$, $s$ depends only on $x$.
+with the property that when $(m,s) = f(x,y)$, $s$ depends only on $x$. This is the key property
+that allows local decoding and modification because carry does not cascade.
 
 Internally, the a mixer is
-always implemented as a composition of two mappings, $f_1$ that transforms $x \rightarrow (t,s)$ and $f2$
-that transforms $(y,t) \rightarrow m$. See fig. \figref{mixer}. Both $f_1$ and $f_2$ must be injective
+always implemented as a composition of two mappings, $f_1$ that transforms $x \rightarrow (c,s)$ and $f2$
+that transforms $(y,c) \rightarrow m$. See fig. \figref{mixer}. Both $f_1$ and $f_2$ must be injective
 so that the encoding is reversible.
 
 The mappings $f_1$ and $f_2$ themselves are trivial alphabet translations similar to what we
 used in the SOLE encoding. You can for example use $f_1(x) = (\lceil x/S \rceil, x \bmod S)$
-and $f_2(y,t) = t\cdot Y + y$.
+and $f_2(y,c) = c\cdot Y + y$.
 
 Thus implementing the mixer is simple as long as the parameters allow its existence. A mixer
-with parameters $X$, $Y$, $S$, $M$ can exist if and only if there exists $T$ such that
-$S\cdot T \le X$ and $2^M \le T\cdot Y$ (once again, the alphabet translations need their
+with parameters $X$, $Y$, $S$, $M$ can exist if and only if there exists $C$ such that
+$S\cdot C \ge X$ and $C\cdot Y \le 2^M$ (once again, the alphabet translations need their
 range to be as large as their domain in order to work).
 
+\lemma{
+A mixer $f$ has the following properties (as long as all inputs and outputs fit into a constant
+number of words):
+\tightlist{o}
+\: $f$ can be computed on a RAM in constant time
+\: $s$ depends only on $x$, not $y$
+\: $x$ can be decoded given $m$, $s$ in constant time
+\: $y$ can be decoded given $m$ in constant time
+\endlist
+}
+All these properties should be evident from the construction.
+
+\defn{The redundancy of a mixer is $$r(f) := \underbrace{M + \log S}_{\hbox{output entropy}}  - \quad \underbrace{(\log X + \log Y)}_{\hbox{input entropy}}.$$}
+
 \subsection{On the existence of certain kinds of mixers}
 
 Now we would like to show that mixers with certain parameters do exist.
 
-\lemma{For $X,Y \le 2^w$ there exists a mixer $f: [X]\times[Y] \rightarrow [2^M]\times[S]$ such that:
+\lemma{For $X,Y$ there exists a mixer $f: [X]\times[Y] \rightarrow [2^M]\times[S]$
+such that:
 \tightlist{o}
-\: $S = \O(\sqrt{X})$
+\: $S = \O(\sqrt{X})$, $2^M = \O(Y\cdot\sqrt{X})$
+\: $r(f) = \O(1/\sqrt{X})$
 \endlist
 }
+\proof{
+First, let's assume we have chosen an $M$ (which we shall do later). Then we
+want to set $C$ so that it satisfies the inequality $C \cdot Y \le 2^M$. Basically
+we are asking the question how much information can we fit in $m$ in addition to
+the whole of $y$. Clearly we want $C$ to be as high as possibly, thus we set
+$C := \lfloor 2^M / Y \rfloor$.
+}
 
 \endchapter
-- 
GitLab