Use an edge that is not drawn (or a \path with --) and place a node on that edge/path that is sloped with the content \subseteq.
For comparison, I made the same diagram with tikz-cd.
To your original diagram I added the auto option to make the placement of nodes along the path easier which needs to be disabled again for our special node.
If you want to avoid writing that lengthy
(m-2-2) edge[draw=none]
node [sloped, auto=false,
allow upside down] {$\subseteq$} (m-1-2);
you can use a special style that can do this. For tikz-cd a slightly different style can be defined too. See the second code example for this.
Code 1
\documentclass[class=amsart,10pt,tikz]{standalone}
\usepackage{tikz,tikz-cd}
\usetikzlibrary{matrix, arrows}
\DeclareMathOperator{\im}{Im}
\begin{document}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes,row sep=3em,column sep=4em,minimum width=2em] {
G & H \\
G/\ker \varphi & \im \varphi \\
};
\path[-stealth, auto] (m-1-1) edge node[swap] {$q$} (m-2-1)
edge node {$\varphi$} (m-1-2)
edge node {$\hat{\varphi}$} (m-2-2)
(m-2-1) edge node[swap] {$\overline{\varphi}$} (m-2-2)
(m-2-2) edge[draw=none]
node [sloped, auto=false,
allow upside down] {$\subseteq$} (m-1-2);
\end{tikzpicture}
\begin{tikzcd}
G \rar{\varphi} \dar[swap]{q}\drar{\hat\varphi}
& H \\
G/\ker\varphi \rar[swap]{\overline\varphi}
& \im \varphi \arrow[draw=none]{u}[sloped,auto=false]{\subseteq}
\end{tikzcd}
\end{document}
Code 2
\documentclass[class=amsart,10pt,tikz]{standalone}
\usepackage{tikz,tikz-cd}
\usetikzlibrary{matrix, arrows}
\DeclareMathOperator{\im}{Im}
\makeatletter
\tikzset{
edge node/.code={%
\expandafter\def\expandafter\tikz@tonodes\expandafter{\tikz@tonodes #1}}}
\makeatother
\tikzset{
subseteq/.style={
draw=none,
edge node={node [sloped, allow upside down, auto=false]{$\subseteq$}}},
Subseteq/.style={
draw=none,
every to/.append style={
edge node={node [sloped, allow upside down, auto=false]{$\subseteq$}}}
}
}
\begin{document}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes,row sep=3em,column sep=4em,minimum width=2em]{
G & H \\
G/\ker \varphi & \im \varphi \\
};
\path[-stealth, auto] (m-1-1) edge node[swap] {$q$} (m-2-1)
edge node {$\varphi$} (m-1-2)
edge node {$\hat{\varphi}$} (m-2-2)
(m-2-1) edge node[swap] {$\overline{\varphi}$} (m-2-2)
(m-2-2) edge[subseteq] (m-1-2);
\end{tikzpicture}
\begin{tikzcd}
G \rar{\varphi} \dar[swap]{q}\drar{\hat\varphi}
& H \\
G/\ker\varphi \rar[swap]{\overline\varphi}
& \im \varphi \arrow[Subseteq]{u}{}
\end{tikzcd}
\end{document}
Output

\imand\oldefined? Without that your example is not compilable. – Thorsten Donig Sep 07 '13 at 08:21(m-2-2) edge[draw=none] node [sloped] {$\subseteq$} (m-1-2)? By the way, do you knowtikz-cd/[tag:tikz-cd]? – Qrrbrbirlbel Sep 07 '13 at 15:59