Term Rewriting System R: [x, y, z] rev(nil) -> nil rev(rev(x)) -> x rev(++(x, y)) -> ++(rev(y), rev(x)) ++(nil, y) -> y ++(x, nil) -> x ++(.(x, y), z) -> .(x, ++(y, z)) ++(x, ++(y, z)) -> ++(++(x, y), z) make(x) -> .(x, nil) Termination of R to be shown. Removing the following rules from R which fullfill a polynomial ordering: rev(nil) -> nil ++(nil, y) -> y ++(x, nil) -> x where the Polynomial interpretation: POL(nil) = 1 POL(++(x_1, x_2)) = x_1 + x_2 POL(rev(x_1)) = 2*x_1 POL(make(x_1)) = 1 + x_1 POL(.(x_1, x_2)) = x_1 + x_2 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: rev(rev(x)) -> x where the Polynomial interpretation: POL(nil) = 0 POL(++(x_1, x_2)) = 1 + x_1 + x_2 POL(rev(x_1)) = 1 + 2*x_1 POL(make(x_1)) = x_1 POL(.(x_1, x_2)) = x_1 + x_2 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: rev(++(x, y)) -> ++(rev(y), rev(x)) where the Polynomial interpretation: POL(nil) = 0 POL(++(x_1, x_2)) = 1 + x_1 + x_2 POL(rev(x_1)) = 2*x_1 POL(make(x_1)) = x_1 POL(.(x_1, x_2)) = x_1 + x_2 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: ++(x, ++(y, z)) -> ++(++(x, y), z) where the Polynomial interpretation: POL(nil) = 0 POL(++(x_1, x_2)) = 1 + x_1 + 2*x_2 POL(make(x_1)) = x_1 POL(.(x_1, x_2)) = x_1 + x_2 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: ++(.(x, y), z) -> .(x, ++(y, z)) where the Polynomial interpretation: POL(nil) = 0 POL(++(x_1, x_2)) = 2*x_1 + x_2 POL(make(x_1)) = 1 + x_1 POL(.(x_1, x_2)) = 1 + x_1 + x_2 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: make(x) -> .(x, nil) where the Polynomial interpretation: POL(nil) = 0 POL(make(x_1)) = 1 + x_1 POL(.(x_1, x_2)) = x_1 + x_2 was used. All Rules of R can be deleted. Termination of R successfully shown. Duration: 0.460 seconds.