Term Rewriting System R: [x, y] app(intlist, nil) -> nil app(intlist, app(app(cons, x), y)) -> app(app(cons, app(s, x)), app(intlist, y)) app(app(int, 0), 0) -> app(app(cons, 0), nil) app(app(int, 0), app(s, y)) -> app(app(cons, 0), app(app(int, app(s, 0)), app(s, y))) app(app(int, app(s, x)), 0) -> nil app(app(int, app(s, x)), app(s, y)) -> app(intlist, app(app(int, x), y)) Innermost Termination of R to be shown. Removing the following rules from R which fullfill a polynomial ordering: app(app(int, 0), 0) -> app(app(cons, 0), nil) app(app(int, app(s, x)), 0) -> nil where the Polynomial interpretation: POL(nil) = 0 POL(s) = 0 POL(intlist) = 0 POL(int) = 1 POL(app(x_1, x_2)) = x_1 + x_2 POL(0) = 0 POL(cons) = 0 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. R contains the following Dependency Pairs: APP(app(int, app(s, x)), app(s, y)) -> APP(intlist, app(app(int, x), y)) APP(app(int, app(s, x)), app(s, y)) -> APP(app(int, x), y) APP(app(int, app(s, x)), app(s, y)) -> APP(int, x) APP(intlist, app(app(cons, x), y)) -> APP(app(cons, app(s, x)), app(intlist, y)) APP(intlist, app(app(cons, x), y)) -> APP(cons, app(s, x)) APP(intlist, app(app(cons, x), y)) -> APP(s, x) APP(intlist, app(app(cons, x), y)) -> APP(intlist, y) APP(app(int, 0), app(s, y)) -> APP(app(cons, 0), app(app(int, app(s, 0)), app(s, y))) APP(app(int, 0), app(s, y)) -> APP(cons, 0) APP(app(int, 0), app(s, y)) -> APP(app(int, app(s, 0)), app(s, y)) APP(app(int, 0), app(s, y)) -> APP(int, app(s, 0)) APP(app(int, 0), app(s, y)) -> APP(s, 0) Furthermore, R contains one SCC. SCC1: APP(intlist, app(app(cons, x), y)) -> APP(intlist, y) APP(app(int, 0), app(s, y)) -> APP(app(int, app(s, 0)), app(s, y)) APP(app(int, 0), app(s, y)) -> APP(app(cons, 0), app(app(int, app(s, 0)), app(s, y))) APP(app(int, app(s, x)), app(s, y)) -> APP(app(int, x), y) APP(intlist, app(app(cons, x), y)) -> APP(app(cons, app(s, x)), app(intlist, y)) APP(app(int, app(s, x)), app(s, y)) -> APP(intlist, app(app(int, x), y)) By using a polynomial ordering, at least one Dependency Pair of this SCC can be strictly oriented. Additionally, the following rules can be oriented: app(intlist, nil) -> nil app(app(int, app(s, x)), app(s, y)) -> app(intlist, app(app(int, x), y)) app(intlist, app(app(cons, x), y)) -> app(app(cons, app(s, x)), app(intlist, y)) app(app(int, 0), app(s, y)) -> app(app(cons, 0), app(app(int, app(s, 0)), app(s, y))) Used ordering: Polynomial ordering with Polynomial interpretation: POL(nil) = 0 POL(s) = 0 POL(APP(x_1, x_2)) = x_1 POL(intlist) = 0 POL(int) = 1 POL(app(x_1, x_2)) = x_1 POL(0) = 0 POL(cons) = 0 resulting in two subcycles. SCC1.Polo1: APP(app(int, 0), app(s, y)) -> APP(app(int, app(s, 0)), app(s, y)) APP(app(int, app(s, x)), app(s, y)) -> APP(app(int, x), y) By using a polynomial ordering, at least one Dependency Pair of this SCC can be strictly oriented. No rules need to be oriented. Used ordering: Polynomial ordering with Polynomial interpretation: POL(nil) = 0 POL(s) = 0 POL(APP(x_1, x_2)) = x_2 POL(intlist) = 0 POL(int) = 0 POL(app(x_1, x_2)) = 1 + x_2 POL(0) = 0 POL(cons) = 0 resulting in one subcycle. SCC1.Polo1.Polo1: APP(app(int, 0), app(s, y)) -> APP(app(int, app(s, 0)), app(s, y)) On this Scc, a Narrowing SCC transformation can be performed. As a result of transforming the rule APP(app(int, 0), app(s, y)) -> APP(app(int, app(s, 0)), app(s, y)) no new Dependency Pairs are created. none The transformation is resulting in no subcycles. SCC1.Polo2: APP(intlist, app(app(cons, x), y)) -> APP(intlist, y) Removing rules from R by ordering and analyzing Dependency Pairs, Usable Rules, and Usable Equations. This is possible by using the following (C_E-compatible) Polynomial ordering. Polynomial interpretation: POL(APP(x_1, x_2)) = 1 + x_1 + x_2 POL(intlist) = 1 POL(app(x_1, x_2)) = 1 + x_1 + x_2 POL(cons) = 1 The following Dependency Pairs can be deleted: APP(intlist, app(app(cons, x), y)) -> APP(intlist, y) This transformation is resulting in no new subcycles. Innermost Termination of R successfully shown. Duration: 1.644 seconds.