YES We show the termination of the TRS R: app(app(fmap(),fnil()),x) -> nil() app(app(fmap(),app(app(fcons(),f),t)),x) -> app(app(cons(),app(f,x)),app(app(fmap(),t),x)) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: app#(app(fmap(),app(app(fcons(),f),t)),x) -> app#(app(cons(),app(f,x)),app(app(fmap(),t),x)) p2: app#(app(fmap(),app(app(fcons(),f),t)),x) -> app#(cons(),app(f,x)) p3: app#(app(fmap(),app(app(fcons(),f),t)),x) -> app#(f,x) p4: app#(app(fmap(),app(app(fcons(),f),t)),x) -> app#(app(fmap(),t),x) p5: app#(app(fmap(),app(app(fcons(),f),t)),x) -> app#(fmap(),t) and R consists of: r1: app(app(fmap(),fnil()),x) -> nil() r2: app(app(fmap(),app(app(fcons(),f),t)),x) -> app(app(cons(),app(f,x)),app(app(fmap(),t),x)) The estimated dependency graph contains the following SCCs: {p3, p4} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: app#(app(fmap(),app(app(fcons(),f),t)),x) -> app#(f,x) p2: app#(app(fmap(),app(app(fcons(),f),t)),x) -> app#(app(fmap(),t),x) and R consists of: r1: app(app(fmap(),fnil()),x) -> nil() r2: app(app(fmap(),app(app(fcons(),f),t)),x) -> app(app(cons(),app(f,x)),app(app(fmap(),t),x)) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: app#_A(x1,x2) = max{0, x1 - 13} app_A(x1,x2) = max{x1 + 4, x2 + 6} fmap_A = 2 fcons_A = 3 precedence: app# = app = fmap = fcons partial status: pi(app#) = [] pi(app) = [1, 2] pi(fmap) = [] pi(fcons) = [] The next rules are strictly ordered: p2 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: app#(app(fmap(),app(app(fcons(),f),t)),x) -> app#(f,x) and R consists of: r1: app(app(fmap(),fnil()),x) -> nil() r2: app(app(fmap(),app(app(fcons(),f),t)),x) -> app(app(cons(),app(f,x)),app(app(fmap(),t),x)) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: app#(app(fmap(),app(app(fcons(),f),t)),x) -> app#(f,x) and R consists of: r1: app(app(fmap(),fnil()),x) -> nil() r2: app(app(fmap(),app(app(fcons(),f),t)),x) -> app(app(cons(),app(f,x)),app(app(fmap(),t),x)) The set of usable rules consists of (no rules) Take the reduction pair: weighted path order base order: max/plus interpretations on natural numbers: app#_A(x1,x2) = max{0, x1 - 2} app_A(x1,x2) = max{4, x1 - 3, x2 + 2} fmap_A = 6 fcons_A = 7 precedence: app# = app = fmap = fcons partial status: pi(app#) = [] pi(app) = [2] pi(fmap) = [] pi(fcons) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.