MAYBE Problem: minus(x,y) -> cond(equal(min(x,y),y),x,y) cond(true(),x,y) -> s(minus(x,s(y))) min(0(),v) -> 0() min(u,0()) -> 0() min(s(u),s(v)) -> s(min(u,v)) equal(0(),0()) -> true() equal(s(x),0()) -> false() equal(0(),s(y)) -> false() equal(s(x),s(y)) -> equal(x,y) Proof: DP Processor: DPs: minus#(x,y) -> min#(x,y) minus#(x,y) -> equal#(min(x,y),y) minus#(x,y) -> cond#(equal(min(x,y),y),x,y) cond#(true(),x,y) -> minus#(x,s(y)) min#(s(u),s(v)) -> min#(u,v) equal#(s(x),s(y)) -> equal#(x,y) TRS: minus(x,y) -> cond(equal(min(x,y),y),x,y) cond(true(),x,y) -> s(minus(x,s(y))) min(0(),v) -> 0() min(u,0()) -> 0() min(s(u),s(v)) -> s(min(u,v)) equal(0(),0()) -> true() equal(s(x),0()) -> false() equal(0(),s(y)) -> false() equal(s(x),s(y)) -> equal(x,y) TDG Processor: DPs: minus#(x,y) -> min#(x,y) minus#(x,y) -> equal#(min(x,y),y) minus#(x,y) -> cond#(equal(min(x,y),y),x,y) cond#(true(),x,y) -> minus#(x,s(y)) min#(s(u),s(v)) -> min#(u,v) equal#(s(x),s(y)) -> equal#(x,y) TRS: minus(x,y) -> cond(equal(min(x,y),y),x,y) cond(true(),x,y) -> s(minus(x,s(y))) min(0(),v) -> 0() min(u,0()) -> 0() min(s(u),s(v)) -> s(min(u,v)) equal(0(),0()) -> true() equal(s(x),0()) -> false() equal(0(),s(y)) -> false() equal(s(x),s(y)) -> equal(x,y) graph: cond#(true(),x,y) -> minus#(x,s(y)) -> minus#(x,y) -> cond#(equal(min(x,y),y),x,y) cond#(true(),x,y) -> minus#(x,s(y)) -> minus#(x,y) -> equal#(min(x,y),y) cond#(true(),x,y) -> minus#(x,s(y)) -> minus#(x,y) -> min#(x,y) equal#(s(x),s(y)) -> equal#(x,y) -> equal#(s(x),s(y)) -> equal#(x,y) min#(s(u),s(v)) -> min#(u,v) -> min#(s(u),s(v)) -> min#(u,v) minus#(x,y) -> cond#(equal(min(x,y),y),x,y) -> cond#(true(),x,y) -> minus#(x,s(y)) minus#(x,y) -> equal#(min(x,y),y) -> equal#(s(x),s(y)) -> equal#(x,y) minus#(x,y) -> min#(x,y) -> min#(s(u),s(v)) -> min#(u,v) SCC Processor: #sccs: 3 #rules: 4 #arcs: 8/36 DPs: cond#(true(),x,y) -> minus#(x,s(y)) minus#(x,y) -> cond#(equal(min(x,y),y),x,y) TRS: minus(x,y) -> cond(equal(min(x,y),y),x,y) cond(true(),x,y) -> s(minus(x,s(y))) min(0(),v) -> 0() min(u,0()) -> 0() min(s(u),s(v)) -> s(min(u,v)) equal(0(),0()) -> true() equal(s(x),0()) -> false() equal(0(),s(y)) -> false() equal(s(x),s(y)) -> equal(x,y) Open DPs: equal#(s(x),s(y)) -> equal#(x,y) TRS: minus(x,y) -> cond(equal(min(x,y),y),x,y) cond(true(),x,y) -> s(minus(x,s(y))) min(0(),v) -> 0() min(u,0()) -> 0() min(s(u),s(v)) -> s(min(u,v)) equal(0(),0()) -> true() equal(s(x),0()) -> false() equal(0(),s(y)) -> false() equal(s(x),s(y)) -> equal(x,y) Subterm Criterion Processor: simple projection: pi(equal#) = 1 problem: DPs: TRS: minus(x,y) -> cond(equal(min(x,y),y),x,y) cond(true(),x,y) -> s(minus(x,s(y))) min(0(),v) -> 0() min(u,0()) -> 0() min(s(u),s(v)) -> s(min(u,v)) equal(0(),0()) -> true() equal(s(x),0()) -> false() equal(0(),s(y)) -> false() equal(s(x),s(y)) -> equal(x,y) Qed DPs: min#(s(u),s(v)) -> min#(u,v) TRS: minus(x,y) -> cond(equal(min(x,y),y),x,y) cond(true(),x,y) -> s(minus(x,s(y))) min(0(),v) -> 0() min(u,0()) -> 0() min(s(u),s(v)) -> s(min(u,v)) equal(0(),0()) -> true() equal(s(x),0()) -> false() equal(0(),s(y)) -> false() equal(s(x),s(y)) -> equal(x,y) Subterm Criterion Processor: simple projection: pi(min#) = 1 problem: DPs: TRS: minus(x,y) -> cond(equal(min(x,y),y),x,y) cond(true(),x,y) -> s(minus(x,s(y))) min(0(),v) -> 0() min(u,0()) -> 0() min(s(u),s(v)) -> s(min(u,v)) equal(0(),0()) -> true() equal(s(x),0()) -> false() equal(0(),s(y)) -> false() equal(s(x),s(y)) -> equal(x,y) Qed