dfs(X) :- goal(X). dfs(X) :- successor(X,S),dfs(S). goal(g). successor(s, a). successor(s, b). successor(a, b). successor(a, c). successor(b, c). successor(b, d). successor(c, d). successor(c, g).