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