MAYBE Problem: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) if_quot(true(),x,y) -> s(quot(minus(x,y),y)) if_quot(false(),x,y) -> 0() Proof: DP Processor: DPs: minus#(s(x),s(y)) -> minus#(x,y) le#(s(x),s(y)) -> le#(x,y) quot#(x,s(y)) -> le#(s(y),x) quot#(x,s(y)) -> if_quot#(le(s(y),x),x,s(y)) if_quot#(true(),x,y) -> minus#(x,y) if_quot#(true(),x,y) -> quot#(minus(x,y),y) TRS: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) if_quot(true(),x,y) -> s(quot(minus(x,y),y)) if_quot(false(),x,y) -> 0() Usable Rule Processor: DPs: minus#(s(x),s(y)) -> minus#(x,y) le#(s(x),s(y)) -> le#(x,y) quot#(x,s(y)) -> le#(s(y),x) quot#(x,s(y)) -> if_quot#(le(s(y),x),x,s(y)) if_quot#(true(),x,y) -> minus#(x,y) if_quot#(true(),x,y) -> quot#(minus(x,y),y) TRS: f12(x,y) -> x f12(x,y) -> y le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) le(0(),y) -> true() minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) EDG Processor: DPs: minus#(s(x),s(y)) -> minus#(x,y) le#(s(x),s(y)) -> le#(x,y) quot#(x,s(y)) -> le#(s(y),x) quot#(x,s(y)) -> if_quot#(le(s(y),x),x,s(y)) if_quot#(true(),x,y) -> minus#(x,y) if_quot#(true(),x,y) -> quot#(minus(x,y),y) TRS: f12(x,y) -> x f12(x,y) -> y le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) le(0(),y) -> true() minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) graph: if_quot#(true(),x,y) -> quot#(minus(x,y),y) -> quot#(x,s(y)) -> le#(s(y),x) if_quot#(true(),x,y) -> quot#(minus(x,y),y) -> quot#(x,s(y)) -> if_quot#(le(s(y),x),x,s(y)) if_quot#(true(),x,y) -> minus#(x,y) -> minus#(s(x),s(y)) -> minus#(x,y) quot#(x,s(y)) -> if_quot#(le(s(y),x),x,s(y)) -> if_quot#(true(),x,y) -> minus#(x,y) quot#(x,s(y)) -> if_quot#(le(s(y),x),x,s(y)) -> if_quot#(true(),x,y) -> quot#(minus(x,y),y) quot#(x,s(y)) -> le#(s(y),x) -> le#(s(x),s(y)) -> le#(x,y) le#(s(x),s(y)) -> le#(x,y) -> le#(s(x),s(y)) -> le#(x,y) minus#(s(x),s(y)) -> minus#(x,y) -> minus#(s(x),s(y)) -> minus#(x,y) Restore Modifier: DPs: minus#(s(x),s(y)) -> minus#(x,y) le#(s(x),s(y)) -> le#(x,y) quot#(x,s(y)) -> le#(s(y),x) quot#(x,s(y)) -> if_quot#(le(s(y),x),x,s(y)) if_quot#(true(),x,y) -> minus#(x,y) if_quot#(true(),x,y) -> quot#(minus(x,y),y) TRS: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) if_quot(true(),x,y) -> s(quot(minus(x,y),y)) if_quot(false(),x,y) -> 0() SCC Processor: #sccs: 3 #rules: 4 #arcs: 8/36 DPs: if_quot#(true(),x,y) -> quot#(minus(x,y),y) quot#(x,s(y)) -> if_quot#(le(s(y),x),x,s(y)) TRS: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) if_quot(true(),x,y) -> s(quot(minus(x,y),y)) if_quot(false(),x,y) -> 0() Open DPs: le#(s(x),s(y)) -> le#(x,y) TRS: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) if_quot(true(),x,y) -> s(quot(minus(x,y),y)) if_quot(false(),x,y) -> 0() Open DPs: minus#(s(x),s(y)) -> minus#(x,y) TRS: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) quot(x,s(y)) -> if_quot(le(s(y),x),x,s(y)) if_quot(true(),x,y) -> s(quot(minus(x,y),y)) if_quot(false(),x,y) -> 0() Open