MAYBE 0.08/0.17 MAYBE 0.08/0.17 0.08/0.17 Problem: 0.08/0.17 null(nil()) -> true() 0.08/0.17 null(add(n,x)) -> false() 0.08/0.17 tail(add(n,x)) -> x 0.08/0.17 tail(nil()) -> nil() 0.08/0.17 head(add(n,x)) -> n 0.08/0.17 app(nil(),y) -> y 0.08/0.17 app(add(n,x),y) -> add(n,app(x,y)) 0.08/0.17 reverse(nil()) -> nil() 0.08/0.17 reverse(add(n,x)) -> app(reverse(x),add(n,nil())) 0.08/0.17 shuffle(x) -> shuff(x,nil()) 0.08/0.17 shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil()))) 0.08/0.17 if(true(),x,y,z) -> y 0.08/0.17 if(false(),x,y,z) -> shuff(reverse(tail(x)),z) 0.08/0.17 0.08/0.17 Proof: 0.08/0.17 Open 0.08/0.18 EOF