The definition of "Single Connected" is that for every $u,v \in V$ there is at most a single simple path from $u$ to $v$, and at most a single simple path from $v$ to $u$.
The objective is to find an efficient algorithm to decide whether the graph is "single connected".
I've managed to come up with the following algorithm:
for all v in V:
Perform DFS(v)
for all e in E, check if:
there is a forward edge
there is a cross edge
if there is a forward edge/cross edge, we have found another simple path between $u$ and $v$, therefor the graph is not single connected.
This algorithm runs in $O(|V| \cdot (|V|+|E|))$ which is okay, but according to a colleague, this is solveable in linear time.
The most I've been able to think of is using tarjan's algorithm to reduce the graph to a DAG , however I am unsure on how to proceed from there.
I've also managed to find this question:
yet it remains unanswered.