MAYBE 0.08/0.19 MAYBE 0.08/0.19 0.08/0.19 Problem: 0.08/0.19 eq(0(),0()) -> true() 0.08/0.19 eq(0(),s(x)) -> false() 0.08/0.19 eq(s(x),0()) -> false() 0.08/0.19 eq(s(x),s(y)) -> eq(x,y) 0.08/0.19 or(true(),y) -> true() 0.08/0.19 or(false(),y) -> y 0.08/0.19 and(true(),y) -> y 0.08/0.19 and(false(),y) -> false() 0.08/0.19 size(empty()) -> 0() 0.08/0.19 size(edge(x,y,i)) -> s(size(i)) 0.08/0.19 le(0(),y) -> true() 0.08/0.19 le(s(x),0()) -> false() 0.08/0.19 le(s(x),s(y)) -> le(x,y) 0.08/0.19 reachable(x,y,i) -> reach(x,y,0(),i,i) 0.08/0.19 reach(x,y,c,i,j) -> if1(eq(x,y),x,y,c,i,j) 0.08/0.19 if1(true(),x,y,c,i,j) -> true() 0.08/0.19 if1(false(),x,y,c,i,j) -> if2(le(c,size(j)),x,y,c,i,j) 0.08/0.19 if2(false(),x,y,c,i,j) -> false() 0.08/0.19 if2(true(),x,y,c,empty(),j) -> false() 0.08/0.19 if2(true(),x,y,c,edge(u,v,i),j) -> or(if2(true(),x,y,c,i,j),and(eq(x,u),reach(v,y,s(c),j,j))) 0.08/0.19 0.08/0.19 Proof: 0.08/0.19 Open 0.08/0.19 EOF