TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60000 ms.
The following DP Processors were used
Problem 1 was processed with processor ForwardNarrowing (4ms).
| Problem 2 was processed with processor ForwardNarrowing (2ms).
| | Problem 3 was processed with processor ForwardNarrowing (3ms).
| | | Problem 4 was processed with processor ForwardNarrowing (2ms).
| | | | Problem 5 was processed with processor ForwardNarrowing (3ms).
| | | | | Problem 6 was processed with processor ForwardNarrowing (4ms).
| | | | | | Problem 7 was processed with processor ForwardNarrowing (1ms).
| | | | | | | Problem 8 was processed with processor ForwardNarrowing (1ms).
| | | | | | | | Problem 9 was processed with processor ForwardNarrowing (1ms).
| | | | | | | | | Problem 10 was processed with processor ForwardNarrowing (2ms).
| | | | | | | | | | Problem 11 was processed with processor ForwardNarrowing (2ms).
| | | | | | | | | | | Problem 12 was processed with processor ForwardNarrowing (5ms).
| | | | | | | | | | | | Problem 13 was processed with processor ForwardNarrowing (3ms).
| | | | | | | | | | | | | Problem 14 was processed with processor ForwardNarrowing (4ms).
| | | | | | | | | | | | | | Problem 15 was processed with processor ForwardNarrowing (2ms).
| | | | | | | | | | | | | | | Problem 16 was processed with processor ForwardNarrowing (1ms).
| | | | | | | | | | | | | | | | Problem 17 was processed with processor ForwardNarrowing (4ms).
| | | | | | | | | | | | | | | | | Problem 18 was processed with processor ForwardNarrowing (3ms).
| | | | | | | | | | | | | | | | | | Problem 19 was processed with processor ForwardNarrowing (3ms).
| | | | | | | | | | | | | | | | | | | Problem 20 was processed with processor ForwardNarrowing (3ms).
| | | | | | | | | | | | | | | | | | | | Problem 21 was processed with processor ForwardNarrowing (7ms).
| | | | | | | | | | | | | | | | | | | | | Problem 22 was processed with processor ForwardNarrowing (13ms).
| | | | | | | | | | | | | | | | | | | | | | Problem 23 was processed with processor ForwardNarrowing (30ms).
| | | | | | | | | | | | | | | | | | | | | | | Problem 24 was processed with processor ForwardNarrowing (25ms).
| | | | | | | | | | | | | | | | | | | | | | | | Problem 25 was processed with processor ForwardNarrowing (49ms).
| | | | | | | | | | | | | | | | | | | | | | | | | Problem 26 was processed with processor ForwardNarrowing (85ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem 27 was processed with processor ForwardNarrowing (18ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 28 was processed with processor ForwardNarrowing (34ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 29 was processed with processor ForwardNarrowing (58ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 30 was processed with processor ForwardNarrowing (66ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 31 was processed with processor ForwardNarrowing (102ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 32 remains open; application of the following processors failed [ForwardNarrowing (161ms), ForwardNarrowing (118ms), ForwardNarrowing (102ms), ForwardNarrowing (160ms), ForwardNarrowing (108ms), ForwardNarrowing (123ms), ForwardNarrowing (170ms), ForwardNarrowing (109ms), ForwardNarrowing (110ms), ForwardNarrowing (124ms), ForwardNarrowing (133ms), ForwardNarrowing (108ms), ForwardNarrowing (88ms), ForwardNarrowing (90ms), ForwardNarrowing (103ms), ForwardNarrowing (128ms), ForwardNarrowing (123ms), ForwardNarrowing (122ms), ForwardNarrowing (123ms), ForwardNarrowing (153ms), ForwardNarrowing (129ms), ForwardNarrowing (129ms), ForwardNarrowing (158ms), ForwardNarrowing (111ms), ForwardNarrowing (102ms), ForwardNarrowing (99ms), ForwardNarrowing (124ms), ForwardNarrowing (76ms), ForwardNarrowing (65ms), ForwardNarrowing (80ms), ForwardNarrowing (68ms), ForwardNarrowing (80ms), ForwardNarrowing (65ms), ForwardNarrowing (79ms), ForwardNarrowing (86ms), ForwardNarrowing (85ms), ForwardNarrowing (71ms), ForwardNarrowing (69ms), ForwardNarrowing (72ms), ForwardNarrowing (81ms), ForwardNarrowing (84ms), ForwardNarrowing (70ms), ForwardNarrowing (88ms), ForwardNarrowing (74ms), ForwardNarrowing (89ms), ForwardNarrowing (timeout)].
The following open problems remain:
Open Dependency Pair Problem 1
Dependency Pairs
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(sumwith, f) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(plus, app(s, x)), y) | → | app#(s, app(app(plus, x), y)) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(plus, app(f, x)) |
app#(app(plus, app(s, x)), y) | → | app#(plus, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: plus, app, 0, s, sumwith, cons, nil
Problem 1: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(sumwith, f) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(plus, app(s, x)), y) | → | app#(s, app(app(plus, x), y)) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(plus, app(f, x)) |
app#(app(plus, app(s, x)), y) | → | app#(plus, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith,
f), app(app(cons,
x),
xs)) → app
#(sumwith,
f) 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(sumwith,
f), app(app(cons,
x),
xs)) → app
#(sumwith,
f) is deleted.
Problem 2: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) | | app#(app(plus, app(s, x)), y) | → | app#(s, app(app(plus, x), y)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(plus, app(f, x)) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: plus, app, 0, s, sumwith, cons, nil
Strategy
The right-hand side of the rule app
#(app(plus, app(s,
x)),
y) → app
#(s, app(app(plus,
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, _x31) | |
app#(s, app(s, app(app(plus, _x32), _x31))) | |
Thus, the rule app
#(app(plus, app(s,
x)),
y) → app
#(s, app(app(plus,
x),
y)) is replaced by the following rules:
app#(app(plus, app(s, app(s, _x32))), _x31) → app#(s, app(s, app(app(plus, _x32), _x31))) | app#(app(plus, app(s, 0)), _x31) → app#(s, _x31) |
Problem 3: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(plus, app(s, app(s, _x32))), _x31) | → | app#(s, app(s, app(app(plus, _x32), _x31))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(plus, app(f, x)) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s,
_x32))),
_x31) → app
#(s, app(s, app(app(plus,
_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, _x61)) | |
app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) | |
Thus, the rule app
#(app(plus, app(s, app(s,
_x32))),
_x31) → app
#(s, app(s, app(app(plus,
_x32),
_x31))) is replaced by the following rules:
app#(app(plus, app(s, app(s, 0))), _x61) → app#(s, app(s, _x61)) | app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) → app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) |
Problem 4: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) | | app#(app(plus, app(s, app(s, 0))), _x61) | → | app#(s, app(s, _x61)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(plus, app(f, x)) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) |
app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: plus, app, 0, s, sumwith, cons, nil
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, 0))),
_x61) → app
#(s, app(s,
_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 |
---|
Thus, the rule app
#(app(plus, app(s, app(s, 0))),
_x61) → app
#(s, app(s,
_x61)) is deleted.
Problem 5: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(plus, app(f, x)) |
app#(app(plus, app(s, x)), y) | → | app#(plus, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) | | app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith,
f), app(app(cons,
x),
xs)) → app
#(plus, app(
f,
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 |
---|
app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | |
app#(plus, _x31) | |
app#(plus, app(s, app(app(plus, _x32), _x31))) | |
app#(plus, nil) | |
Thus, the rule app
#(app(sumwith,
f), app(app(cons,
x),
xs)) → app
#(plus, app(
f,
x)) is replaced by the following rules:
app#(app(sumwith, app(plus, 0)), app(app(cons, _x31), xs)) → app#(plus, _x31) | app#(app(sumwith, app(plus, app(s, _x32))), app(app(cons, _x31), xs)) → app#(plus, app(s, app(app(plus, _x32), _x31))) |
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) → app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | app#(app(sumwith, app(sumwith, _x31)), app(app(cons, nil), xs)) → app#(plus, nil) |
Problem 6: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(plus, 0)), app(app(cons, _x31), xs)) | → | app#(plus, _x31) | | app#(app(sumwith, app(plus, app(s, _x32))), app(app(cons, _x31), xs)) | → | app#(plus, app(s, app(app(plus, _x32), _x31))) |
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, nil), xs)) | → | app#(plus, nil) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) |
app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: plus, app, 0, s, sumwith, cons, nil
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s,
_x32))), app(app(cons,
_x31),
xs)) → app
#(plus, app(s, app(app(plus,
_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#(plus, app(s, app(s, app(app(plus, _x62), _x61)))) | |
app#(plus, app(s, _x61)) | |
Thus, the rule app
#(app(sumwith, app(plus, app(s,
_x32))), app(app(cons,
_x31),
xs)) → app
#(plus, app(s, app(app(plus,
_x32),
_x31))) is replaced by the following rules:
app#(app(sumwith, app(plus, app(s, app(s, _x62)))), app(app(cons, _x61), xs)) → app#(plus, app(s, app(s, app(app(plus, _x62), _x61)))) | app#(app(sumwith, app(plus, app(s, 0))), app(app(cons, _x61), xs)) → app#(plus, app(s, _x61)) |
Problem 7: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, app(plus, 0)), app(app(cons, _x31), xs)) | → | app#(plus, _x31) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) | | app#(app(sumwith, app(sumwith, _x31)), app(app(cons, nil), xs)) | → | app#(plus, nil) |
app#(app(sumwith, app(plus, app(s, app(s, _x62)))), app(app(cons, _x61), xs)) | → | app#(plus, app(s, app(s, app(app(plus, _x62), _x61)))) | | app#(app(sumwith, app(plus, app(s, 0))), app(app(cons, _x61), xs)) | → | app#(plus, app(s, _x61)) |
app#(app(plus, app(s, x)), y) | → | app#(plus, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) | | app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, 0)), app(app(cons,
_x31),
xs)) → app
#(plus,
_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 |
---|
Thus, the rule app
#(app(sumwith, app(plus, 0)), app(app(cons,
_x31),
xs)) → app
#(plus,
_x31) is deleted.
Problem 8: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, app(plus, app(s, 0))), app(app(cons, _x61), xs)) | → | app#(plus, app(s, _x61)) | | app#(app(sumwith, app(plus, app(s, app(s, _x62)))), app(app(cons, _x61), xs)) | → | app#(plus, app(s, app(s, app(app(plus, _x62), _x61)))) |
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, nil), xs)) | → | app#(plus, nil) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) |
app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: plus, app, 0, s, sumwith, cons, nil
Strategy
The right-hand side of the rule app
#(app(sumwith, app(sumwith,
_x31)), app(app(cons, nil),
xs)) → app
#(plus, nil) 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(sumwith, app(sumwith,
_x31)), app(app(cons, nil),
xs)) → app
#(plus, nil) is deleted.
Problem 9: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, app(plus, app(s, app(s, _x62)))), app(app(cons, _x61), xs)) | → | app#(plus, app(s, app(s, app(app(plus, _x62), _x61)))) | | app#(app(sumwith, app(plus, app(s, 0))), app(app(cons, _x61), xs)) | → | app#(plus, app(s, _x61)) |
app#(app(plus, app(s, x)), y) | → | app#(plus, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) | | app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, 0))), app(app(cons,
_x61),
xs)) → app
#(plus, app(s,
_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 |
---|
Thus, the rule app
#(app(sumwith, app(plus, app(s, 0))), app(app(cons,
_x61),
xs)) → app
#(plus, app(s,
_x61)) is deleted.
Problem 10: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, app(plus, app(s, app(s, _x62)))), app(app(cons, _x61), xs)) | → | app#(plus, app(s, app(s, app(app(plus, _x62), _x61)))) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) |
app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: plus, app, 0, s, sumwith, cons, nil
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s,
_x62)))), app(app(cons,
_x61),
xs)) → app
#(plus, app(s, app(s, app(app(plus,
_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#(plus, app(s, app(s, _x71))) | |
app#(plus, app(s, app(s, app(s, app(app(plus, _x72), _x71))))) | |
Thus, the rule app
#(app(sumwith, app(plus, app(s, app(s,
_x62)))), app(app(cons,
_x61),
xs)) → app
#(plus, app(s, app(s, app(app(plus,
_x62),
_x61)))) is replaced by the following rules:
app#(app(sumwith, app(plus, app(s, app(s, 0)))), app(app(cons, _x71), xs)) → app#(plus, app(s, app(s, _x71))) | app#(app(sumwith, app(plus, app(s, app(s, app(s, _x72))))), app(app(cons, _x71), xs)) → app#(plus, app(s, app(s, app(s, app(app(plus, _x72), _x71))))) |
Problem 11: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, app(plus, app(s, app(s, 0)))), app(app(cons, _x71), xs)) | → | app#(plus, app(s, app(s, _x71))) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, _x72))))), app(app(cons, _x71), xs)) | → | app#(plus, app(s, app(s, app(s, app(app(plus, _x72), _x71))))) |
app#(app(plus, app(s, x)), y) | → | app#(plus, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) | | app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, 0)))), app(app(cons,
_x71),
xs)) → app
#(plus, 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(sumwith, app(plus, app(s, app(s, 0)))), app(app(cons,
_x71),
xs)) → app
#(plus, app(s, app(s,
_x71))) is deleted.
Problem 12: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, _x72))))), app(app(cons, _x71), xs)) | → | app#(plus, app(s, app(s, app(s, app(app(plus, _x72), _x71))))) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) |
app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: plus, app, 0, s, sumwith, cons, nil
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s,
_x72))))), app(app(cons,
_x71),
xs)) → app
#(plus, app(s, app(s, app(s, app(app(plus,
_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#(plus, app(s, app(s, app(s, app(s, app(app(plus, _x102), _x101)))))) | |
app#(plus, app(s, app(s, app(s, _x101)))) | |
Thus, the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s,
_x72))))), app(app(cons,
_x71),
xs)) → app
#(plus, app(s, app(s, app(s, app(app(plus,
_x72),
_x71))))) is replaced by the following rules:
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, _x102)))))), app(app(cons, _x101), xs)) → app#(plus, app(s, app(s, app(s, app(s, app(app(plus, _x102), _x101)))))) | app#(app(sumwith, app(plus, app(s, app(s, app(s, 0))))), app(app(cons, _x101), xs)) → app#(plus, app(s, app(s, app(s, _x101)))) |
Problem 13: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, _x102)))))), app(app(cons, _x101), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(app(plus, _x102), _x101)))))) | | app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, 0))))), app(app(cons, _x101), xs)) | → | app#(plus, app(s, app(s, app(s, _x101)))) |
app#(app(plus, app(s, x)), y) | → | app#(plus, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) | | app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s,
_x102)))))), app(app(cons,
_x101),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(app(plus,
_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#(plus, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x112), _x111))))))) | |
app#(plus, app(s, app(s, app(s, app(s, _x111))))) | |
Thus, the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s,
_x102)))))), app(app(cons,
_x101),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(app(plus,
_x102),
_x101)))))) is replaced by the following rules:
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, 0)))))), app(app(cons, _x111), xs)) → app#(plus, app(s, app(s, app(s, app(s, _x111))))) | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, _x112))))))), app(app(cons, _x111), xs)) → app#(plus, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x112), _x111))))))) |
Problem 14: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, 0)))))), app(app(cons, _x111), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, _x111))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, 0))))), app(app(cons, _x101), xs)) | → | app#(plus, app(s, app(s, app(s, _x101)))) |
app#(app(plus, app(s, x)), y) | → | app#(plus, x) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, _x112))))))), app(app(cons, _x111), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x112), _x111))))))) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) |
app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: plus, app, 0, s, sumwith, cons, nil
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, 0)))))), app(app(cons,
_x111),
xs)) → app
#(plus, app(s, app(s, app(s, app(s,
_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 |
---|
Thus, the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, 0)))))), app(app(cons,
_x111),
xs)) → app
#(plus, app(s, app(s, app(s, app(s,
_x111))))) is deleted.
Problem 15: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, 0))))), app(app(cons, _x101), xs)) | → | app#(plus, app(s, app(s, app(s, _x101)))) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, _x112))))))), app(app(cons, _x111), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x112), _x111))))))) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) | | app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, 0))))), app(app(cons,
_x101),
xs)) → app
#(plus, 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(sumwith, app(plus, app(s, app(s, app(s, 0))))), app(app(cons,
_x101),
xs)) → app
#(plus, app(s, app(s, app(s,
_x101)))) is deleted.
Problem 16: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(plus, app(s, x)), y) | → | app#(plus, x) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, _x112))))))), app(app(cons, _x111), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x112), _x111))))))) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) |
app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: plus, app, 0, s, sumwith, cons, nil
Strategy
The right-hand side of the rule app
#(app(plus, app(s,
x)),
y) → app
#(plus,
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(plus, app(s,
x)),
y) → app
#(plus,
x) is deleted.
Problem 17: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, _x112))))))), app(app(cons, _x111), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x112), _x111))))))) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) | | app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s,
_x112))))))), app(app(cons,
_x111),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(app(plus,
_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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x142), _x141)))))))) | |
app#(plus, app(s, app(s, app(s, app(s, app(s, _x141)))))) | |
Thus, the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s,
_x112))))))), app(app(cons,
_x111),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(app(plus,
_x112),
_x111))))))) is replaced by the following rules:
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, _x142)))))))), app(app(cons, _x141), xs)) → app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x142), _x141)))))))) | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, 0))))))), app(app(cons, _x141), xs)) → app#(plus, app(s, app(s, app(s, app(s, app(s, _x141)))))) |
Problem 18: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, _x142)))))))), app(app(cons, _x141), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x142), _x141)))))))) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, 0))))))), app(app(cons, _x141), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, _x141)))))) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) |
app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: plus, app, 0, s, sumwith, cons, nil
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s,
_x142)))))))), app(app(cons,
_x141),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus,
_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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) | |
app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x152), _x151))))))))) | |
Thus, the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s,
_x142)))))))), app(app(cons,
_x141),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus,
_x142),
_x141)))))))) is replaced by the following rules:
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), app(app(cons, _x151), xs)) → app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x152))))))))), app(app(cons, _x151), xs)) → app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x152), _x151))))))))) |
Problem 19: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), app(app(cons, _x151), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, 0))))))), app(app(cons, _x141), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, _x141)))))) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x152))))))))), app(app(cons, _x151), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x152), _x151))))))))) | | app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), app(app(cons,
_x151),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s,
_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 |
---|
Thus, the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), app(app(cons,
_x151),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s,
_x151))))))) is deleted.
Problem 20: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, 0))))))), app(app(cons, _x141), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, _x141)))))) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x152))))))))), app(app(cons, _x151), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x152), _x151))))))))) | | app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) |
app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: plus, app, 0, s, sumwith, cons, nil
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, 0))))))), app(app(cons,
_x141),
xs)) → app
#(plus, 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(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, 0))))))), app(app(cons,
_x141),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s,
_x141)))))) is deleted.
Problem 21: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(plus, app(s, app(s, app(s, app(s, 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))))))))))))))))), _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(app(plus, _x332), _x331))))))))))))))))) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))))))), _x221) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x221)))))))))) | | app#(app(plus, app(s, app(s, app(s, 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(plus, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x222)))))))))))), app(app(cons, _x221), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x222), _x221)))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, app(s, app(s, 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))))))))))))))))),
_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(app(plus,
_x332),
_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, app(s, app(app(plus, _x342), _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)))))))))))))))) | |
Thus, the rule app
#(app(plus, app(s, app(s, app(s, app(s, 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))))))))))))))))),
_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(app(plus,
_x332),
_x331))))))))))))))))) is replaced by the following rules:
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x342)))))))))))))))))), _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(app(plus, _x342), _x341)))))))))))))))))) | app#(app(plus, app(s, app(s, app(s, app(s, 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(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x571), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x572))))))))))))))))))))))))))))), app(app(cons, _x571), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x572), _x571))))))))))))))))))))))))))))) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x541)))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x472))))))))))))))))))))))))), _x471) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x472), _x471))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x572))))))))))))))))))))))))))))), app(app(cons,
_x571),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus,
_x572),
_x571))))))))))))))))))))))))))))) 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x582), _x581)))))))))))))))))))))))))))))) | |
app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x581)))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x572))))))))))))))))))))))))))))), app(app(cons,
_x571),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus,
_x572),
_x571))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x581)))))))))))))))))))))))))))) | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x582), _x581)))))))))))))))))))))))))))))) |
Problem 23: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1102)))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1101), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x1102), _x1101)))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x1101), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1101)))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x1061), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1061)))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x861), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x861)))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x771), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x1071), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1071))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x1011), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1011))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x472))))))))))))))))))))))))), _x471) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x472), _x471))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1102)))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x1101),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus,
_x1102),
_x1101)))))))))))))))))))))))))))))))))))))))))))))))))))))))) 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1131))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x1132), _x1131))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1102)))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x1101),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus,
_x1102),
_x1101)))))))))))))))))))))))))))))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1132))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1131), xs)) → app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x1132), _x1131))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x1131), xs)) → app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1131))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Problem 24: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x1181), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1181)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x472))))))))))))))))))))))))), _x471) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x472), _x471))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x1131), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1131))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x1572), _x1571))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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,
_x1181),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1181)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 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(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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,
_x1181),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1181)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is deleted.
Problem 25: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1662)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1661), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x1662), _x1661)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))), _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, _x861)))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x1581), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1581)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))), _x741) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x631))))))))))))))))))))))))))))))) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(plus, _x902), _x901)))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1662)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x1661),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus,
_x1662),
_x1661)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x1672), _x1671))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1662)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons,
_x1661),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus,
_x1662),
_x1661)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1672))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x1671), xs)) → app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x1672), _x1671))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x1671), xs)) → app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Problem 26: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) | | app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2181)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2182)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2181), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x2182), _x2181)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2021), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x1981), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1981)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x1861), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1861)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2031), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2031))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2141), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2141)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(plus, _x902), _x901)))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x2181)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 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(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x2181)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is deleted.
Problem 27: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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)))))))))))))))))))))))))))))))))))))))))))))))), _x971) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x971))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x972))))))))))))))))))))))))))))))))))))))))))))))))), _x971) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x972), _x971))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2582)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2581), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x2582), _x2581)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2141), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2141)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2461), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2461)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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)))))))))))))))))))))))))))))))))))))))))))))))),
_x971) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x971))))))))))))))))))))))))))))))))))))))))))))))) 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(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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)))))))))))))))))))))))))))))))))))))))))))))))),
_x971) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x971))))))))))))))))))))))))))))))))))))))))))))))) is deleted.
Problem 28: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1462)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1461) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x1462), _x1461)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1101) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1101)))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2141), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2141)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2461), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2461)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2582)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2581), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x2582), _x2581)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1462)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x1461) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus,
_x1462),
_x1461)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 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, _x1471))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x1472), _x1471))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1462)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x1461) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus,
_x1462),
_x1461)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1472))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1471) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x1472), _x1471))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1471) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1471))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Problem 29: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2012))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _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, app(s, app(app(plus, _x2012), _x2011))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1971) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1971))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1541) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1541)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1101) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1101)))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2461), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2461)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2141), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2141)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2582)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2581), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x2582), _x2581)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x2012))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_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, app(s, app(app(plus,
_x2012),
_x2011))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 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, _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(app(plus, _x2022), _x2021)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | |
Thus, the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x2012))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_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, app(s, app(app(plus,
_x2012),
_x2011))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is replaced by the following rules:
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2022)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _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(app(plus, _x2022), _x2021)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Problem 30: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2621), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2621)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2622)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x2621), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x2622), _x2621)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(plus, _x2432), _x2431))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2141), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2141)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2461), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2461)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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,
_x2621),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x2621)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 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(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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,
_x2621),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x2621)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is deleted.
Problem 31: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(sumwith, f), xs) | | app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(f, x) |
app#(app(sumwith, f), app(app(cons, x), xs)) | → | app#(app(plus, app(f, x)), app(app(sumwith, f), xs)) | | app#(app(sumwith, app(sumwith, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(plus, app(app(plus, app(_x31, _x33)), app(app(sumwith, _x31), _x32))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x3121), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x3121)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x3132))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), app(app(cons, _x3131), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x3132), _x3131))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2901), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2901)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2831), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2831))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2931), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2931))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2981), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2981)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2502)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2501) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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(plus, _x2502), _x2501)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2731), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2731))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x3081), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x3081)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2461), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2461)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2461) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2461)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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, _x2141), xs)) | → | app#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x2141)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(sumwith, f), nil) | → | nil | | app(app(sumwith, f), app(app(cons, x), xs)) | → | app(app(plus, app(f, x)), app(app(sumwith, f), xs)) |
Original Signature
Termination of terms over the following signature is verified: app, plus, 0, s, sumwith, nil, cons
Strategy
The right-hand side of the rule app
#(app(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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,
_x3121),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x3121)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 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(sumwith, app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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,
_x3121),
xs)) → app
#(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x3121)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is deleted.