1 | 1. the_graph: Graph 2. the_obj: GraphObject(the_graph) 3. M: traversal(the_graph)   4. i:Vertices(the_graph), s:traversal(the_graph). M([inl(i) / s]) M(s) 5. i:Vertices(the_graph), s:traversal(the_graph).
member-paren(x,y.the_obj.eq(x,y);i;s)  M([inr(i) / s]) < M(s) d: , s:traversal(the_graph), i:Vertices(the_graph). M(s) d  dfs(the_obj;s;i) {s':traversal(the_graph)| M(s') d } | 9 steps |
2 | 1. the_graph: Graph 2. the_obj: GraphObject(the_graph) 3. M: traversal(the_graph)   4. i:Vertices(the_graph), s:traversal(the_graph). M([inl(i) / s]) M(s) 5. i:Vertices(the_graph), s:traversal(the_graph).
member-paren(x,y.the_obj.eq(x,y);i;s)  M([inr(i) / s]) < M(s) 6. d: , s:traversal(the_graph), i:Vertices(the_graph).
M(s) d  dfs(the_obj;s;i) {s':traversal(the_graph)| M(s') d } s:traversal(the_graph), i:Vertices(the_graph). dfs(the_obj;s;i) traversal(the_graph) | 1 step |