700.49/299.39 MAYBE 700.49/299.39 700.49/299.39 Problem: 700.49/299.39 strict: 700.49/299.39 +(0(),y) -> y 700.49/299.39 +(s(x),y) -> s(+(x,y)) 700.49/299.39 sum1(nil()) -> 0() 700.49/299.39 sum1(cons(x,y)) -> +(x,sum1(y)) 700.49/299.39 sum2(nil(),z) -> z 700.49/299.39 sum2(cons(x,y),z) -> sum2(y,+(x,z)) 700.49/299.39 tests(0()) -> true() 700.49/299.39 tests(s(x)) -> and(test(rands(rand(0()),nil())),x) 700.49/299.39 test(done(y)) -> eq(f(y),g(y)) 700.49/299.39 eq(x,x) -> true() 700.49/299.39 rands(0(),y) -> done(y) 700.49/299.39 rands(s(x),y) -> rands(x,::(rand(0()),y)) 700.49/299.39 weak: 700.49/299.39 rand(x) -> x 700.49/299.39 rand(x) -> rand(s(x)) 700.49/299.39 700.49/299.39 Proof: 700.49/299.39 Open 700.49/299.39 EOF