Oh sure, I was getting carried away with programming pictures of relations to make this very proof...

If we look at random functions into \$$\lbrace \text{true} \rbrace\$$, we see that everything maps to the same place,

therefor \$$u(t) = \lbrace \text{true} \rbrace, \text{ for all, } t \text{ in } T\$$.

We can then easily fill in the \$$u\$$ part in the table,
\$\begin{array}{c|ccc} T & u & i & \chi \circ i = \ulcorner \text{true}\urcorner \circ u \\\\ \hline a & \lbrace \text{true} \rbrace & ? & ? \\\\ b & \lbrace \text{true} \rbrace & ? & ? \\\\ c & \lbrace \text{true} \rbrace & ? & ? \\\\ d & \lbrace \text{true} \rbrace & ? & ? \\\\ e & \lbrace \text{true} \rbrace & ? & ? \\\\ \vdots & \vdots & \vdots & \vdots \\\\ \end{array} \$

Next, note that the function \$$\ulcorner \text{true}\urcorner \$$ picks out \$$\lbrace \text{true} \rbrace \$$ in \$$\lbrace \text{false, true} \rbrace \$$,

so \$$(\ulcorner \text{true}\urcorner \circ u)(t) = \lbrace \text{true} \rbrace, \text{ for all, } t \text{ in } T\$$, and we can easily fill out the table again,

\$\begin{array}{c|ccc} T & u & i & \chi \circ i = \ulcorner \text{true}\urcorner \circ u \\\\ \hline a & \lbrace \text{true} \rbrace & ? & \lbrace \text{true} \rbrace \\\\ b & \lbrace \text{true} \rbrace & ? & \lbrace \text{true} \rbrace \\\\ c & \lbrace \text{true} \rbrace & ? & \lbrace \text{true} \rbrace \\\\ d & \lbrace \text{true} \rbrace & ? & \lbrace \text{true} \rbrace \\\\ e & \lbrace \text{true} \rbrace & ? & \lbrace \text{true} \rbrace \\\\ \vdots & \vdots & \vdots & \vdots \\\\ \end{array} \$

Now, we turn our attention to \$$S\$$.

Given that \$$\chi\$$ can only send elements of \$$S\$$ to either \$$\lbrace \text{false} \rbrace \$$ or \$$\lbrace \text{true} \rbrace \$$, we see that randomly given functions look like,

that is to say, \$$\chi\$$ partitions \$$S\$$ into two sets, this gives tables of the form,

\begin{array}{c|c}
S & \chi \\\\
\hline
s & \lbrace \text{true} \rbrace \\\\
t & \lbrace \text{false} \rbrace \\\\
u & \lbrace \text{true} \rbrace \\\\
v & \lbrace \text{false} \rbrace \\\\
w & \lbrace \text{true} \rbrace \\\\
x & \lbrace \text{false} \rbrace \\\\
y & \lbrace \text{false} \rbrace \\\\
z & \lbrace \text{false} \rbrace \\\\
\vdots & \vdots \\\\
\end{array}

Now, if we have a given \$$\chi\$$, we can create an arbitary injection \$$i\$$, by mapping \$$t \text{ in } T\$$ to some \$$s \text{ in } S\$$ that maps to \$$\lbrace \text{true} \rbrace\$$, because we have the constraint \$$\chi \circ i = \ulcorner \text{true}\urcorner \circ u\$$.

Since I haven't produced a program that can compose functions (yet), this leaves an excellent,

*Exercise:* graphically find an injection \$$i\$$,

such that \$$\chi \circ i = \ulcorner \text{true}\urcorner \circ u\$$.

Likewise, we can get a \$$\chi\$$ from a random injection \$$i\$$.

*Exercise:* graphically find a surjection \$$\chi\$$,

such that \$$\chi \circ i = \ulcorner \text{true}\urcorner \circ u\$$.