MAYBE Problem: minus(0(),y) -> 0() minus(s(x),y) -> if(gt(s(x),y),x,y) if(true(),x,y) -> s(minus(x,y)) if(false(),x,y) -> 0() mod(x,0()) -> 0() mod(x,s(y)) -> if1(lt(x,s(y)),x,s(y)) if1(true(),x,y) -> x if1(false(),x,y) -> mod(minus(x,y),y) gt(0(),y) -> false() gt(s(x),0()) -> true() gt(s(x),s(y)) -> gt(x,y) lt(x,0()) -> false() lt(0(),s(x)) -> true() lt(s(x),s(y)) -> lt(x,y) Proof: DP Processor: DPs: minus#(s(x),y) -> gt#(s(x),y) minus#(s(x),y) -> if#(gt(s(x),y),x,y) if#(true(),x,y) -> minus#(x,y) mod#(x,s(y)) -> lt#(x,s(y)) mod#(x,s(y)) -> if1#(lt(x,s(y)),x,s(y)) if1#(false(),x,y) -> minus#(x,y) if1#(false(),x,y) -> mod#(minus(x,y),y) gt#(s(x),s(y)) -> gt#(x,y) lt#(s(x),s(y)) -> lt#(x,y) TRS: minus(0(),y) -> 0() minus(s(x),y) -> if(gt(s(x),y),x,y) if(true(),x,y) -> s(minus(x,y)) if(false(),x,y) -> 0() mod(x,0()) -> 0() mod(x,s(y)) -> if1(lt(x,s(y)),x,s(y)) if1(true(),x,y) -> x if1(false(),x,y) -> mod(minus(x,y),y) gt(0(),y) -> false() gt(s(x),0()) -> true() gt(s(x),s(y)) -> gt(x,y) lt(x,0()) -> false() lt(0(),s(x)) -> true() lt(s(x),s(y)) -> lt(x,y) TDG Processor: DPs: minus#(s(x),y) -> gt#(s(x),y) minus#(s(x),y) -> if#(gt(s(x),y),x,y) if#(true(),x,y) -> minus#(x,y) mod#(x,s(y)) -> lt#(x,s(y)) mod#(x,s(y)) -> if1#(lt(x,s(y)),x,s(y)) if1#(false(),x,y) -> minus#(x,y) if1#(false(),x,y) -> mod#(minus(x,y),y) gt#(s(x),s(y)) -> gt#(x,y) lt#(s(x),s(y)) -> lt#(x,y) TRS: minus(0(),y) -> 0() minus(s(x),y) -> if(gt(s(x),y),x,y) if(true(),x,y) -> s(minus(x,y)) if(false(),x,y) -> 0() mod(x,0()) -> 0() mod(x,s(y)) -> if1(lt(x,s(y)),x,s(y)) if1(true(),x,y) -> x if1(false(),x,y) -> mod(minus(x,y),y) gt(0(),y) -> false() gt(s(x),0()) -> true() gt(s(x),s(y)) -> gt(x,y) lt(x,0()) -> false() lt(0(),s(x)) -> true() lt(s(x),s(y)) -> lt(x,y) graph: if1#(false(),x,y) -> mod#(minus(x,y),y) -> mod#(x,s(y)) -> if1#(lt(x,s(y)),x,s(y)) if1#(false(),x,y) -> mod#(minus(x,y),y) -> mod#(x,s(y)) -> lt#(x,s(y)) if1#(false(),x,y) -> minus#(x,y) -> minus#(s(x),y) -> if#(gt(s(x),y),x,y) if1#(false(),x,y) -> minus#(x,y) -> minus#(s(x),y) -> gt#(s(x),y) lt#(s(x),s(y)) -> lt#(x,y) -> lt#(s(x),s(y)) -> lt#(x,y) mod#(x,s(y)) -> if1#(lt(x,s(y)),x,s(y)) -> if1#(false(),x,y) -> mod#(minus(x,y),y) mod#(x,s(y)) -> if1#(lt(x,s(y)),x,s(y)) -> if1#(false(),x,y) -> minus#(x,y) mod#(x,s(y)) -> lt#(x,s(y)) -> lt#(s(x),s(y)) -> lt#(x,y) if#(true(),x,y) -> minus#(x,y) -> minus#(s(x),y) -> if#(gt(s(x),y),x,y) if#(true(),x,y) -> minus#(x,y) -> minus#(s(x),y) -> gt#(s(x),y) gt#(s(x),s(y)) -> gt#(x,y) -> gt#(s(x),s(y)) -> gt#(x,y) minus#(s(x),y) -> if#(gt(s(x),y),x,y) -> if#(true(),x,y) -> minus#(x,y) minus#(s(x),y) -> gt#(s(x),y) -> gt#(s(x),s(y)) -> gt#(x,y) SCC Processor: #sccs: 4 #rules: 6 #arcs: 13/81 DPs: if1#(false(),x,y) -> mod#(minus(x,y),y) mod#(x,s(y)) -> if1#(lt(x,s(y)),x,s(y)) TRS: minus(0(),y) -> 0() minus(s(x),y) -> if(gt(s(x),y),x,y) if(true(),x,y) -> s(minus(x,y)) if(false(),x,y) -> 0() mod(x,0()) -> 0() mod(x,s(y)) -> if1(lt(x,s(y)),x,s(y)) if1(true(),x,y) -> x if1(false(),x,y) -> mod(minus(x,y),y) gt(0(),y) -> false() gt(s(x),0()) -> true() gt(s(x),s(y)) -> gt(x,y) lt(x,0()) -> false() lt(0(),s(x)) -> true() lt(s(x),s(y)) -> lt(x,y) Open DPs: minus#(s(x),y) -> if#(gt(s(x),y),x,y) if#(true(),x,y) -> minus#(x,y) TRS: minus(0(),y) -> 0() minus(s(x),y) -> if(gt(s(x),y),x,y) if(true(),x,y) -> s(minus(x,y)) if(false(),x,y) -> 0() mod(x,0()) -> 0() mod(x,s(y)) -> if1(lt(x,s(y)),x,s(y)) if1(true(),x,y) -> x if1(false(),x,y) -> mod(minus(x,y),y) gt(0(),y) -> false() gt(s(x),0()) -> true() gt(s(x),s(y)) -> gt(x,y) lt(x,0()) -> false() lt(0(),s(x)) -> true() lt(s(x),s(y)) -> lt(x,y) Subterm Criterion Processor: simple projection: pi(minus#) = 0 pi(if#) = 1 problem: DPs: if#(true(),x,y) -> minus#(x,y) TRS: minus(0(),y) -> 0() minus(s(x),y) -> if(gt(s(x),y),x,y) if(true(),x,y) -> s(minus(x,y)) if(false(),x,y) -> 0() mod(x,0()) -> 0() mod(x,s(y)) -> if1(lt(x,s(y)),x,s(y)) if1(true(),x,y) -> x if1(false(),x,y) -> mod(minus(x,y),y) gt(0(),y) -> false() gt(s(x),0()) -> true() gt(s(x),s(y)) -> gt(x,y) lt(x,0()) -> false() lt(0(),s(x)) -> true() lt(s(x),s(y)) -> lt(x,y) SCC Processor: #sccs: 0 #rules: 0 #arcs: 2/1 DPs: gt#(s(x),s(y)) -> gt#(x,y) TRS: minus(0(),y) -> 0() minus(s(x),y) -> if(gt(s(x),y),x,y) if(true(),x,y) -> s(minus(x,y)) if(false(),x,y) -> 0() mod(x,0()) -> 0() mod(x,s(y)) -> if1(lt(x,s(y)),x,s(y)) if1(true(),x,y) -> x if1(false(),x,y) -> mod(minus(x,y),y) gt(0(),y) -> false() gt(s(x),0()) -> true() gt(s(x),s(y)) -> gt(x,y) lt(x,0()) -> false() lt(0(),s(x)) -> true() lt(s(x),s(y)) -> lt(x,y) Subterm Criterion Processor: simple projection: pi(gt#) = 1 problem: DPs: TRS: minus(0(),y) -> 0() minus(s(x),y) -> if(gt(s(x),y),x,y) if(true(),x,y) -> s(minus(x,y)) if(false(),x,y) -> 0() mod(x,0()) -> 0() mod(x,s(y)) -> if1(lt(x,s(y)),x,s(y)) if1(true(),x,y) -> x if1(false(),x,y) -> mod(minus(x,y),y) gt(0(),y) -> false() gt(s(x),0()) -> true() gt(s(x),s(y)) -> gt(x,y) lt(x,0()) -> false() lt(0(),s(x)) -> true() lt(s(x),s(y)) -> lt(x,y) Qed DPs: lt#(s(x),s(y)) -> lt#(x,y) TRS: minus(0(),y) -> 0() minus(s(x),y) -> if(gt(s(x),y),x,y) if(true(),x,y) -> s(minus(x,y)) if(false(),x,y) -> 0() mod(x,0()) -> 0() mod(x,s(y)) -> if1(lt(x,s(y)),x,s(y)) if1(true(),x,y) -> x if1(false(),x,y) -> mod(minus(x,y),y) gt(0(),y) -> false() gt(s(x),0()) -> true() gt(s(x),s(y)) -> gt(x,y) lt(x,0()) -> false() lt(0(),s(x)) -> true() lt(s(x),s(y)) -> lt(x,y) Subterm Criterion Processor: simple projection: pi(lt#) = 1 problem: DPs: TRS: minus(0(),y) -> 0() minus(s(x),y) -> if(gt(s(x),y),x,y) if(true(),x,y) -> s(minus(x,y)) if(false(),x,y) -> 0() mod(x,0()) -> 0() mod(x,s(y)) -> if1(lt(x,s(y)),x,s(y)) if1(true(),x,y) -> x if1(false(),x,y) -> mod(minus(x,y),y) gt(0(),y) -> false() gt(s(x),0()) -> true() gt(s(x),s(y)) -> gt(x,y) lt(x,0()) -> false() lt(0(),s(x)) -> true() lt(s(x),s(y)) -> lt(x,y) Qed