MAYBE 0.07/0.19 MAYBE 0.07/0.19 0.07/0.19 Problem: 0.07/0.19 gcd(x,y) -> gcd2(x,y,0()) 0.07/0.19 gcd2(x,y,i) -> if1(le(x,0()),le(y,0()),le(x,y),le(y,x),x,y,inc(i)) 0.07/0.19 if1(true(),b1,b2,b3,x,y,i) -> pair(result(y),neededIterations(i)) 0.07/0.19 if1(false(),b1,b2,b3,x,y,i) -> if2(b1,b2,b3,x,y,i) 0.07/0.19 if2(true(),b2,b3,x,y,i) -> pair(result(x),neededIterations(i)) 0.07/0.19 if2(false(),b2,b3,x,y,i) -> if3(b2,b3,x,y,i) 0.07/0.19 if3(false(),b3,x,y,i) -> gcd2(minus(x,y),y,i) 0.07/0.19 if3(true(),b3,x,y,i) -> if4(b3,x,y,i) 0.07/0.19 if4(false(),x,y,i) -> gcd2(x,minus(y,x),i) 0.07/0.19 if4(true(),x,y,i) -> pair(result(x),neededIterations(i)) 0.07/0.19 inc(0()) -> 0() 0.07/0.19 inc(s(i)) -> s(inc(i)) 0.07/0.19 le(s(x),0()) -> false() 0.07/0.19 le(0(),y) -> true() 0.07/0.19 le(s(x),s(y)) -> le(x,y) 0.07/0.19 minus(x,0()) -> x 0.07/0.19 minus(0(),y) -> 0() 0.07/0.19 minus(s(x),s(y)) -> minus(x,y) 0.07/0.19 a() -> b() 0.07/0.19 a() -> c() 0.07/0.19 0.07/0.19 Proof: 0.07/0.19 Open 0.07/0.19 EOF