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