YES Problem: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) Proof: DP Processor: DPs: active#(g(X)) -> h#(X) active#(g(X)) -> mark#(h(X)) active#(c()) -> mark#(d()) active#(h(d())) -> g#(c()) active#(h(d())) -> mark#(g(c())) mark#(g(X)) -> active#(g(X)) mark#(h(X)) -> active#(h(X)) mark#(c()) -> active#(c()) mark#(d()) -> active#(d()) g#(mark(X)) -> g#(X) g#(active(X)) -> g#(X) h#(mark(X)) -> h#(X) h#(active(X)) -> h#(X) TRS: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) TDG Processor: DPs: active#(g(X)) -> h#(X) active#(g(X)) -> mark#(h(X)) active#(c()) -> mark#(d()) active#(h(d())) -> g#(c()) active#(h(d())) -> mark#(g(c())) mark#(g(X)) -> active#(g(X)) mark#(h(X)) -> active#(h(X)) mark#(c()) -> active#(c()) mark#(d()) -> active#(d()) g#(mark(X)) -> g#(X) g#(active(X)) -> g#(X) h#(mark(X)) -> h#(X) h#(active(X)) -> h#(X) TRS: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) graph: g#(mark(X)) -> g#(X) -> g#(active(X)) -> g#(X) g#(mark(X)) -> g#(X) -> g#(mark(X)) -> g#(X) g#(active(X)) -> g#(X) -> g#(active(X)) -> g#(X) g#(active(X)) -> g#(X) -> g#(mark(X)) -> g#(X) mark#(d()) -> active#(d()) -> active#(h(d())) -> mark#(g(c())) mark#(d()) -> active#(d()) -> active#(h(d())) -> g#(c()) mark#(d()) -> active#(d()) -> active#(c()) -> mark#(d()) mark#(d()) -> active#(d()) -> active#(g(X)) -> mark#(h(X)) mark#(d()) -> active#(d()) -> active#(g(X)) -> h#(X) mark#(c()) -> active#(c()) -> active#(h(d())) -> mark#(g(c())) mark#(c()) -> active#(c()) -> active#(h(d())) -> g#(c()) mark#(c()) -> active#(c()) -> active#(c()) -> mark#(d()) mark#(c()) -> active#(c()) -> active#(g(X)) -> mark#(h(X)) mark#(c()) -> active#(c()) -> active#(g(X)) -> h#(X) mark#(h(X)) -> active#(h(X)) -> active#(h(d())) -> mark#(g(c())) mark#(h(X)) -> active#(h(X)) -> active#(h(d())) -> g#(c()) mark#(h(X)) -> active#(h(X)) -> active#(c()) -> mark#(d()) mark#(h(X)) -> active#(h(X)) -> active#(g(X)) -> mark#(h(X)) mark#(h(X)) -> active#(h(X)) -> active#(g(X)) -> h#(X) mark#(g(X)) -> active#(g(X)) -> active#(h(d())) -> mark#(g(c())) mark#(g(X)) -> active#(g(X)) -> active#(h(d())) -> g#(c()) mark#(g(X)) -> active#(g(X)) -> active#(c()) -> mark#(d()) mark#(g(X)) -> active#(g(X)) -> active#(g(X)) -> mark#(h(X)) mark#(g(X)) -> active#(g(X)) -> active#(g(X)) -> h#(X) h#(mark(X)) -> h#(X) -> h#(active(X)) -> h#(X) h#(mark(X)) -> h#(X) -> h#(mark(X)) -> h#(X) h#(active(X)) -> h#(X) -> h#(active(X)) -> h#(X) h#(active(X)) -> h#(X) -> h#(mark(X)) -> h#(X) active#(c()) -> mark#(d()) -> mark#(d()) -> active#(d()) active#(c()) -> mark#(d()) -> mark#(c()) -> active#(c()) active#(c()) -> mark#(d()) -> mark#(h(X)) -> active#(h(X)) active#(c()) -> mark#(d()) -> mark#(g(X)) -> active#(g(X)) active#(h(d())) -> g#(c()) -> g#(active(X)) -> g#(X) active#(h(d())) -> g#(c()) -> g#(mark(X)) -> g#(X) active#(h(d())) -> mark#(g(c())) -> mark#(d()) -> active#(d()) active#(h(d())) -> mark#(g(c())) -> mark#(c()) -> active#(c()) active#(h(d())) -> mark#(g(c())) -> mark#(h(X)) -> active#(h(X)) active#(h(d())) -> mark#(g(c())) -> mark#(g(X)) -> active#(g(X)) active#(g(X)) -> mark#(h(X)) -> mark#(d()) -> active#(d()) active#(g(X)) -> mark#(h(X)) -> mark#(c()) -> active#(c()) active#(g(X)) -> mark#(h(X)) -> mark#(h(X)) -> active#(h(X)) active#(g(X)) -> mark#(h(X)) -> mark#(g(X)) -> active#(g(X)) active#(g(X)) -> h#(X) -> h#(active(X)) -> h#(X) active#(g(X)) -> h#(X) -> h#(mark(X)) -> h#(X) SCC Processor: #sccs: 3 #rules: 11 #arcs: 44/169 DPs: mark#(d()) -> active#(d()) active#(g(X)) -> mark#(h(X)) mark#(g(X)) -> active#(g(X)) active#(c()) -> mark#(d()) mark#(h(X)) -> active#(h(X)) active#(h(d())) -> mark#(g(c())) mark#(c()) -> active#(c()) TRS: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) EDG Processor: DPs: mark#(d()) -> active#(d()) active#(g(X)) -> mark#(h(X)) mark#(g(X)) -> active#(g(X)) active#(c()) -> mark#(d()) mark#(h(X)) -> active#(h(X)) active#(h(d())) -> mark#(g(c())) mark#(c()) -> active#(c()) TRS: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) graph: mark#(c()) -> active#(c()) -> active#(c()) -> mark#(d()) mark#(h(X)) -> active#(h(X)) -> active#(g(X)) -> mark#(h(X)) mark#(h(X)) -> active#(h(X)) -> active#(h(d())) -> mark#(g(c())) mark#(g(X)) -> active#(g(X)) -> active#(g(X)) -> mark#(h(X)) mark#(g(X)) -> active#(g(X)) -> active#(h(d())) -> mark#(g(c())) active#(c()) -> mark#(d()) -> mark#(d()) -> active#(d()) active#(h(d())) -> mark#(g(c())) -> mark#(g(X)) -> active#(g(X)) active#(g(X)) -> mark#(h(X)) -> mark#(g(X)) -> active#(g(X)) active#(g(X)) -> mark#(h(X)) -> mark#(h(X)) -> active#(h(X)) CDG Processor: DPs: mark#(d()) -> active#(d()) active#(g(X)) -> mark#(h(X)) mark#(g(X)) -> active#(g(X)) active#(c()) -> mark#(d()) mark#(h(X)) -> active#(h(X)) active#(h(d())) -> mark#(g(c())) mark#(c()) -> active#(c()) TRS: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) graph: mark#(c()) -> active#(c()) -> active#(c()) -> mark#(d()) mark#(h(X)) -> active#(h(X)) -> active#(g(X)) -> mark#(h(X)) mark#(g(X)) -> active#(g(X)) -> active#(g(X)) -> mark#(h(X)) active#(c()) -> mark#(d()) -> mark#(d()) -> active#(d()) active#(h(d())) -> mark#(g(c())) -> mark#(g(X)) -> active#(g(X)) active#(g(X)) -> mark#(h(X)) -> mark#(h(X)) -> active#(h(X)) active#(g(X)) -> mark#(h(X)) -> mark#(g(X)) -> active#(g(X)) SCC Processor: #sccs: 1 #rules: 3 #arcs: 7/49 DPs: mark#(h(X)) -> active#(h(X)) active#(g(X)) -> mark#(h(X)) mark#(g(X)) -> active#(g(X)) TRS: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) Arctic Interpretation Processor: dimension: 1 interpretation: [mark#](x0) = 4, [active#](x0) = x0 + 0, [d] = 0, [c] = 3, [mark](x0) = 0, [h](x0) = 2, [active](x0) = 0, [g](x0) = 4 orientation: mark#(h(X)) = 4 >= 2 = active#(h(X)) active#(g(X)) = 4 >= 4 = mark#(h(X)) mark#(g(X)) = 4 >= 4 = active#(g(X)) active(g(X)) = 0 >= 0 = mark(h(X)) active(c()) = 0 >= 0 = mark(d()) active(h(d())) = 0 >= 0 = mark(g(c())) mark(g(X)) = 0 >= 0 = active(g(X)) mark(h(X)) = 0 >= 0 = active(h(X)) mark(c()) = 0 >= 0 = active(c()) mark(d()) = 0 >= 0 = active(d()) g(mark(X)) = 4 >= 4 = g(X) g(active(X)) = 4 >= 4 = g(X) h(mark(X)) = 2 >= 2 = h(X) h(active(X)) = 2 >= 2 = h(X) problem: DPs: active#(g(X)) -> mark#(h(X)) mark#(g(X)) -> active#(g(X)) TRS: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) Arctic Interpretation Processor: dimension: 1 interpretation: [mark#](x0) = 1x0, [active#](x0) = x0, [d] = 1, [c] = 0, [mark](x0) = x0 + 1, [h](x0) = 3x0, [active](x0) = x0 + 1, [g](x0) = 4x0 orientation: active#(g(X)) = 4X >= 4X = mark#(h(X)) mark#(g(X)) = 5X >= 4X = active#(g(X)) active(g(X)) = 4X + 1 >= 3X + 1 = mark(h(X)) active(c()) = 1 >= 1 = mark(d()) active(h(d())) = 4 >= 4 = mark(g(c())) mark(g(X)) = 4X + 1 >= 4X + 1 = active(g(X)) mark(h(X)) = 3X + 1 >= 3X + 1 = active(h(X)) mark(c()) = 1 >= 1 = active(c()) mark(d()) = 1 >= 1 = active(d()) g(mark(X)) = 4X + 5 >= 4X = g(X) g(active(X)) = 4X + 5 >= 4X = g(X) h(mark(X)) = 3X + 4 >= 3X = h(X) h(active(X)) = 3X + 4 >= 3X = h(X) problem: DPs: active#(g(X)) -> mark#(h(X)) TRS: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) SCC Processor: #sccs: 0 #rules: 0 #arcs: 4/1 DPs: h#(mark(X)) -> h#(X) h#(active(X)) -> h#(X) TRS: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) Subterm Criterion Processor: simple projection: pi(h#) = 0 problem: DPs: TRS: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) Qed DPs: g#(mark(X)) -> g#(X) g#(active(X)) -> g#(X) TRS: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) Subterm Criterion Processor: simple projection: pi(g#) = 0 problem: DPs: TRS: active(g(X)) -> mark(h(X)) active(c()) -> mark(d()) active(h(d())) -> mark(g(c())) mark(g(X)) -> active(g(X)) mark(h(X)) -> active(h(X)) mark(c()) -> active(c()) mark(d()) -> active(d()) g(mark(X)) -> g(X) g(active(X)) -> g(X) h(mark(X)) -> h(X) h(active(X)) -> h(X) Qed