TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60002 ms.
The following DP Processors were used
Problem 1 was processed with processor ForwardNarrowing (2ms).
| Problem 2 was processed with processor ForwardNarrowing (2ms).
| | Problem 3 was processed with processor ForwardNarrowing (1ms).
| | | Problem 4 was processed with processor ForwardNarrowing (5ms).
| | | | Problem 5 was processed with processor ForwardNarrowing (4ms).
| | | | | Problem 6 was processed with processor ForwardNarrowing (4ms).
| | | | | | Problem 7 was processed with processor ForwardNarrowing (2ms).
| | | | | | | Problem 8 was processed with processor ForwardNarrowing (3ms).
| | | | | | | | Problem 9 was processed with processor ForwardNarrowing (4ms).
| | | | | | | | | Problem 10 was processed with processor ForwardNarrowing (2ms).
| | | | | | | | | | Problem 11 was processed with processor ForwardNarrowing (3ms).
| | | | | | | | | | | Problem 12 was processed with processor ForwardNarrowing (4ms).
| | | | | | | | | | | | Problem 13 was processed with processor ForwardNarrowing (5ms).
| | | | | | | | | | | | | Problem 14 was processed with processor ForwardNarrowing (3ms).
| | | | | | | | | | | | | | Problem 15 was processed with processor ForwardNarrowing (4ms).
| | | | | | | | | | | | | | | Problem 16 was processed with processor ForwardNarrowing (3ms).
| | | | | | | | | | | | | | | | Problem 17 was processed with processor ForwardNarrowing (5ms).
| | | | | | | | | | | | | | | | | Problem 18 was processed with processor ForwardNarrowing (5ms).
| | | | | | | | | | | | | | | | | | Problem 19 was processed with processor ForwardNarrowing (8ms).
| | | | | | | | | | | | | | | | | | | Problem 20 was processed with processor ForwardNarrowing (5ms).
| | | | | | | | | | | | | | | | | | | | Problem 21 was processed with processor ForwardNarrowing (7ms).
| | | | | | | | | | | | | | | | | | | | | Problem 22 was processed with processor ForwardNarrowing (7ms).
| | | | | | | | | | | | | | | | | | | | | | Problem 23 was processed with processor ForwardNarrowing (19ms).
| | | | | | | | | | | | | | | | | | | | | | | Problem 24 was processed with processor ForwardNarrowing (15ms).
| | | | | | | | | | | | | | | | | | | | | | | | Problem 25 was processed with processor ForwardNarrowing (58ms).
| | | | | | | | | | | | | | | | | | | | | | | | | Problem 26 was processed with processor ForwardNarrowing (43ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem 27 was processed with processor ForwardNarrowing (43ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 28 was processed with processor ForwardNarrowing (65ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 29 was processed with processor ForwardNarrowing (19ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 30 was processed with processor ForwardNarrowing (30ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 31 was processed with processor ForwardNarrowing (55ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 32 was processed with processor ForwardNarrowing (72ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 33 was processed with processor ForwardNarrowing (82ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 34 was processed with processor ForwardNarrowing (64ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 35 was processed with processor ForwardNarrowing (65ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 36 remains open; application of the following processors failed [ForwardNarrowing (74ms), ForwardNarrowing (65ms), ForwardNarrowing (110ms), ForwardNarrowing (64ms), ForwardNarrowing (69ms), ForwardNarrowing (64ms), ForwardNarrowing (75ms), ForwardNarrowing (74ms), ForwardNarrowing (105ms), ForwardNarrowing (80ms), ForwardNarrowing (79ms), ForwardNarrowing (74ms), ForwardNarrowing (76ms), ForwardNarrowing (66ms), ForwardNarrowing (108ms), ForwardNarrowing (78ms), ForwardNarrowing (82ms), ForwardNarrowing (timeout)].
The following open problems remain:
Open Dependency Pair Problem 1
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, x)), y) | → | app#(add, x) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) |
app#(app(add, app(s, x)), y) | → | app#(s, app(app(add, x), y)) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, cons, nil
Problem 1: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, x)), y) | → | app#(add, x) |
app#(app(add, app(s, x)), y) | → | app#(s, app(app(add, x), y)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s,
x)),
y) → app
#(add,
x) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
Thus, the rule app
#(app(add, app(s,
x)),
y) → app
#(add,
x) is deleted.
Problem 2: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(add, app(s, x)), y) | → | app#(s, app(app(add, x), y)) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, cons, nil
Strategy
The right-hand side of the rule app
#(app(add, app(s,
x)),
y) → app
#(s, app(app(add,
x),
y)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(app(add, _x32), _x31))) | |
app#(s, app(id, y)) | |
Thus, the rule app
#(app(add, app(s,
x)),
y) → app
#(s, app(app(add,
x),
y)) is replaced by the following rules:
app#(app(add, app(s, 0)), y) → app#(s, app(id, y)) | app#(app(add, app(s, app(s, _x32))), _x31) → app#(s, app(s, app(app(add, _x32), _x31))) |
Problem 3: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(add, app(s, 0)), y) | → | app#(s, app(id, y)) | | app#(app(add, app(s, app(s, _x32))), _x31) | → | app#(s, app(s, app(app(add, _x32), _x31))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, 0)),
y) → app
#(s, app(id,
y)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, _x31) | |
Thus, the rule app
#(app(add, app(s, 0)),
y) → app
#(s, app(id,
y)) is replaced by the following rules:
app#(app(add, app(s, 0)), _x31) → app#(s, _x31) |
Problem 4: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(add, app(s, app(s, _x32))), _x31) | → | app#(s, app(s, app(app(add, _x32), _x31))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, cons, nil
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s,
_x32))),
_x31) → app
#(s, app(s, app(app(add,
_x32),
_x31))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(app(add, _x62), _x61)))) | |
app#(s, app(s, app(id, _x31))) | |
Thus, the rule app
#(app(add, app(s, app(s,
_x32))),
_x31) → app
#(s, app(s, app(app(add,
_x32),
_x31))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, _x62)))), _x61) → app#(s, app(s, app(s, app(app(add, _x62), _x61)))) | app#(app(add, app(s, app(s, 0))), _x31) → app#(s, app(s, app(id, _x31))) |
Problem 5: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(add, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(add, _x62), _x61)))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s,
_x62)))),
_x61) → app
#(s, app(s, app(s, app(app(add,
_x62),
_x61)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(id, _x61)))) | |
app#(s, app(s, app(s, app(s, app(app(add, _x72), _x71))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s,
_x62)))),
_x61) → app
#(s, app(s, app(s, app(app(add,
_x62),
_x61)))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, _x72))))), _x71) → app#(s, app(s, app(s, app(s, app(app(add, _x72), _x71))))) | app#(app(add, app(s, app(s, app(s, 0)))), _x61) → app#(s, app(s, app(s, app(id, _x61)))) |
Problem 6: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(add, app(s, app(s, app(s, app(s, _x72))))), _x71) | → | app#(s, app(s, app(s, app(s, app(app(add, _x72), _x71))))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(add, app(s, app(s, app(s, 0)))), _x61) | → | app#(s, app(s, app(s, app(id, _x61)))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, cons, nil
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s,
_x72))))),
_x71) → app
#(s, app(s, app(s, app(s, app(app(add,
_x72),
_x71))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(id, _x71))))) | |
app#(s, app(s, app(s, app(s, app(s, app(app(add, _x102), _x101)))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s,
_x72))))),
_x71) → app
#(s, app(s, app(s, app(s, app(app(add,
_x72),
_x71))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, 0))))), _x71) → app#(s, app(s, app(s, app(s, app(id, _x71))))) | app#(app(add, app(s, app(s, app(s, app(s, app(s, _x102)))))), _x101) → app#(s, app(s, app(s, app(s, app(s, app(app(add, _x102), _x101)))))) |
Problem 7: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(add, app(s, app(s, app(s, 0)))), _x61) | → | app#(s, app(s, app(s, app(id, _x61)))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(add, app(s, app(s, app(s, app(s, 0))))), _x71) | → | app#(s, app(s, app(s, app(s, app(id, _x71))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, _x102)))))), _x101) | → | app#(s, app(s, app(s, app(s, app(s, app(app(add, _x102), _x101)))))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, 0)))),
_x61) → app
#(s, app(s, app(s, app(id,
_x61)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, _x71))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, 0)))),
_x61) → app
#(s, app(s, app(s, app(id,
_x61)))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, 0)))), _x71) → app#(s, app(s, app(s, _x71))) |
Problem 8: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(add, app(s, app(s, app(s, app(s, 0))))), _x71) | → | app#(s, app(s, app(s, app(s, app(id, _x71))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, _x102)))))), _x101) | → | app#(s, app(s, app(s, app(s, app(s, app(app(add, _x102), _x101)))))) |
app#(app(add, app(s, app(s, app(s, 0)))), _x71) | → | app#(s, app(s, app(s, _x71))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) | | app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, cons, nil
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, 0))))),
_x71) → app
#(s, app(s, app(s, app(s, app(id,
_x71))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, _x101)))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, 0))))),
_x71) → app
#(s, app(s, app(s, app(s, app(id,
_x71))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, 0))))), _x101) → app#(s, app(s, app(s, app(s, _x101)))) |
Problem 9: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(add, app(s, app(s, app(s, 0)))), _x71) | → | app#(s, app(s, app(s, _x71))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, _x102)))))), _x101) | → | app#(s, app(s, app(s, app(s, app(s, app(app(add, _x102), _x101)))))) |
app#(app(add, app(s, app(s, app(s, app(s, 0))))), _x101) | → | app#(s, app(s, app(s, app(s, _x101)))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, 0))))),
_x101) → app
#(s, app(s, app(s, app(s,
_x101)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, 0))))),
_x101) → app
#(s, app(s, app(s, app(s,
_x101)))) is deleted.
Problem 10: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, _x102)))))), _x101) | → | app#(s, app(s, app(s, app(s, app(s, app(app(add, _x102), _x101)))))) | | app#(app(add, app(s, app(s, app(s, 0)))), _x71) | → | app#(s, app(s, app(s, _x71))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, cons, nil
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, 0)))),
_x71) → app
#(s, app(s, app(s,
_x71))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
Thus, the rule app
#(app(add, app(s, app(s, app(s, 0)))),
_x71) → app
#(s, app(s, app(s,
_x71))) is deleted.
Problem 11: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, _x102)))))), _x101) | → | app#(s, app(s, app(s, app(s, app(s, app(app(add, _x102), _x101)))))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s,
_x102)))))),
_x101) → app
#(s, app(s, app(s, app(s, app(s, app(app(add,
_x102),
_x101)))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(id, _x101)))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x112), _x111))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s,
_x102)))))),
_x101) → app
#(s, app(s, app(s, app(s, app(s, app(app(add,
_x102),
_x101)))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))), _x101) → app#(s, app(s, app(s, app(s, app(s, app(id, _x101)))))) | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, _x112))))))), _x111) → app#(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x112), _x111))))))) |
Problem 12: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))), _x101) | → | app#(s, app(s, app(s, app(s, app(s, app(id, _x101)))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, _x112))))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x112), _x111))))))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, cons, nil
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))),
_x101) → app
#(s, app(s, app(s, app(s, app(s, app(id,
_x101)))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, _x111))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))),
_x101) → app
#(s, app(s, app(s, app(s, app(s, app(id,
_x101)))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))), _x111) → app#(s, app(s, app(s, app(s, app(s, _x111))))) |
Problem 13: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, _x112))))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x112), _x111))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, _x111))))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) |
app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s,
_x112))))))),
_x111) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x112),
_x111))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(id, _x111))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x142), _x141)))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s,
_x112))))))),
_x111) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x112),
_x111))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))), _x111) → app#(s, app(s, app(s, app(s, app(s, app(s, app(id, _x111))))))) | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x142)))))))), _x141) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x142), _x141)))))))) |
Problem 14: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(id, _x111))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x142)))))))), _x141) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x142), _x141)))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, _x111))))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) | | app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, cons, nil
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))),
_x111) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x111))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, _x141)))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))),
_x111) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x111))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))), _x141) → app#(s, app(s, app(s, app(s, app(s, app(s, _x141)))))) |
Problem 15: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x142)))))))), _x141) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x142), _x141)))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))), _x141) | → | app#(s, app(s, app(s, app(s, app(s, app(s, _x141)))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, _x111))))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x142)))))))),
_x141) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x142),
_x141)))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x152), _x151))))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x141)))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x142)))))))),
_x141) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x142),
_x141)))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), _x141) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x141)))))))) | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x152))))))))), _x151) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x152), _x151))))))))) |
Problem 16: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))), _x141) | → | app#(s, app(s, app(s, app(s, app(s, app(s, _x141)))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), _x141) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x141)))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x152))))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x152), _x151))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, _x111))))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, cons, nil
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))),
_x141) → app
#(s, app(s, app(s, app(s, app(s, app(s,
_x141)))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))),
_x141) → app
#(s, app(s, app(s, app(s, app(s, app(s,
_x141)))))) is deleted.
Problem 17: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), _x141) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x141)))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x152))))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x152), _x151))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, _x111))))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))),
_x141) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x141)))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))),
_x141) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x141)))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), _x151) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) |
Problem 18: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x152))))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x152), _x151))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, _x111))))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, cons, nil
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x152))))))))),
_x151) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x152),
_x151))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x182), _x181)))))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x151))))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x152))))))))),
_x151) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x152),
_x151))))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x182)))))))))), _x181) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x182), _x181)))))))))) | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))), _x151) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x151))))))))) |
Problem 19: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x182)))))))))), _x181) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x182), _x181)))))))))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x151))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, _x111))))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x182)))))))))),
_x181) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x182),
_x181)))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x192), _x191))))))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x181)))))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x182)))))))))),
_x181) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x182),
_x181)))))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x192))))))))))), _x191) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x192), _x191))))))))))) | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))), _x181) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x181)))))))))) |
Problem 20: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))), _x181) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x181)))))))))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, app(s, 0))), _x31) | → | app#(s, app(s, app(id, _x31))) | | app#(app(add, app(s, 0)), _x31) | → | app#(s, _x31) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x192))))))))))), _x191) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x192), _x191))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x151))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, 0)))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, _x111))))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, cons, nil
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))),
_x181) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x181)))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x191))))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))),
_x181) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x181)))))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))), _x191) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x191))))))))) |
Problem 21: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))), _x331) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x331))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x372))))))))))))))))))), _x371) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x372), _x371))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))), _x341) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x341)))))))))))))))))) | | app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))), _x331) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x331))))))))))))))) | | app#(app(map, app(add, app(s, _x32))), app(app(cons, _x31), xs)) | → | app#(cons, app(s, app(app(add, _x32), _x31))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))), _x271) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x271))))))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))),
_x331) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x331))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x341)))))))))))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))),
_x331) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x331))))))))))))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))), _x341) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x341)))))))))))))))) |
Problem 22: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))), app(app(cons, _x331), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x331))))))))))))))) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))), app(app(cons, _x271), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x271))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))), app(app(cons, _x261), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x261)))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))), _x331) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x331))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))), _x271) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x271))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x221)))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x432))))))))))))))))))))))), _x431) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x432), _x431))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x332))))))))))))))))), app(app(cons, _x331), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x332), _x331))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x221)))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))), app(app(cons,
_x331),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x331))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
Thus, the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))), app(app(cons,
_x331),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x331))))))))))))))) is deleted.
Problem 23: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))), _x771) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x771))))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x782)))))))))))))))))))))))))))))))))))))))), _x781) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x782), _x781)))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))), _x771) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x771))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))), _x621) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x621)))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))), _x571) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x571))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))), _x631) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x631))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x221)))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))), _x271) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x271))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x332))))))))))))))))), app(app(cons, _x331), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x332), _x331))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x221)))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))),
_x771) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x771))))))))))))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x781)))))))))))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))),
_x771) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x771))))))))))))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))), _x781) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x781)))))))))))))))))))))))))))))))))))))) |
Problem 24: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x582)))))))))))))))))))))))))))))), app(app(cons, _x581), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x582), _x581)))))))))))))))))))))))))))))) | | app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))), app(app(cons, _x541), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x541)))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))), app(app(cons, _x501), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x501)))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))), app(app(cons, _x421), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x421)))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))), app(app(cons, _x531), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x531))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))), app(app(cons, _x421), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x421)))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x221)))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))), _x271) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x271))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x221)))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x862)))))))))))))))))))))))))))))))))))))))))))), _x861) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x862), _x861)))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))), _x781) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x781)))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x582)))))))))))))))))))))))))))))), app(app(cons,
_x581),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x582),
_x581)))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x612), _x611))))))))))))))))))))))))))))))) | |
app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x581)))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x582)))))))))))))))))))))))))))))), app(app(cons,
_x581),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x582),
_x581)))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))), app(app(cons, _x581), xs)) → app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x581)))))))))))))))))))))))))))))) | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x612))))))))))))))))))))))))))))))), app(app(cons, _x611), xs)) → app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x612), _x611))))))))))))))))))))))))))))))) |
Problem 25: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x931), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x931))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x871), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x871))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x932))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x931), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x932), _x931))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))), app(app(cons, _x741), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x741)))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))), app(app(cons, _x421), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x421)))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x221)))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x221)))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x862)))))))))))))))))))))))))))))))))))))))))))), _x861) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x862), _x861)))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))), _x271) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x271))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))), app(app(cons, _x781), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x781)))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))), app(app(cons, _x611), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x611))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))), _x781) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x781)))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x931),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x931))))))))))))))))))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
Thus, the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x931),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x931))))))))))))))))))))))))))))))))))))))))))))) is deleted.
Problem 26: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1261), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1261)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1302)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1301), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x1302), _x1301)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1171), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1171))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1261), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1261)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))), app(app(cons, _x741), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x741)))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x981), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x981)))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))), app(app(cons, _x421), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x421)))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x901), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x901)))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))), _x271) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x271))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x221)))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x862)))))))))))))))))))))))))))))))))))))))))))), _x861) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x862), _x861)))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))), app(app(cons, _x781), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x781)))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))), app(app(cons, _x611), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x611))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))), _x781) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x781)))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1021), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1021)))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x221)))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x981), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x981)))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x1261),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x1261)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1271))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x1261),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x1261)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1271), xs)) → app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1271))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Problem 27: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1571), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1571))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1572))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1571), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x1572), _x1571))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1531), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1531))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1471), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1471))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))), _x781) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x781)))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x221)))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x981), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x981)))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))), app(app(cons, _x611), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x611))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x862)))))))))))))))))))))))))))))))))))))))))))), _x861) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x862), _x861)))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x1571),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1571))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
Thus, the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x1571),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1571))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is deleted.
Problem 28: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1901), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1901)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1932))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1931), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x1932), _x1931))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1831), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1831))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1821), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1821)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1701), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1701)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1731), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1731))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))), app(app(cons, _x611), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x611))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x862)))))))))))))))))))))))))))))))))))))))))))), _x861) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x862), _x861)))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))), _x781) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x781)))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x981), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x981)))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x221)))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x1901),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x1901)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1931))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x1901),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x1901)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1931), xs)) → app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1931))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Problem 29: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x902)))))))))))))))))))))))))))))))))))))))))))))), _x901) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x902), _x901)))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))), _x871) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x871))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))), _x871) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x871))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x981), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x981)))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x221)))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))), app(app(cons, _x611), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x611))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2172))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2171), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x2172), _x2171))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x902)))))))))))))))))))))))))))))))))))))))))))))),
_x901) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x902),
_x901)))))))))))))))))))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x932), _x931))))))))))))))))))))))))))))))))))))))))))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x901)))))))))))))))))))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x902)))))))))))))))))))))))))))))))))))))))))))))),
_x901) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x902),
_x901)))))))))))))))))))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x932))))))))))))))))))))))))))))))))))))))))))))))), _x931) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x932), _x931))))))))))))))))))))))))))))))))))))))))))))))) | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))), _x901) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x901)))))))))))))))))))))))))))))))))))))))))))))) |
Problem 30: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1232))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1231) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x1232), _x1231))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1221) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1221)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1211) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1211))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1221) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1221)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x981), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x981)))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2172))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2171), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x2172), _x2171))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))), app(app(cons, _x611), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x611))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x221)))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1232))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x1231) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x1232),
_x1231))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x1262), _x1261)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1231))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1232))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x1231) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x1232),
_x1231))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1231) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1231))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1262)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1261) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x1262), _x1261)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Problem 31: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2272))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2271), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x2272), _x2271))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2271), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2271))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2181), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x2181)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x981), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x981)))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1432))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1431) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x1432), _x1431))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x221)))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x2271),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x2271))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
Thus, the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x2271),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x2271))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is deleted.
Problem 32: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2581), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x2581)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2612))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2611), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x2612), _x2611))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))), app(app(cons, _x221), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x221)))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1432))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1431) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x1432), _x1431))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x2581),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x2581)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2611))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x2581),
xs)) → app
#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id,
_x2581)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2611), xs)) → app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2611))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Problem 33: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1732))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1731) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x1732), _x1731))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1701) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1701)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1671) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1671))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1671) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1671))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2672))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2671), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x2672), _x2671))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1571) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1571))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1732))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x1731) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x1732),
_x1731))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1731))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x1742), _x1741)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1732))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x1731) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x1732),
_x1731))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1742)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1741) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x1742), _x1741)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1731) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1731))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Problem 34: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2072))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2071) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x2072), _x2071))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2021) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2021)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1981) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1981)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2061) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x2061)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2061) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2061)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2021) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x2021)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1571) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1571))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1771) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1771))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2672))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2671), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x2672), _x2671))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x2072))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x2071) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x2072),
_x2071))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x2071))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x2102), _x2101)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x2072))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x2071) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add,
_x2072),
_x2071))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2071) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x2071))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2102)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2101) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x2102), _x2101)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Problem 35: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2331) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2331))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | | app#(app(add, app(s, x)), y) | → | app#(app(add, x), y) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2371) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x2371))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2331) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x2331))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2411) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x2411))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2432))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2431) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x2432), _x2431))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2021) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x2021)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2381) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x2381)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(map, app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2672))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2671), xs)) | → | app#(cons, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(add, _x2672), _x2671))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2011) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2011))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1771) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1771))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1571) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(id, _x1571))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(id, x) | → | x | | app(add, 0) | → | id |
app(app(add, app(s, x)), y) | → | app(s, app(app(add, x), y)) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: id, app, 0, s, map, add, nil, cons
Strategy
The right-hand side of the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x2331) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x2331))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
Thus, the rule app
#(app(add, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x2331) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x2331))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is deleted.