MAYBE Problem: minus(x,x) -> 0() minus(s(x),s(y)) -> minus(x,y) minus(0(),x) -> 0() minus(x,0()) -> x div(s(x),s(y)) -> s(div(minus(x,y),s(y))) div(0(),s(y)) -> 0() f(x,0(),b) -> x f(x,s(y),b) -> div(f(x,minus(s(y),s(0())),b),b) Proof: DP Processor: DPs: minus#(s(x),s(y)) -> minus#(x,y) div#(s(x),s(y)) -> minus#(x,y) div#(s(x),s(y)) -> div#(minus(x,y),s(y)) f#(x,s(y),b) -> minus#(s(y),s(0())) f#(x,s(y),b) -> f#(x,minus(s(y),s(0())),b) f#(x,s(y),b) -> div#(f(x,minus(s(y),s(0())),b),b) TRS: minus(x,x) -> 0() minus(s(x),s(y)) -> minus(x,y) minus(0(),x) -> 0() minus(x,0()) -> x div(s(x),s(y)) -> s(div(minus(x,y),s(y))) div(0(),s(y)) -> 0() f(x,0(),b) -> x f(x,s(y),b) -> div(f(x,minus(s(y),s(0())),b),b) EDG Processor: DPs: minus#(s(x),s(y)) -> minus#(x,y) div#(s(x),s(y)) -> minus#(x,y) div#(s(x),s(y)) -> div#(minus(x,y),s(y)) f#(x,s(y),b) -> minus#(s(y),s(0())) f#(x,s(y),b) -> f#(x,minus(s(y),s(0())),b) f#(x,s(y),b) -> div#(f(x,minus(s(y),s(0())),b),b) TRS: minus(x,x) -> 0() minus(s(x),s(y)) -> minus(x,y) minus(0(),x) -> 0() minus(x,0()) -> x div(s(x),s(y)) -> s(div(minus(x,y),s(y))) div(0(),s(y)) -> 0() f(x,0(),b) -> x f(x,s(y),b) -> div(f(x,minus(s(y),s(0())),b),b) graph: f#(x,s(y),b) -> f#(x,minus(s(y),s(0())),b) -> f#(x,s(y),b) -> minus#(s(y),s(0())) f#(x,s(y),b) -> f#(x,minus(s(y),s(0())),b) -> f#(x,s(y),b) -> f#(x,minus(s(y),s(0())),b) f#(x,s(y),b) -> f#(x,minus(s(y),s(0())),b) -> f#(x,s(y),b) -> div#(f(x,minus(s(y),s(0())),b),b) f#(x,s(y),b) -> div#(f(x,minus(s(y),s(0())),b),b) -> div#(s(x),s(y)) -> minus#(x,y) f#(x,s(y),b) -> div#(f(x,minus(s(y),s(0())),b),b) -> div#(s(x),s(y)) -> div#(minus(x,y),s(y)) f#(x,s(y),b) -> minus#(s(y),s(0())) -> minus#(s(x),s(y)) -> minus#(x,y) div#(s(x),s(y)) -> div#(minus(x,y),s(y)) -> div#(s(x),s(y)) -> minus#(x,y) div#(s(x),s(y)) -> div#(minus(x,y),s(y)) -> div#(s(x),s(y)) -> div#(minus(x,y),s(y)) div#(s(x),s(y)) -> minus#(x,y) -> minus#(s(x),s(y)) -> minus#(x,y) minus#(s(x),s(y)) -> minus#(x,y) -> minus#(s(x),s(y)) -> minus#(x,y) SCC Processor: #sccs: 3 #rules: 3 #arcs: 10/36 DPs: f#(x,s(y),b) -> f#(x,minus(s(y),s(0())),b) TRS: minus(x,x) -> 0() minus(s(x),s(y)) -> minus(x,y) minus(0(),x) -> 0() minus(x,0()) -> x div(s(x),s(y)) -> s(div(minus(x,y),s(y))) div(0(),s(y)) -> 0() f(x,0(),b) -> x f(x,s(y),b) -> div(f(x,minus(s(y),s(0())),b),b) Open DPs: div#(s(x),s(y)) -> div#(minus(x,y),s(y)) TRS: minus(x,x) -> 0() minus(s(x),s(y)) -> minus(x,y) minus(0(),x) -> 0() minus(x,0()) -> x div(s(x),s(y)) -> s(div(minus(x,y),s(y))) div(0(),s(y)) -> 0() f(x,0(),b) -> x f(x,s(y),b) -> div(f(x,minus(s(y),s(0())),b),b) Matrix Interpretation Processor: dimension: 1 interpretation: [div#](x0, x1) = x0, [f](x0, x1, x2) = x0 + x1 + 1, [div](x0, x1) = x0, [s](x0) = x0 + 1, [0] = 0, [minus](x0, x1) = x0 orientation: div#(s(x),s(y)) = x + 1 >= x = div#(minus(x,y),s(y)) minus(x,x) = x >= 0 = 0() minus(s(x),s(y)) = x + 1 >= x = minus(x,y) minus(0(),x) = 0 >= 0 = 0() minus(x,0()) = x >= x = x div(s(x),s(y)) = x + 1 >= x + 1 = s(div(minus(x,y),s(y))) div(0(),s(y)) = 0 >= 0 = 0() f(x,0(),b) = x + 1 >= x = x f(x,s(y),b) = x + y + 2 >= x + y + 2 = div(f(x,minus(s(y),s(0())),b),b) problem: DPs: TRS: minus(x,x) -> 0() minus(s(x),s(y)) -> minus(x,y) minus(0(),x) -> 0() minus(x,0()) -> x div(s(x),s(y)) -> s(div(minus(x,y),s(y))) div(0(),s(y)) -> 0() f(x,0(),b) -> x f(x,s(y),b) -> div(f(x,minus(s(y),s(0())),b),b) Qed DPs: minus#(s(x),s(y)) -> minus#(x,y) TRS: minus(x,x) -> 0() minus(s(x),s(y)) -> minus(x,y) minus(0(),x) -> 0() minus(x,0()) -> x div(s(x),s(y)) -> s(div(minus(x,y),s(y))) div(0(),s(y)) -> 0() f(x,0(),b) -> x f(x,s(y),b) -> div(f(x,minus(s(y),s(0())),b),b) Subterm Criterion Processor: simple projection: pi(minus#) = 1 problem: DPs: TRS: minus(x,x) -> 0() minus(s(x),s(y)) -> minus(x,y) minus(0(),x) -> 0() minus(x,0()) -> x div(s(x),s(y)) -> s(div(minus(x,y),s(y))) div(0(),s(y)) -> 0() f(x,0(),b) -> x f(x,s(y),b) -> div(f(x,minus(s(y),s(0())),b),b) Qed