At:
dfs induction
2
1.
the_graph: Graph
2.
the_obj: GraphObject(the_graph)
3.
P: Vertices(the_graph)
traversal(the_graph)
traversal(the_graph)
Prop
4.
s: traversal(the_graph)
5.
i: Vertices(the_graph)
6.
s1,s2:traversal(the_graph), i:Vertices(the_graph).
P(i,s1,s2) 
l_disjoint(Vertices(the_graph)+Vertices(the_graph);s2;s1)
7.
s1,s2:traversal(the_graph), i:Vertices(the_graph).
P(i,s1,s2) 
no_repeats(Vertices(the_graph)+Vertices(the_graph);s2)
8.
s:traversal(the_graph), i:Vertices(the_graph). member-paren(x,y.the_obj.eq(x,y);i;s) 
P(i,s,nil)
9.
s1,s2,s3:traversal(the_graph), i,j:Vertices(the_graph).
i-the_graph- > j 
P(j,s1,s2) 
P(i,s2 @ s1,s3) 
P(i,s1,s3 @ s2)
10.
s1,s2:traversal(the_graph), i:Vertices(the_graph).
member-paren(x,y.the_obj.eq(x,y);i;s1)

P(i,[inr(i) / s1],s2) 
P(i,s1,[inl(i) / (s2 @ [inr(i)])])
11.
M: traversal(the_graph)

12.
i:Vertices(the_graph), s:traversal(the_graph). M([inl(i) / s])
M(s)
13.
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)
14.
d:
, s:traversal(the_graph), i:Vertices(the_graph).
M(s)
d 
(
s':traversal(the_graph). M(s' @ s)
M(s) & P(i,s,s') & dfs(the_obj;s;i) = (s' @ s))
s':traversal(the_graph). P(i,s,s') & dfs(the_obj;s;i) = (s' @ s)
By:
InstHyp [M(s);s;i] -1
THEN
ParallelOp -1
Generated subgoals:
None
About: