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\\).