MAYBE Problem: f(s(x),x) -> f(s(x),round(s(x))) round(0()) -> 0() round(0()) -> s(0()) round(s(0())) -> s(0()) round(s(s(x))) -> s(s(round(x))) Proof: DP Processor: DPs: f#(s(x),x) -> round#(s(x)) f#(s(x),x) -> f#(s(x),round(s(x))) round#(s(s(x))) -> round#(x) TRS: f(s(x),x) -> f(s(x),round(s(x))) round(0()) -> 0() round(0()) -> s(0()) round(s(0())) -> s(0()) round(s(s(x))) -> s(s(round(x))) Usable Rule Processor: DPs: f#(s(x),x) -> round#(s(x)) f#(s(x),x) -> f#(s(x),round(s(x))) round#(s(s(x))) -> round#(x) TRS: round(s(0())) -> s(0()) round(s(s(x))) -> s(s(round(x))) round(0()) -> 0() round(0()) -> s(0()) CDG Processor: DPs: f#(s(x),x) -> round#(s(x)) f#(s(x),x) -> f#(s(x),round(s(x))) round#(s(s(x))) -> round#(x) TRS: round(s(0())) -> s(0()) round(s(s(x))) -> s(s(round(x))) round(0()) -> 0() round(0()) -> s(0()) graph: round#(s(s(x))) -> round#(x) -> round#(s(s(x))) -> round#(x) f#(s(x),x) -> round#(s(x)) -> round#(s(s(x))) -> round#(x) f#(s(x),x) -> f#(s(x),round(s(x))) -> f#(s(x),x) -> round#(s(x)) f#(s(x),x) -> f#(s(x),round(s(x))) -> f#(s(x),x) -> f#(s(x),round(s(x))) Restore Modifier: DPs: f#(s(x),x) -> round#(s(x)) f#(s(x),x) -> f#(s(x),round(s(x))) round#(s(s(x))) -> round#(x) TRS: f(s(x),x) -> f(s(x),round(s(x))) round(0()) -> 0() round(0()) -> s(0()) round(s(0())) -> s(0()) round(s(s(x))) -> s(s(round(x))) SCC Processor: #sccs: 2 #rules: 2 #arcs: 4/9 DPs: f#(s(x),x) -> f#(s(x),round(s(x))) TRS: f(s(x),x) -> f(s(x),round(s(x))) round(0()) -> 0() round(0()) -> s(0()) round(s(0())) -> s(0()) round(s(s(x))) -> s(s(round(x))) Open DPs: round#(s(s(x))) -> round#(x) TRS: f(s(x),x) -> f(s(x),round(s(x))) round(0()) -> 0() round(0()) -> s(0()) round(s(0())) -> s(0()) round(s(s(x))) -> s(s(round(x))) Matrix Interpretation Processor: dimension: 1 interpretation: [round#](x0) = x0, [0] = 0, [round](x0) = x0 + 1, [f](x0, x1) = 0, [s](x0) = x0 + 1 orientation: round#(s(s(x))) = x + 2 >= x = round#(x) f(s(x),x) = 0 >= 0 = f(s(x),round(s(x))) round(0()) = 1 >= 0 = 0() round(0()) = 1 >= 1 = s(0()) round(s(0())) = 2 >= 1 = s(0()) round(s(s(x))) = x + 3 >= x + 3 = s(s(round(x))) problem: DPs: TRS: f(s(x),x) -> f(s(x),round(s(x))) round(0()) -> 0() round(0()) -> s(0()) round(s(0())) -> s(0()) round(s(s(x))) -> s(s(round(x))) Qed