704.31/299.40 MAYBE 704.31/299.40 704.31/299.40 Problem: 704.31/299.40 strict: 704.31/299.40 minus(x,0()) -> x 704.31/299.40 minus(s(x),s(y)) -> minus(x,y) 704.31/299.40 quot(0(),s(y)) -> 0() 704.31/299.40 quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) 704.31/299.40 le(0(),y) -> true() 704.31/299.40 le(s(x),0()) -> false() 704.31/299.40 le(s(x),s(y)) -> le(x,y) 704.31/299.40 app(nil(),y) -> y 704.31/299.40 app(add(n,x),y) -> add(n,app(x,y)) 704.31/299.40 low(n,nil()) -> nil() 704.31/299.40 low(n,add(m,x)) -> if_low(le(m,n),n,add(m,x)) 704.31/299.40 if_low(true(),n,add(m,x)) -> add(m,low(n,x)) 704.31/299.40 if_low(false(),n,add(m,x)) -> low(n,x) 704.31/299.40 high(n,nil()) -> nil() 704.31/299.40 high(n,add(m,x)) -> if_high(le(m,n),n,add(m,x)) 704.31/299.40 if_high(true(),n,add(m,x)) -> high(n,x) 704.31/299.40 if_high(false(),n,add(m,x)) -> add(m,high(n,x)) 704.31/299.40 quicksort(nil()) -> nil() 704.31/299.40 quicksort(add(n,x)) -> app(quicksort(low(n,x)),add(n,quicksort(high(n,x)))) 704.31/299.40 weak: 704.31/299.40 rand(x) -> x 704.31/299.40 rand(x) -> rand(s(x)) 704.31/299.40 704.31/299.40 Proof: 704.31/299.40 Open 704.31/299.40 EOF