MAYBE Problem: a__h(X) -> a__g(mark(X),X) a__g(a(),X) -> a__f(b(),X) a__f(X,X) -> a__h(a__a()) a__a() -> b() mark(h(X)) -> a__h(mark(X)) mark(g(X1,X2)) -> a__g(mark(X1),X2) mark(a()) -> a__a() mark(f(X1,X2)) -> a__f(mark(X1),X2) mark(b()) -> b() a__h(X) -> h(X) a__g(X1,X2) -> g(X1,X2) a__a() -> a() a__f(X1,X2) -> f(X1,X2) Proof: DP Processor: DPs: a__h#(X) -> mark#(X) a__h#(X) -> a__g#(mark(X),X) a__g#(a(),X) -> a__f#(b(),X) a__f#(X,X) -> a__a#() a__f#(X,X) -> a__h#(a__a()) mark#(h(X)) -> mark#(X) mark#(h(X)) -> a__h#(mark(X)) mark#(g(X1,X2)) -> mark#(X1) mark#(g(X1,X2)) -> a__g#(mark(X1),X2) mark#(a()) -> a__a#() mark#(f(X1,X2)) -> mark#(X1) mark#(f(X1,X2)) -> a__f#(mark(X1),X2) TRS: a__h(X) -> a__g(mark(X),X) a__g(a(),X) -> a__f(b(),X) a__f(X,X) -> a__h(a__a()) a__a() -> b() mark(h(X)) -> a__h(mark(X)) mark(g(X1,X2)) -> a__g(mark(X1),X2) mark(a()) -> a__a() mark(f(X1,X2)) -> a__f(mark(X1),X2) mark(b()) -> b() a__h(X) -> h(X) a__g(X1,X2) -> g(X1,X2) a__a() -> a() a__f(X1,X2) -> f(X1,X2) TDG Processor: DPs: a__h#(X) -> mark#(X) a__h#(X) -> a__g#(mark(X),X) a__g#(a(),X) -> a__f#(b(),X) a__f#(X,X) -> a__a#() a__f#(X,X) -> a__h#(a__a()) mark#(h(X)) -> mark#(X) mark#(h(X)) -> a__h#(mark(X)) mark#(g(X1,X2)) -> mark#(X1) mark#(g(X1,X2)) -> a__g#(mark(X1),X2) mark#(a()) -> a__a#() mark#(f(X1,X2)) -> mark#(X1) mark#(f(X1,X2)) -> a__f#(mark(X1),X2) TRS: a__h(X) -> a__g(mark(X),X) a__g(a(),X) -> a__f(b(),X) a__f(X,X) -> a__h(a__a()) a__a() -> b() mark(h(X)) -> a__h(mark(X)) mark(g(X1,X2)) -> a__g(mark(X1),X2) mark(a()) -> a__a() mark(f(X1,X2)) -> a__f(mark(X1),X2) mark(b()) -> b() a__h(X) -> h(X) a__g(X1,X2) -> g(X1,X2) a__a() -> a() a__f(X1,X2) -> f(X1,X2) graph: a__f#(X,X) -> a__h#(a__a()) -> a__h#(X) -> a__g#(mark(X),X) a__f#(X,X) -> a__h#(a__a()) -> a__h#(X) -> mark#(X) a__g#(a(),X) -> a__f#(b(),X) -> a__f#(X,X) -> a__h#(a__a()) a__g#(a(),X) -> a__f#(b(),X) -> a__f#(X,X) -> a__a#() mark#(f(X1,X2)) -> a__f#(mark(X1),X2) -> a__f#(X,X) -> a__h#(a__a()) mark#(f(X1,X2)) -> a__f#(mark(X1),X2) -> a__f#(X,X) -> a__a#() mark#(f(X1,X2)) -> mark#(X1) -> mark#(f(X1,X2)) -> a__f#(mark(X1),X2) mark#(f(X1,X2)) -> mark#(X1) -> mark#(f(X1,X2)) -> mark#(X1) mark#(f(X1,X2)) -> mark#(X1) -> mark#(a()) -> a__a#() mark#(f(X1,X2)) -> mark#(X1) -> mark#(g(X1,X2)) -> a__g#(mark(X1),X2) mark#(f(X1,X2)) -> mark#(X1) -> mark#(g(X1,X2)) -> mark#(X1) mark#(f(X1,X2)) -> mark#(X1) -> mark#(h(X)) -> a__h#(mark(X)) mark#(f(X1,X2)) -> mark#(X1) -> mark#(h(X)) -> mark#(X) mark#(g(X1,X2)) -> a__g#(mark(X1),X2) -> a__g#(a(),X) -> a__f#(b(),X) mark#(g(X1,X2)) -> mark#(X1) -> mark#(f(X1,X2)) -> a__f#(mark(X1),X2) mark#(g(X1,X2)) -> mark#(X1) -> mark#(f(X1,X2)) -> mark#(X1) mark#(g(X1,X2)) -> mark#(X1) -> mark#(a()) -> a__a#() mark#(g(X1,X2)) -> mark#(X1) -> mark#(g(X1,X2)) -> a__g#(mark(X1),X2) mark#(g(X1,X2)) -> mark#(X1) -> mark#(g(X1,X2)) -> mark#(X1) mark#(g(X1,X2)) -> mark#(X1) -> mark#(h(X)) -> a__h#(mark(X)) mark#(g(X1,X2)) -> mark#(X1) -> mark#(h(X)) -> mark#(X) mark#(h(X)) -> mark#(X) -> mark#(f(X1,X2)) -> a__f#(mark(X1),X2) mark#(h(X)) -> mark#(X) -> mark#(f(X1,X2)) -> mark#(X1) mark#(h(X)) -> mark#(X) -> mark#(a()) -> a__a#() mark#(h(X)) -> mark#(X) -> mark#(g(X1,X2)) -> a__g#(mark(X1),X2) mark#(h(X)) -> mark#(X) -> mark#(g(X1,X2)) -> mark#(X1) mark#(h(X)) -> mark#(X) -> mark#(h(X)) -> a__h#(mark(X)) mark#(h(X)) -> mark#(X) -> mark#(h(X)) -> mark#(X) mark#(h(X)) -> a__h#(mark(X)) -> a__h#(X) -> a__g#(mark(X),X) mark#(h(X)) -> a__h#(mark(X)) -> a__h#(X) -> mark#(X) a__h#(X) -> a__g#(mark(X),X) -> a__g#(a(),X) -> a__f#(b(),X) a__h#(X) -> mark#(X) -> mark#(f(X1,X2)) -> a__f#(mark(X1),X2) a__h#(X) -> mark#(X) -> mark#(f(X1,X2)) -> mark#(X1) a__h#(X) -> mark#(X) -> mark#(a()) -> a__a#() a__h#(X) -> mark#(X) -> mark#(g(X1,X2)) -> a__g#(mark(X1),X2) a__h#(X) -> mark#(X) -> mark#(g(X1,X2)) -> mark#(X1) a__h#(X) -> mark#(X) -> mark#(h(X)) -> a__h#(mark(X)) a__h#(X) -> mark#(X) -> mark#(h(X)) -> mark#(X) SCC Processor: #sccs: 1 #rules: 10 #arcs: 38/144 DPs: a__f#(X,X) -> a__h#(a__a()) a__h#(X) -> mark#(X) mark#(h(X)) -> mark#(X) mark#(h(X)) -> a__h#(mark(X)) a__h#(X) -> a__g#(mark(X),X) a__g#(a(),X) -> a__f#(b(),X) mark#(g(X1,X2)) -> mark#(X1) mark#(g(X1,X2)) -> a__g#(mark(X1),X2) mark#(f(X1,X2)) -> mark#(X1) mark#(f(X1,X2)) -> a__f#(mark(X1),X2) TRS: a__h(X) -> a__g(mark(X),X) a__g(a(),X) -> a__f(b(),X) a__f(X,X) -> a__h(a__a()) a__a() -> b() mark(h(X)) -> a__h(mark(X)) mark(g(X1,X2)) -> a__g(mark(X1),X2) mark(a()) -> a__a() mark(f(X1,X2)) -> a__f(mark(X1),X2) mark(b()) -> b() a__h(X) -> h(X) a__g(X1,X2) -> g(X1,X2) a__a() -> a() a__f(X1,X2) -> f(X1,X2) Arctic Interpretation Processor: dimension: 1 interpretation: [a__f#](x0, x1) = x0 + 0, [a__g#](x0, x1) = 0, [mark#](x0) = x0 + 0, [a__h#](x0) = x0 + 0, [f](x0, x1) = 3x0 + 4, [g](x0, x1) = x0, [h](x0) = 3x0 + 4, [a__a] = 0, [a__f](x0, x1) = 3x0 + 4, [b] = 0, [a] = 0, [a__g](x0, x1) = x0 + 4, [mark](x0) = 3x0 + 4, [a__h](x0) = 3x0 + 4 orientation: a__f#(X,X) = X + 0 >= 0 = a__h#(a__a()) a__h#(X) = X + 0 >= X + 0 = mark#(X) mark#(h(X)) = 3X + 4 >= X + 0 = mark#(X) mark#(h(X)) = 3X + 4 >= 3X + 4 = a__h#(mark(X)) a__h#(X) = X + 0 >= 0 = a__g#(mark(X),X) a__g#(a(),X) = 0 >= 0 = a__f#(b(),X) mark#(g(X1,X2)) = X1 + 0 >= X1 + 0 = mark#(X1) mark#(g(X1,X2)) = X1 + 0 >= 0 = a__g#(mark(X1),X2) mark#(f(X1,X2)) = 3X1 + 4 >= X1 + 0 = mark#(X1) mark#(f(X1,X2)) = 3X1 + 4 >= 3X1 + 4 = a__f#(mark(X1),X2) a__h(X) = 3X + 4 >= 3X + 4 = a__g(mark(X),X) a__g(a(),X) = 4 >= 4 = a__f(b(),X) a__f(X,X) = 3X + 4 >= 4 = a__h(a__a()) a__a() = 0 >= 0 = b() mark(h(X)) = 6X + 7 >= 6X + 7 = a__h(mark(X)) mark(g(X1,X2)) = 3X1 + 4 >= 3X1 + 4 = a__g(mark(X1),X2) mark(a()) = 4 >= 0 = a__a() mark(f(X1,X2)) = 6X1 + 7 >= 6X1 + 7 = a__f(mark(X1),X2) mark(b()) = 4 >= 0 = b() a__h(X) = 3X + 4 >= 3X + 4 = h(X) a__g(X1,X2) = X1 + 4 >= X1 = g(X1,X2) a__a() = 0 >= 0 = a() a__f(X1,X2) = 3X1 + 4 >= 3X1 + 4 = f(X1,X2) problem: DPs: a__f#(X,X) -> a__h#(a__a()) a__h#(X) -> mark#(X) mark#(h(X)) -> a__h#(mark(X)) a__h#(X) -> a__g#(mark(X),X) a__g#(a(),X) -> a__f#(b(),X) mark#(g(X1,X2)) -> mark#(X1) mark#(g(X1,X2)) -> a__g#(mark(X1),X2) mark#(f(X1,X2)) -> a__f#(mark(X1),X2) TRS: a__h(X) -> a__g(mark(X),X) a__g(a(),X) -> a__f(b(),X) a__f(X,X) -> a__h(a__a()) a__a() -> b() mark(h(X)) -> a__h(mark(X)) mark(g(X1,X2)) -> a__g(mark(X1),X2) mark(a()) -> a__a() mark(f(X1,X2)) -> a__f(mark(X1),X2) mark(b()) -> b() a__h(X) -> h(X) a__g(X1,X2) -> g(X1,X2) a__a() -> a() a__f(X1,X2) -> f(X1,X2) Arctic Interpretation Processor: dimension: 1 interpretation: [a__f#](x0, x1) = 1x0 + 1, [a__g#](x0, x1) = x1 + 1, [mark#](x0) = 1x0, [a__h#](x0) = 1x0 + 1, [f](x0, x1) = 2x0 + 1, [g](x0, x1) = 1x0 + 1x1 + 1, [h](x0) = 2x0 + 1, [a__a] = 0, [a__f](x0, x1) = 2x0 + 2, [b] = 0, [a] = 0, [a__g](x0, x1) = 1x0 + 2x1 + 2, [mark](x0) = 1x0 + 0, [a__h](x0) = 2x0 + 2 orientation: a__f#(X,X) = 1X + 1 >= 1 = a__h#(a__a()) a__h#(X) = 1X + 1 >= 1X = mark#(X) mark#(h(X)) = 3X + 2 >= 2X + 1 = a__h#(mark(X)) a__h#(X) = 1X + 1 >= X + 1 = a__g#(mark(X),X) a__g#(a(),X) = X + 1 >= 1 = a__f#(b(),X) mark#(g(X1,X2)) = 2X1 + 2X2 + 2 >= 1X1 = mark#(X1) mark#(g(X1,X2)) = 2X1 + 2X2 + 2 >= X2 + 1 = a__g#(mark(X1),X2) mark#(f(X1,X2)) = 3X1 + 2 >= 2X1 + 1 = a__f#(mark(X1),X2) a__h(X) = 2X + 2 >= 2X + 2 = a__g(mark(X),X) a__g(a(),X) = 2X + 2 >= 2 = a__f(b(),X) a__f(X,X) = 2X + 2 >= 2 = a__h(a__a()) a__a() = 0 >= 0 = b() mark(h(X)) = 3X + 2 >= 3X + 2 = a__h(mark(X)) mark(g(X1,X2)) = 2X1 + 2X2 + 2 >= 2X1 + 2X2 + 2 = a__g(mark(X1),X2) mark(a()) = 1 >= 0 = a__a() mark(f(X1,X2)) = 3X1 + 2 >= 3X1 + 2 = a__f(mark(X1),X2) mark(b()) = 1 >= 0 = b() a__h(X) = 2X + 2 >= 2X + 1 = h(X) a__g(X1,X2) = 1X1 + 2X2 + 2 >= 1X1 + 1X2 + 1 = g(X1,X2) a__a() = 0 >= 0 = a() a__f(X1,X2) = 2X1 + 2 >= 2X1 + 1 = f(X1,X2) problem: DPs: a__f#(X,X) -> a__h#(a__a()) a__h#(X) -> mark#(X) a__h#(X) -> a__g#(mark(X),X) a__g#(a(),X) -> a__f#(b(),X) TRS: a__h(X) -> a__g(mark(X),X) a__g(a(),X) -> a__f(b(),X) a__f(X,X) -> a__h(a__a()) a__a() -> b() mark(h(X)) -> a__h(mark(X)) mark(g(X1,X2)) -> a__g(mark(X1),X2) mark(a()) -> a__a() mark(f(X1,X2)) -> a__f(mark(X1),X2) mark(b()) -> b() a__h(X) -> h(X) a__g(X1,X2) -> g(X1,X2) a__a() -> a() a__f(X1,X2) -> f(X1,X2) SCC Processor: #sccs: 1 #rules: 3 #arcs: 32/16 DPs: a__f#(X,X) -> a__h#(a__a()) a__h#(X) -> a__g#(mark(X),X) a__g#(a(),X) -> a__f#(b(),X) TRS: a__h(X) -> a__g(mark(X),X) a__g(a(),X) -> a__f(b(),X) a__f(X,X) -> a__h(a__a()) a__a() -> b() mark(h(X)) -> a__h(mark(X)) mark(g(X1,X2)) -> a__g(mark(X1),X2) mark(a()) -> a__a() mark(f(X1,X2)) -> a__f(mark(X1),X2) mark(b()) -> b() a__h(X) -> h(X) a__g(X1,X2) -> g(X1,X2) a__a() -> a() a__f(X1,X2) -> f(X1,X2) Open