YES Problem: min(X,0()) -> X min(s(X),s(Y)) -> min(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(min(X,Y),s(Y))) log(s(0())) -> 0() log(s(s(X))) -> s(log(s(quot(X,s(s(0())))))) Proof: DP Processor: DPs: min#(s(X),s(Y)) -> min#(X,Y) quot#(s(X),s(Y)) -> min#(X,Y) quot#(s(X),s(Y)) -> quot#(min(X,Y),s(Y)) log#(s(s(X))) -> quot#(X,s(s(0()))) log#(s(s(X))) -> log#(s(quot(X,s(s(0()))))) TRS: min(X,0()) -> X min(s(X),s(Y)) -> min(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(min(X,Y),s(Y))) log(s(0())) -> 0() log(s(s(X))) -> s(log(s(quot(X,s(s(0())))))) Usable Rule Processor: DPs: min#(s(X),s(Y)) -> min#(X,Y) quot#(s(X),s(Y)) -> min#(X,Y) quot#(s(X),s(Y)) -> quot#(min(X,Y),s(Y)) log#(s(s(X))) -> quot#(X,s(s(0()))) log#(s(s(X))) -> log#(s(quot(X,s(s(0()))))) TRS: f8(x,y) -> x f8(x,y) -> y min(X,0()) -> X min(s(X),s(Y)) -> min(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(min(X,Y),s(Y))) CDG Processor: DPs: min#(s(X),s(Y)) -> min#(X,Y) quot#(s(X),s(Y)) -> min#(X,Y) quot#(s(X),s(Y)) -> quot#(min(X,Y),s(Y)) log#(s(s(X))) -> quot#(X,s(s(0()))) log#(s(s(X))) -> log#(s(quot(X,s(s(0()))))) TRS: f8(x,y) -> x f8(x,y) -> y min(X,0()) -> X min(s(X),s(Y)) -> min(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(min(X,Y),s(Y))) graph: log#(s(s(X))) -> log#(s(quot(X,s(s(0()))))) -> log#(s(s(X))) -> quot#(X,s(s(0()))) log#(s(s(X))) -> log#(s(quot(X,s(s(0()))))) -> log#(s(s(X))) -> log#(s(quot(X,s(s(0()))))) log#(s(s(X))) -> quot#(X,s(s(0()))) -> quot#(s(X),s(Y)) -> min#(X,Y) log#(s(s(X))) -> quot#(X,s(s(0()))) -> quot#(s(X),s(Y)) -> quot#(min(X,Y),s(Y)) quot#(s(X),s(Y)) -> quot#(min(X,Y),s(Y)) -> quot#(s(X),s(Y)) -> min#(X,Y) quot#(s(X),s(Y)) -> quot#(min(X,Y),s(Y)) -> quot#(s(X),s(Y)) -> quot#(min(X,Y),s(Y)) quot#(s(X),s(Y)) -> min#(X,Y) -> min#(s(X),s(Y)) -> min#(X,Y) min#(s(X),s(Y)) -> min#(X,Y) -> min#(s(X),s(Y)) -> min#(X,Y) Restore Modifier: DPs: min#(s(X),s(Y)) -> min#(X,Y) quot#(s(X),s(Y)) -> min#(X,Y) quot#(s(X),s(Y)) -> quot#(min(X,Y),s(Y)) log#(s(s(X))) -> quot#(X,s(s(0()))) log#(s(s(X))) -> log#(s(quot(X,s(s(0()))))) TRS: min(X,0()) -> X min(s(X),s(Y)) -> min(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(min(X,Y),s(Y))) log(s(0())) -> 0() log(s(s(X))) -> s(log(s(quot(X,s(s(0())))))) SCC Processor: #sccs: 3 #rules: 3 #arcs: 8/25 DPs: log#(s(s(X))) -> log#(s(quot(X,s(s(0()))))) TRS: min(X,0()) -> X min(s(X),s(Y)) -> min(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(min(X,Y),s(Y))) log(s(0())) -> 0() log(s(s(X))) -> s(log(s(quot(X,s(s(0())))))) Matrix Interpretation Processor: dimension: 1 interpretation: [log#](x0) = x0 + 1, [log](x0) = x0, [quot](x0, x1) = x0, [s](x0) = x0 + 1, [min](x0, x1) = x0, [0] = 1 orientation: log#(s(s(X))) = X + 3 >= X + 2 = log#(s(quot(X,s(s(0()))))) min(X,0()) = X >= X = X min(s(X),s(Y)) = X + 1 >= X = min(X,Y) quot(0(),s(Y)) = 1 >= 1 = 0() quot(s(X),s(Y)) = X + 1 >= X + 1 = s(quot(min(X,Y),s(Y))) log(s(0())) = 2 >= 1 = 0() log(s(s(X))) = X + 2 >= X + 2 = s(log(s(quot(X,s(s(0())))))) problem: DPs: TRS: min(X,0()) -> X min(s(X),s(Y)) -> min(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(min(X,Y),s(Y))) log(s(0())) -> 0() log(s(s(X))) -> s(log(s(quot(X,s(s(0())))))) Qed DPs: quot#(s(X),s(Y)) -> quot#(min(X,Y),s(Y)) TRS: min(X,0()) -> X min(s(X),s(Y)) -> min(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(min(X,Y),s(Y))) log(s(0())) -> 0() log(s(s(X))) -> s(log(s(quot(X,s(s(0())))))) Matrix Interpretation Processor: dimension: 1 interpretation: [quot#](x0, x1) = x0, [log](x0) = x0, [quot](x0, x1) = x0, [s](x0) = x0 + 1, [min](x0, x1) = x0, [0] = 1 orientation: quot#(s(X),s(Y)) = X + 1 >= X = quot#(min(X,Y),s(Y)) min(X,0()) = X >= X = X min(s(X),s(Y)) = X + 1 >= X = min(X,Y) quot(0(),s(Y)) = 1 >= 1 = 0() quot(s(X),s(Y)) = X + 1 >= X + 1 = s(quot(min(X,Y),s(Y))) log(s(0())) = 2 >= 1 = 0() log(s(s(X))) = X + 2 >= X + 2 = s(log(s(quot(X,s(s(0())))))) problem: DPs: TRS: min(X,0()) -> X min(s(X),s(Y)) -> min(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(min(X,Y),s(Y))) log(s(0())) -> 0() log(s(s(X))) -> s(log(s(quot(X,s(s(0())))))) Qed DPs: min#(s(X),s(Y)) -> min#(X,Y) TRS: min(X,0()) -> X min(s(X),s(Y)) -> min(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(min(X,Y),s(Y))) log(s(0())) -> 0() log(s(s(X))) -> s(log(s(quot(X,s(s(0())))))) Matrix Interpretation Processor: dimension: 1 interpretation: [min#](x0, x1) = x0 + x1 + 1, [log](x0) = x0, [quot](x0, x1) = x0, [s](x0) = x0 + 1, [min](x0, x1) = x0, [0] = 1 orientation: min#(s(X),s(Y)) = X + Y + 3 >= X + Y + 1 = min#(X,Y) min(X,0()) = X >= X = X min(s(X),s(Y)) = X + 1 >= X = min(X,Y) quot(0(),s(Y)) = 1 >= 1 = 0() quot(s(X),s(Y)) = X + 1 >= X + 1 = s(quot(min(X,Y),s(Y))) log(s(0())) = 2 >= 1 = 0() log(s(s(X))) = X + 2 >= X + 2 = s(log(s(quot(X,s(s(0())))))) problem: DPs: TRS: min(X,0()) -> X min(s(X),s(Y)) -> min(X,Y) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(min(X,Y),s(Y))) log(s(0())) -> 0() log(s(s(X))) -> s(log(s(quot(X,s(s(0())))))) Qed