$$\newcommand{ur}{\hspace{2pt} \nearrow \hspace{2pt}}
\newcommand{ul}{\hspace{2pt} \nwarrow \hspace{2pt}}
\newcommand{dl}{\hspace{2pt} \swarrow \hspace{2pt}}
\newcommand{ll}{\hspace{2pt}_ \longleftarrow \hspace{2pt}}
\newcommand{dr}{\hspace{2pt} \searrow \hspace{2pt}}
\newcommand{rr}{\hspace{2pt}_ \longrightarrow \hspace{2pt}}
$$
That's interesting, but don't you need to keep track of the logic of the flow of definitions? Which symbols you know and which are being defined?
One thing I'd have liked better than the triangle with a hole is a binary operator based on the triangle. With their triangle in mind (base bottom left, exponent bottom right, and result on top), if you introduce 6 symbols that point from the value you start with (on the left) to the value you want, then you get something less weird looking:
$$ x \ur y = y \ul x = x^y\\
x \dl y = y \ll x = \sqrt[y]{x} \\
x \dr y = y \rr x = \mathtt{log}_x(y) \\
$$
You can just remember the three on the left. You can get the ones in the middle by switching x & y and switching to the other symbol pointing at the same vertex.
Then right inverses are obtained by the same starting point and going back (reversing the arrow):
$$ (x \ur y) \dl y = (x \dr y) \ul y = (x \ll y) \rr y = x \\
(x \ul y) \dr y = (x \dl y) \ur y = (x \rr y) \ll y = x $$
Left inverses are obtained continuing around the triangle from the same starting point (technically, to get the left inverse you have to back up around the triangle, but you write them down going forward left to right):
$$
y \ur (x \dr y) = y \dr (x \ll y) = y \ll (x \ur y) = x \\
y \ul (x \dl y) = y \dl (x \rr y) = y \rr (x \ul y) = x
$$